Title: org.lcsim ILC Reconstruction and Analysis
1org.lcsim ILC Reconstruction and Analysis
- Tony Johnson
- SLAC
- March 2005
2org.lcsim ILC Reconstruction and Analysis
- Earlier Packages
- hep.lcd Reconstruction and Analysis
- LCIOPlugin
- Goals of org.lcsim
- Components
- Conditions Handling
- Geometry Access
- Event Access
- Reconstruction
- Analysis Tools
- JAS Plugin
- Accessing Code
- Status and Plans
3hep.lcd Overview
- Java based analysis reconstruction and analysis
package - In use for 5 years
- Runs standalone or inside JAS
- Full Reconstruction (trackingcalorimetry)
- Analysis Tools (including WIRED event display)
- Fast MC
- Smeared tracks and calorimetry clusters
- Physics Tools (Vertex Finding, Jet Finding)
- Beam Background Overlays
- Contributed Area
- Analysis Utilities and sample analyses provided
by users
4 hep.lcd Physics Utilities
- Physics Utilities
- 4-vector, 3-vector classes
- Event shape/Thrust finder
- Jet Finders
- Many kT algorithms implemented (e.g. Jade and
Durham ) - Extensible to allow implementation of other
algorithms - Topological Vertexing
- Implementation of SLDs ZVTOP
- Event Generators Framework
- Diagnostic Generator
- User-defined particle mix, momenta and vertices.
- Framework for reading stdhep files
- Generator interface for direct connection to
(fortran) event generators - PYTHIA, HERWIG, ISAJET,
- Beam background overlay
5Full Reconstruction
- Tracking
- Hit Smearing/Efficiency (detector simulation puts
out perfect hits) - Random Background overlay
- Track Finding
- Full pattern recognition in the Central Barrel
region - Tuned for Large and Silicon Detectors
- Track Fitters
- SLD Weight Matrix Fitter
- Can do Single Detector or Combined fit (e.g.
VTXTPC) - Calorimetry
- Cluster Finding
- Several Clustering Algorithms Currently
Implemented - Cluster QA package developed
- Cluster Refinements
- Combine HAD EM clusters
- Endcap Barrel overlap region
- Identify cluster as originating from
charged/neutral hadron, EM
6Recent improvements to hep.lcd
- Ported to work with JAS3 (T. Johnson)
- New digitization routines being added (N.Sinev)
- Cluster identification code (G. Bower)
- Cluster diagnostic package (R. Cassell)
- Improved Stepper (C. Milstene)
- Forward Tracking (N. Graf)
- Flavour Tagging (D. Jackson)
- Particle ID (B. Wilson, S. Rolnick)
- Support for Non-Projective geometries (G. Lima)
- Garfield track-finder (E. von Toerne et al)
7hep.lcd analysis tools
- Tutorial http//jas.freehep.org/jas3/Tutorial/ind
ex.html
8hep.lcd package pros-and-cons
- Features
- Can run standalone or inside JAS
- Runs on almost any platform
- No dependencies on pre-installed software or
network connections. Can install and run in
minutes from Snowmass 2001 CD - Problems
- IO based on old LCD SIO format
- No way to write output from reconstruction
- Dependent on old geometry description
(detector.ini) limited to cylindrical dectectors
9LCIO plugin for JAS3
- Works with any LCIO file
- Diagnostic tools allow to step through and view
events
10LCIO plugin for JAS3
11Using WIRED with LCIOPlugin
- LCIO files can (but dont necessarily) contain
positions of all hits, but no detector geometry
info except detector name
- LCIOPluginWIRED can view hits for any file, but
these are hard to visualize without detector - LCIOPlugin can read external HepRep2 file
describing detector geometry - Location currently needs to be specified
- HepRep file (xml) can be generated
- by hand (quite easy for simple geometry)
- by Geant4 using HepRep2 writer (perhaps with some
filtering to remove excess details) - By program using Java or C HepRep API
12LCIOPlugin with WIRED4
13LCIOPlugin with WIRED4
14LCIO Plugins pros-and-cons
- Features
- Not dependent on any detector specific
assumptions - Simple environment for debugging problems with
LCIO and writing simple analysis routines - Detector independent event display
- Problems
- No connection to reconstruction or analysis tools
- Detector geometry must be specified by hand
- Existing LCIO API does not emphasize
user-friendliness
15org.lcsim Reconstruction and Analysis package
16org.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 IO and as basis for
simulation, raw data and reconstruction event
formats - Isolate users from raw LCIO structures
- Update/simplify framework using experience from
hep.lcd - Provide good tutorial documentation
- Internationalization
- Try to make package independent of detector,
geometry assumptions so can work with any
detector - Read properties of detectors at runtime
- Update to Java 1.5
- Many improvements since hep.lcd framework was
created. - Ability to run standalone or in JAS3
17org.lcsim Conditions Database
- Goal Using detector name in LCIO file
- Provide access to a extensible set of conditions
including - Detector Geometry
- Algorithm Specific Constants
- E.g. FastMC smearing parameters
- Dont make assumptions about format of data
- Dont rely on internet access, or local database
installation - Make it easy for users to define new detectors
18org.lcsim Conditions DatabaseImplementation
- Detector Constants stored in .zip file
- Typically contains
- Compact geometry file
- Set of (ascii) constants for standard algorithms
- Could additionally contain
- Arbitrary files (xml, ascii, binary) needed by
other algorithms - Other geometry formats (HepRep, LCDD)
- Links to database (e.g. for access to LCCD).
- To define a new detector just create a new .zip
file.
19org.lcsim Conditions DatabaseImplementation
- org.lcsim locates file based on detector name by
- Looking in alias.properties file in
- Users home directory
- Built-in to org.lcsim software
- On www.lcsim.org website
- If translated name is a URL (file, ftp, http)
- Read .zip file at specified location
- Search for .zip file in
- /.lcsim/detectors
- Built-in to org.lcsim software
- In http//www.lcsim.org/detectors
- Downloaded files are cached locally for future
use
20org.lcsim Conditions DatabaseAccessing constants
- Constants are accessed by name (actually path in
zip file)
- Later on if constants change, listener will be
called
21Geometry Access
- Geometry Access is build on top of conditions
database - Framework reads and decodes compact geometry
description. - User can iterate over detectors or access
detector by name or id - Provides access to detector properties ( layers
etc). - Shape of detector
- Framework builds IDDecoder objects for each hit
collection. - ID decoder unpacks IDs in LCIO files
- Provides access hit position, detector layer etc.
- Can provide additional utilities, for instance
list of neighboring cells in calorimeter
22org.lcsim Drivers, Event Access
- Reconstruction and Analysis Code is written by
extending Driver class. - Most code extends only a single method
- process(EventHeader event)
- which passes in EventHeader through which all
event data, conditions, and geometry is accessed. - EventHeader maintains features which users liked
from old hep.lcd framework, but adds
compatibility with LCIO events - All LCIO data is accessible.
- Arbitrary user data, either collections or single
objects can be added to event. - Event can be written out
- Currently only objects understood by LCIO are
written out - MCParticles, Hits, Clusters, Tracks,
Reconstructed Particles (can include Jets,
Vertices) - Maybe be able to use LCIO GenericObjects to
write out more in future.
23Reconstruction Clustering
- Several Clustering Algorithms now included
- Cluster Cheater
- uses MC information
- Nearest Neighbor Clusterer
- Cone Clusterer
- Algorithms can be run in parallel for comparison
24org.lcsim IO
- Can read LCIO files, stdhep files (for FastMC)
- Can write LCIO files
25org.lcsim JAS Plugin
- The org.lcsim can be used standalone, or inside
JAS3. Same code can be used in both places, so
easy to move back and forth - E.g. develop in IDE and run in JAS3
- E.g. develop in JAS3 and run in batch
- JAS3 plugin adds
- Example Analysis Code
- Event browser (similar to LCIOPlugin)
- Easy viewing of AIDA plots
- WIRED event display integration
26org.lcsim Examples
27org.lcsim Examples
28org.lcsim Plot Viewing
29Org.lcsim WIRED event display
30org.lcsim Status
- Physics Utilities - done
- stdhep reader
- 3, 4-vector utilities
- diagnostic generator
- Jet finder, event shape utilities
- Conditions framework done
- 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 done
- Fast MC done
- IO Framework done
- Event Access working, still being improved
- Event Display interface mostly done
- Reconstruction
- Clustering done
- Tracking TRF - in progress, very nearly done
- Vertex finding needs port from hep.lcd
31Accessing Code
- To use you can just download JAS3, and then use
the JAS3 Plugin Manager to install the org.lcsim
Plugin - http//confluence.slac.stanford.edu/display/ilc/In
stallingJAS3 - To add new software to the framework check out
the software from CVS and build using maven - http//confluence.slac.stanford.edu/display/ilc/Bu
ildingorg.lcsimsoftware
32org.lcsim To Do List
- Improve Documentation/Tutorials
- Continue to (work with others to) migrate
reconstruction algorithms from hep.lcd - Strongly encourage people to work in CVS
- If we make changes to event access etc. we can
update all code in CVS using refactoring tools - Remove divergences from LCIO standard
- 100 compatible with LCIO file format, philosophy
- Attempts to make event access easier should be
merged back into LCIO standard interfaces? - LCIOPlugin and org.lcsim plugin should be merged
- Test ability to interoperate with other software,
e.g. slic, marlin, mokka, jupiter, brahms,
lelaps, etc. - Produce new CD, hopefully well before Snowmass
meeting. - Online weekly clinic using VRVS/ES net?