ilc detector simulations: overview of the us framework
TRANSCRIPT
1
Tony Johnson -- SLAC(stolen from Jeremy McCormick)
April 4 2006
ILC Detector Simulations: Overview of the US Framework
LDC: ttbar SiD May05: 100 muons SiD Aug05: ttbar CDC Aug05: ttbar 6 jets
Calorimeter Testbeam GLD: ZHiggs; MH=120 GeVSiD Aug05: ttbar 6 jetsGLD: ttbar
2Contents
• Goals• Geometry Description• SLIC – Simulation Package• org.lcsim – Reconstruction Package• Tools – JAS, WIRED, Grid• Recent Developments
• PFA, Tracking, WIRED enhancements
3Overview: Goals
• Facilitate contribution from physicists in different locations with various amounts of time available
• Use standard data formats, when possible.• Provide a general-purpose framework for
physics software development.• Develop a suite of reconstruction and
analysis algorithms and sample codes.• Simulate benchmark physics processes on
different full detector designs.
4Overview: Key Features
• Cross-platform compatibility• Java reconstruction software is write/run anywhere.
• Maven for easy builds • Encourage use of full IDE’s for development
• Netbeans, Eclipse
• The simulation software runs on OSX, Linux and Windows• GNU Autoconf/Make build system
• Supports ILC software standards• AIDA, LCIO, StdHep, HepRep
• Easy to model different detector designs• Geometry, materials, readout, and IDs easily customized.• Write hooks to Java classes for detector components• Convert to several different output geometry formats
5Overview: Framework Diagram
StdHepEvents
FullSimulator
reads LCDD XML
reads
LCIO Events
writes
GeomConverter
writes
CompactXML
reads
org.lcsimusesreads
writes
JAS3
loads
loads
WIRED4
AIDAimplements
HepRepXML
writesreads
Conditions
reads
SoftwarePackage
Data Format User AnalysisDrivers
loads
6Detectors: Geometry Converter
• Convert from compact to• LCDD for simulator (SLIC)• HepRep for event display (WIRED4)• GODL for fast MC (Lelaps)• Java Objects for reconstruction (org.lcsim)
Compact Detector
Description
GeometryConverter
LCDD
HepRep
GODL
JavaObjects
SLIC
WIRED4
Lelaps
org.lcsim
7Detectors: Zip Files
sid00• Detector conditions bundled into downloadable Zip file• Can also point org.lcsim to custom and development versions• Canonical detectors location
• http://www.lcsim.org/detectors
• sid00 examples • Zip file
• http://www.lcsim.org/detectors/sid00.zip
• LCDD• http://www.lcsim.org/detectors/sid00/sid00.lcdd
• Compact• http://www.lcsim.org/detectors/sid00/compact.xml
|-- ClusterParameters.properties|-- IDEfficiency.properties|-- IndividualParticleReconstruction.properties|-- LongitudinalHMatrix.hmx|-- SamplingFractions| |-- EMBarrel.properties| |-- EMEndcap.properties| |-- ForwardEMEndcap.properties| |-- ForwardLuminosityMonitor.properties| |-- HADBarrel.properties| |-- HADEndcap.properties| |-- LumEndcap.properties| |-- MuonBarrel.properties| `-- MuonEndcap.properties|-- SimpleTrack.properties|-- TrackParameters| |-- FullBarrelResolutionBc.ini| |-- FullBarrelResolutionNbc.ini| `-- sid00_lcdtrk.input|-- TrackParameters.properties|-- compact.xml|-- detector.properties|-- digisim| `-- digisim.steer|-- sid00.lcdd`-- sid00.zip
8Simulation: SLIC
StdHepPhysics Events
LCDDXML
Geometry
SLICGeant4
Simulator
LCIO Output File
Compact XML
Geometry
Simulator for the Linear Collider (SLIC)Linear Collider Detector Description (LCDD)Geometry Description Markup Language (GDML)Linear Collider IO (LCIO)
Reconstruction&
Visualization
translated to
writes reads / writes
readsreads
reads
9Simulation: SLIC Commands
• All command-line options have equivalent Geant4 command• Sample command
slic -g geometry.lcdd -i events.stdhep -x -O -l LCPhys -r 1000
• Equivalent macro
/lcdd/url geometry.lcdd/run/initialize/physics/select LCPhys/generator/filename events.stdhep/lcio/fileExists delete/lcio/autoname/run/beamOn 1000
10Simulation: Detector Description
GDMLLCDD
Expressions (CLHEP)MaterialsSolidsVolumes
IdentifiersSensitive DetectorsRegionsPhysics LimitsVisualizationMagnetic Fields
12Reconstruction and Analysis Software
• org.lcsim• Reconstruction and analysis package
• GeomConverter• Geometry system
• FreeHep• Physics and graphics utilities
• JAS3• Studio application for analysis and development
• WIRED4• Event display
• LCIO• Object model and persistency
• AIDA• Plotting API and data format
13LCIO
• Object model and persistency • Events
• Monte Carlo• Raw • Event and run metadata
• Reconstruction• Parameters, relations, attributes, arrays, generic objects, …
• All the ILC simulators write LCIO• Enables cross-checks between data from different simulators• Read/write LCIO from
• Fast MC / Full Simulation• Different detectors• Different reconstruction tools
14LCIO: Data Samples
• LCIO data samples available via anonymous FTP• http://www.lcsim.org/datasets/ftp.html
• Data sets• ILC500
• 500 GeV machine parameters • ILC1000
• 1 TeV machine parameters • singleParticle
• Single particle diagnostic events • Zpole
• Zpole diagnostic events Organization
15org.lcsim: Goals
• Retain core functionality from hep.lcd package• Full suite of reconstruction and analysis tools
• Update to use latest LCIO for IO and as basis for simulation, raw data and reconstruction event formats• Insulate users from raw LCIO structures• Update and simplify framework using experience from hep.lcd
• Provide good tutorial documentation• Detector Independence
•Update to Java 1.5• Simple, easy to learn, efficient, OO language• Many improvements since hep.lcd framework was created
• Ability to run standalone (command line or batch) or in JAS3
16Reconstruction/Analysis Overview
• Java based reconstruction and analysis package• Runs standalone or inside Java Analysis Studio (JAS)• Detector Geometry Independent
• Read properties of detectors at runtime• Encourage algorithm developers to avoid detector and geometry
assumptions• Fast MC → Smeared tracks and calorimeter clusters• Full Event Reconstruction
• detector readout digitization (CCD pixels & Si µ-strips)• ab initio track finding and fitting for ~arbitrary geometries• multiple calorimeter clustering algorithms• Individual Particle reconstruction (cluster-track association)
• Analysis Tools (including WIRED event display)• Physics Tools (Vertex Finding, Jet Finding, Flavor Tagging)• Beam background overlays at detector hit level• Derived from earlier hep.lcd package
• Updated to use Java 1.5, LCIO• More detailed reconstruction algorithms
17org.lcsim: Status• Physics Utilities
• Stdhep Reader• 3, 4-vector utilities• diagnostic generator• Jet finder, event shape utilities
• Conditions framework• Ability to read detector constants from zip file• To define new detector just create new zip file and place on web• File is read and cached locally• Ability to read compact geometry file
• Driver framework• All reconstruction algorithms and user analysis written as Drivers• Read/Write access to event• Drivers can be chained and nested
• FastMC• parameterized track and cluster smearing• Smearing constants read from conditions system• Produces ReconstructedParticles
• Digitization• Digisim–Calorimeter digitization• Tracker, Vertex digitization
• Clustering• Cheater• Cone• Nearest Neighbor• Minimal Spanning Tree
• Tracking• SLDWeightMatrix, Kalman Filter, TRF• Track Cheater
• Vertex Fitting• ZVTop4
• Analysis Examples• Cluster Diagnostics• SLICDiagnostics• Particle Flow Analysis• ClusterID• ParticleID
18Reconstruction and Analysis
• Org.lcsim contains a “contrib” area• Encourage users to place ongoing work in this
area, even if still “in progress”• Last six months have seen greatly increased use of
this area• ClusterAnalysis utilities• “SODTracker”• “Garfield Track Finder” (K0 decays)• “PFA Template”• …
19Related Talks
• PFA, PFA “Template”, DigiSim• Steve Magill, Mat Charles, Norm Graf
• Tracking• Norm Graf
• Demo/Tutorials on Wednesday
22Recent Developments: WIRED
New Cuts Tab
New Cuts Tab
Cuts can be defined
interactively and persist
across events and sessions
23Interoperability: Event Display
SiD LDCGLD
Z Higgs (MH=120 GeV) same simulator, three different full detector geometries
25Getting Started
• Anyone is welcome to use/contribute to this framework
• Easiest way to start• http://lcsim.org• Follow “Getting
Started Link”• After installing JAS
use the “Help, Examples”
26Documentation
• IlC Wiki (confluence) used for supplementary docs
• HTML-like syntax
• Export to PDF
• Need account to contribute (email Tony Johnson)
• Doxygen for C++ documentation
• SLIC, LCDD
• JavaDoc for Java documentation
• org.lcsim, GeomConverter
• Generated automatically along with website by Maven
27Links
• Wiki - http://confluence.slac.stanford.edu/display/ilc/Home
• lcsim.org - http://www.lcsim.org
• org.lcsim - http://www.lcsim.org/software/lcsim
• Software Index - http://www.lcsim.org/software
• Detectors - http://www.lcsim.org/detectors
• ILC Forum - http://forum.linearcollider.org
• LCIO - http://lcio.desy.de
• SLIC - http://www.lcsim.org/software/slic
• LCDD - http://www.lcsim.org/software/lcdd
• JAS3 - http://jas.freehep.org/jas3
• AIDA - http://aida.freehep.org
• WIRED - http://wired.freehep.org
29Overview: Key Features (cont’d)
• Flexibility• Reconstruction and analysis
• JAS3 analysis environment• Load/unload Java classes interactively
• Java libraries automatically downloaded• FreeHep codebase
• AIDA, Wired, HepRep, ROOT, StdHep, …• Simulation
• XML detector input No user C++ code required.• Drive from command-line or macros (1-to-1)• Geant4 MC toolkit
• Multiple physics list selection
30Detectors: Compact Detector Description
• Shorthand format for detector description
• SiD 00 600 lines of XML
• Describes
• Detector metadata
• Materials
• Readouts and identifiers
• Detector components
• Dimensions
• Layering
• Magnetic field
31Detectors: Compact XML Example
Two layer stacks in an ECAL barrel<detector id="2" name="EMBarrel" type="CylindricalBarrelCalorimeter" readout="EcalBarrHits">
<dimensions inner_r = "150.1*cm" outer_z = "208.0*cm" /><layer repeat="20"><slice material = "Tungsten" thickness = "0.25*cm" /><slice material = "G10" thickness = "0.068*cm" /><slice material = "Silicon" thickness = "0.032*cm" sensitive = "yes" /><slice material = "Air" thickness = "0.025*cm" />
</layer><layer repeat="10"><slice material = "Tungsten" thickness = "0.50*cm" /><slice material = "G10" thickness = "0.068*cm" /><slice material = "Silicon" thickness = "0.032*cm" sensitive = "yes" /><slice material = "Air" thickness = "0.025*cm" />
</layer></detector>
32Detectors: Repository
• Detector descriptions stored in CVS Project LCDetectors
• Easy to add new detectors based on existing ones
• All models in CVS periodically replicated to WWW locations
• Models
• cdcaug05, cdcaug05_ecal150, cdcaug05_np, cdcaug05_rpchcal, gldaug05, hd3_1-oct05, ld3_1-oct05, ldcaug05, sdfeb05, sdjan03, sid00, sidaug05, sidaug05_20mr, sidaug05_4tesla, sidaug05_gemhcal, sidaug05_np, sidaug05_polyhedra, sidaug05_scinthcal, sidaug05_tcmt, sidmay05, sidmay05_20mr, sidmay05_2mr, sidmay05_np, sidmay05_scinthcal
33Detectors: Geometry Displays
cdcaug05_ecal150
hd3_1-oct-05 ld3_1-oct-05 gldaug05
sid00sidaug05_polyhedra
Geant4-generated HepReps drawn by WIRED4.
34Simulation: LCDD Data Binding
Area Root Element Geant4 Class(es)Sensitive Detectors <sensitive_detectors> G4VSensitiveDetectorIdentifiers <iddict> NA (custom classes)Regions <regions> G4Region,
G4VUserRegionInformationPhysics Limits <limits> G4UserLimitsVisualization <display> G4VisAttributesMagnetic Fields <fields> G4MagneticFieldConstants <define> NA (CLHEP expressions)Materials <materials> G4Material, G4ElementShapes <solids> G4VSolidVolumes <structure> G4LogicalVolume,
G4VPhysicalVolume
35Event Display: WIRED and HepRep
• HepRep file format
• Generic format for event display
• GeomConverter streams HepRep data to WIRED.
• Also written out by Geant4
• WIRED4
• Layers for detector, hits, MCParticles, etc.
• Rotation, zoom, panning, picking
• Interactive activation/deactivation of objects in display
• Writes to PNG, JPG, WMF, HepRep, etc.
36AIDA and Plotting
• JAS3• Interactive plotting• Supported plot types
• Histograms, clouds, profiles (1D + 2D)• AIDA API supports 3D plot creation
• Open Scientist, PAIDA can plot these.• N-tuples still not very functional, but doesn’t seem to be too limiting to analysis. (?)
• Need binary format HDF5 ?• Implementations
• JAIDA/JAS3, Anaphe, OpenScientist, PAIDA (others?)
37Event Generation
• Still a messy area not much integration• Generation usually based on custom compiled code using a particular FORTRAN or C++ library• Different HEPEVT interpretation depending on generators• Some generators more “friendly” than others
• Physics generators• Pythia, Pandora-Pythia• ISAJET• WHIZARD
• Single Particles• Geant4 GPS• Java Diagnostic Event Generator
• Thoughts• Would be very useful to have a wrapper similar to ATLAS EvtGen
• Python probably most promosing for this (or Java)• Usually best to rely on existing (debugged/checked) StdHep files
38Reconstruction: Software Development
• Required tools• Java 1.5• Maven
• Recommended tools• Netbeans• Tortoise CVS (Windows)
• CVS account• Contact [email protected]
• SLAC CVS projects• lcsim, GeomConverter, LCDetectors, SlicDiagnostics, freehep, etc.
• org.lcsim contrib area• WIP, personal, or non-compiling codes
39Example Project: DigiSim
• Goal: a program to parametrically simulate the signal propagation and digitization processes for the ILC detector simulation• Author: Guilherme Lima
40Example Project: SlicDiagnostics
• Diagnostic plots of event data
• MCParticles, hits, clusters
• Run on different detectors
• Easy to use and setup
• Maven project
• SLAC CVS project
• SlicDiagnostics
• Author: Jeremy McCormick
41Example Project: Recon Cheater
• Makes reconstruction objects from event data• Tracks• Clusters, refined clusters• Reconstructed particles
• Benchmark• Detector designs • Compare reconstruction algorithms
• Drivers • ClusterCheater• TrackingCheater
• Customizable using CheatingTable conditions• Author: Mike Ronan
42Interoperability: Analysis
• Same analysis can be run on LCIO files from different simulators• Compare performance of detectors
• e.g. - plot overlays • Cross checks
• Physics • Geometries• LCIO output
• Generate LCIO reconstruction objects from different simulator data• Plot data interchange using .aida files• JAS3 can also read/write ROOT and PAW files using Freehep libs.• Some problems with decoding IDs from non-lcsim detectors
• Working on this! • Probably should add more Id’ing metadata to LCIO format
43JAS3
• Physics analysis environment• Additional functionality with plugins
• Iterative, event-based analysis model• quick development, debugging, ad hoc analysis
• Dynamically load / unload Java analysis drivers • From JAR files in the classpath• Written and compiled by user
• Plotting engine• 1D, 2D histograms, clouds, profiles • Output to PNG, JPG, WMF, PS, etc.
• Integrated event display
44Event Display: Screenshot
JAS3: Event LoopWIRED: Clusters WIRED: ZX View
org.lcsim: LCSim Event Browser
WIRED: LCIO Objects
WIRED: Beam View
45Reconstruction: Tracking
• Most US reconstruction algorithms still using cheater or MC based tracking• Cheaters
• MC Fast• Mike Ronan’s cheater reco package • Or just use MCParticles
• Lots of good tools available in org.lcsim for real tracking algo• Norman Graf’s track fitting and finding • Garfield for TPC• Nick Sinev’s CCD reconstruction• Probably a lot of stuff not in org.lcsim CVS, yet (?)• Just need to put together into reconstruction algorithms
46Reconstruction: Vertexing
• Jan Strube ported ZvTop.• Billoir (added recently)• Display using WIRED• Still not integrated into reconstruction
47Reconstruction: Clustering Algorithms
• Clusterers• Nearest Neighbor• Fixed Cone• Directed Tree• Min Spanning Tree• MIP• Cheater• contrib/other
• Pick the appropriate clusterer for your analysis• Run in parallel to compare results• Utilities and diagnostic plots, also• Developed by N. Graf, R. Cassell, W. Mader, et al
48Reconstruction: Cluster Display
Nearest Neighbor Clustersmin cells = 5Calorimeter Hits
Clusters are displayed automatically by org.lcsim.
49Reconstruction: Complete Algorithms
• Lots of people working on full PFA or portions
• Steve Magill, Norman Graf, Guilherme Lima, Ron Cassell, Matt Charles, Steve Kuhlman, Lei Xia, …
• See talk by Steve Magill
• Calorimetry part seems to have working PFA algorithms.
• Real tracking algorithms are not included (yet).
• Many utilities and tools exist.
• Vertex and track fitting, clustering, jet finding
• Need to work on integration