Full Event Reconstruction in Java (“From 0 to analysis in 15 minutes”) Norman Graf (SLAC) for the LCD development team CHEP '04 Interlaken, Switzerland Sep. 30, 2004 International Linear Collider (ILC) Detectors designed to exploit the physics discovery potential of e+e- collisions at s~1TeV. Will perform precision measurements of complex final states. Require: Exceptional momentum resolution. Excellent vertexing capabilities. “Particle Flow” calorimetry. Hermeticity. Mission Statement Provide full simulation capabilities for ILC physics program: Need flexibility for: Physics simulations. Detector designs. Machine-Detector interface & backgrounds. New detector geometries/technologies. Innovative reconstruction algorithms. Limited resources demand efficient solutions, focused effort. Desire a common simulation environment used in ILC studies which allows sharing of detectors, algorithms, and code. The system should be flexible, powerful, yet simple to install, maintain and use. Metric of performance: Ease with which physicist having an idea can implement and test its effect! Most important tool of all! Why Java? Java is a pure Object Oriented Language. Simpler to learn and use than C++ : Language design emphasizes ease-of-use over performance. Garbage collector takes care of freeing unused objects. New language, no historical baggage. Very powerful standard library. – Large number of open-source libraries including libraries for scientific computing. Physicist gets to concentrate on writing clean OO code to perform analysis tasks. Platform independent, compile once just runs everywhere (Linux, Windows, Mac OSX, Solaris, …). Not understanding core dumps and learning difference between a pointer and a reference. Performance of Java code is close to that of C++. In real life maybe 20-30% overhead typical. Why Java? Several very powerful, free, IDE’s now available: e.g. Netbeans, Eclipse. Support editing, code completion, GUI building, debugging, performance profiling, refactoring, CVS, etc… Multiplatform. Mantra “I prefer EMACS” is becoming hard to justify! Why a full reconstruction now? ILC LEP Much higher luminosity, energy, precision. More complex events (not on a resonance). ILC LHC Detector R&D focused on orthogonal issues. e.g. rad hardness not an issue, tracker material is! Desired precision and resolutions require a new detector paradigm, intimately connected with the reconstruction: “Particle Flow”. Aim for very tight loop design simulate reconstruct analyze Particle Flow Motivation Measure momenta of charged tracks in the tracker with superb resolution. Measure photons in highly segmented EM calorimeter with reasonable resolution. Remaining neutral hadrons measured in hadron calorimeter. E jet Echarged Ephotons Eneut.had. 2 E2jet E2charged E2photons E2neut.had. confusion 2confusion is the hardest term, cannot be correctly simulated with fast 4-vector smearing. Needs detailed calorimeter shower simulation and reconstruction to understand. Imaging Calorimeter EMCal: dense, small Moliere radius highly segmented: laterally (~30-40 layers) longitudinally (~5x5 mm2) HadCal: emphasize segmentation & granularity over intrinsic resolution. Digital readout? ILC Detector Simulations 1. 2. Use simplified volumes to investigate larger number of designs, allowing dynamic topologies using single executable. Describe “optimal” detectors in great detail. TPC Tracker, Si Disks, CCD VTX All Si Tracker, CCD VTX Java Reconstruction/Analysis Overview Runs standalone or inside Java Analysis Studio (JAS3). Fast MC provides target (“best you can do”). Smeared tracks and calorimeter clusters, fiducial acceptance. Beam & Physics background overlays at hit level. Hit digitization allows detector readout schemes to be varied, provides more realistic hits (merged, ghost, pos ). Full Reconstruction: ab initio track finding and fitting. calorimeter clustering. Individual Particle reconstruction (cluster-track association). Java Neural Net available for training & use. Physics Tools (Vertex Finding, Jet Finding, Flavor Tagging). Analysis Tools (including LCD-specific WIRED event display). Event Reconstruction Flow Sequential Record Loop LCEvent Reconstructors implemented Bckgnd G4 Detector Simulation Input + SimTrackerHits, SimCalorimeterHits, MCParticles Events as Drivers with hooks, e.g.: add(Processor p) Detector Digitization/ Hit Finding processEvent(EventData evt) CCD Pixels, Si strips*, TPC waveform* Tracker hit clustering, uncertainty assignment beforeFirstEvent() afterLastEvent() Track Finding/Fitting Standalone 3D trackfinding (e.g. TPC, CCD) setDetector(Detector det) Track merging, fitting … Calorimeter Clustering “Nearest” Neighbor, MST*, Fuzzy* Drivers implement Processor Cluster Particle ID (e.g. , , h , h ) interface, so can be nested. Reconstructed Particle Track-Cluster association, Event contains some predefined collection hooks, Jet-Finding, Flavor Tagging evt.getCalorimeterHits() ZVTop vertexing, NN Flavor Tagging (b, c, uds)* Arbitrary objects can be added Reconstruction Output to/retrieved from Event LCIO (Tracks, Clusters, ReconstructedParticles…) AIDA (tuples, histograms) evt.put(“myStuff”, myStuff) ± 0 Detector Hit Digitization SimCalorimeter quantized into cells in Geant4. SimTrackerHit has full MC info: x, t, dE/dx… Study readout segmentation by ganging cells. Digitized at reco level: e.g. strip pitch, pixel size, charge sharing, electronic noise, … Provides more realistic simulation of effects of backgrounds, efficiencies and noise. Nearby hits merged, ghosts simulated. Hit-specific measurement uncertainties. Can add Random Hits (salt & pepper backgrounds). Efficiencies simulated by dropping hits, channels. CCD Digitization VXD hits from simulated events, finds charge deposited in each pixel, adds electronics noise and digitizes signal. Finds CCD clusters, splitting if necessary. Coordinates of found centers are used to replace TrackerHits in the events. Further event processing (track finding, fitting, and so on) proceeds the same way as it was before. Can set CCD parameters (like thickness, depleted layer depth, epitaxial layer thickness and so on), electronics parameters (noise, ADC conversion scale, pixel and cluster thresholds), processing parameters (like cluster center calculation method). Tiling Forward Disks Wedges Stereo Angle Hexagons Track Finding/Fitting Full pattern recognition in 3D detectors. Extrapolations of found tracks to 2D det’s. Tuned for Large and Silicon Detectors. Working on generalizing this.* Track Fitters: SLD Weight Matrix Fitter. Single Detector or Combined fit (e.g. VTX+TPC). Kalman Fitter* MIP Tracking in Cal (’s, track starting). Calorimeter Clustering Cluster Interface defined, several clustering algorithms currently implemented. MC “Cheater”, “Nearest” Neighbor, Fixed-cone, … Cluster QA package developed. Cluster Refinements: Combining HAD + EM clusters. Endcap + Barrel overlap region. Identify cluster as originating from charged or neutral hadron, EM. Reconstructed Particle/ Jet Finding Particle Flow algorithms being developed with minimal coupling to specific detector designs. Photon and muon reconstruction fairly mature. Emphasis on track-following for charged hadrons. MIP reconstruction quite promising. Canonical data samples identified and will be used to characterize detector response. Systematic investigation of jet-jet mass as a function of BnRmaplq (B-field, Cal radius, Cal cell area, Cal longitudinal segmentation), material and readout technology employing a Particle Flow paradigm being undertaken. JAS3 IDE Java, Python, Pnuts editor Dataset, Program, AIDA Explorer Event Scripting Console Browser Histogram & ntuple analysis, fitting Tutorial: http://jas.freehep.org/jas3/Tutorial/index.html WIRED Event Display Tree controls visibility. (HepRep2 support in WIRED3 is preliminary) Picking supports viewing physics attributes Next Generation (org.lcsim) Goals Retain core functionality from hep.lcd package. Full suite of reconstruction and analysis tools available to all LCIO users. Update to use LCIO for I/O and as basis for simulation, raw data and reconstruction event formats. Update/simplify framework using experience from hep.lcd. Internationalization: Update to Java 1.5. Try to make package independent of detector & geometry assumptions so can work with any detector. Read properties of detectors at runtime. Many improvements since hep.lcd framework was created. Revitalize work on reconstruction algorithms. Conclusions ILC Detector design is an area of active development with many design choices, requiring close coupling of design, simulation, and reconstruction. Ease of use and speed of development are essential for physicists conducting ILC studies part-time & in a heterogeneous environment. A fairly complete suite of simulation tools written in Java exists and is being successfully used for these studies. Links linearcollider.org ILC Simulations: http://lcsim.org hep.lcd: http://www-sldnt.slac.stanford.edu/jas/Documentation/lcd/ Tutorials: http://jas.freehep.org/jas3/Tutorial/index.html http://www-sldnt.slac.stanford.edu/snowmass/Welcome.html JAS3: http://jas.freehep.org/jas3 WIRED: http://wired.freehep.org/ HepRep: http://heprep.freehep.org/ LCIO: http://lcio.desy.de Discussion Forums: http://forum.linearcollider.org (linear collider specific) http://forum.freehep.org/ (general JAS, Wired etc) Related Talks 248 - LCIO - A persistency framework and data model for the linear collider, Frank Gaede 395 - WIRED 4 - A generic Event Display plugin for JAS 3, Mark Dönszelmann 397 - AIDA, JAIDA and AIDAJNI: Data Analysis using interfaces, Victor Serbo 401 - Interactive Data Analysis on the Grid using Globus 3 and JAS3, Tony Johnson 402 - Writing Extension Modules (Plug-ins) for JAS3, Mark Dönszelmann