Search/Navigation:
Related:
SLAC/EPP/HPS Public
Jefferson Lab/Hall B/HPS Run Wiki
S30XL-LESA/LDMX
The HPS physics reconstruction is implemented primarily by the HPS Java project. The EVIO events are first converted into in-memory lcsim events using an implementation of the LCSimEventBuilder interface such as the LCSimEngRunEventBuilder. These events are accessed using the EventHeader API. A list of org.lcsim Drivers performs the physics reconstruction by adding additional physics object collections to the event such as tracks and clusters. The driver list is provided by an lcsim xml steering file read in by the lcsim job manager, which parses the XML to create a list of driver objects. The combined data and recon collections are written to LCIO files. Finally, the output is converted to a ROOT DST Data Format for analysis in ROOT. The LCIO files can also be analyzed directly using tools within HPS Java.
This is the basic recipe for reconstructing HPS data:
Oftentimes, the physics reconstruction is performed in the same job (process) as the conversion from raw data to LCIO for efficiency, typically using the EvioToLcio command line utility.
The EvioToLcio utility converts EVIO to LCIO using an LCSimEventBuilder implementation such as LCSimEngRunEventBuilder. The generated LCIO events can then be optionally written to disk using an LCIODriver. The physics reconstruction may also be run in the same process.
SVT data banks are handled by an SvtEvioReader and converted into RawTrackerHit collections.
Various modes of EVIO TDC data from the ECal are converted using the EcalEvioReader.
The following collections are added to the event by the ECal reader.
This builder will also convert and write DAQ config information, EPICS control data, and scalar bank data into the output LCSim events, if these banks are present in the EVIO data.
These are the steps in the HPS Java track reconstruction:
The tracking packages in lcsim form the basis for HPS's tracking algorithms through usage and extension. Seed Tracker is used for track finding using a set of input tracking strategies. The track fit from lcsim is further refined using a Java implementation (port) of the GBL C++ algorithm.
Track-cluster matching associates ECal clusters with tracks, and vertex reconstruction is performed. The matching tracks and clusters are be associated together into a ReconstructedParticle collection.
The HPS Java Documentation can be used to browse the packages and classes used for physics reconstruction.
The following packages are related to physics reconstruction in HPS Java.
Java Package | Description | Notes | Module |
---|---|---|---|
org.hps.evio | converts EVIO raw data to LCIO | evio readers for converting EVIO raw data to LCIO events | evio |
org.hps.recon.ecal | ECal reconstruction utilities | primarily for converting from raw data to CalorimeterHits | ecal-recon |
org.hps.recon.ecal.cluster | ECal hit clustering framework | includes recon clustering and GTP/CTP hardware emulation clusterers | ecal-recon |
org.hps.recon.tracking | track reconstruction from SVT hits | based on Seed Tracker from lcsim | tracking |
org.hps.recon.tracking.gbl | GBLtrack refit | ported from C++ to Java; actual Java package now outside HPS Java | tracking |
org.hps.recon.particle | builds ReconstructedParticles from tracks and clusters | builds reconstructed particles from input event collections | recon |
org.hps.recon.vertexing | vertex reconstruction | based on Billoir vertexing algorithm | recon |
org.hps.recon.filtering | event skimming utilities | recon |
These lcsim packages are used extensively in the HPS Java reconstruction code.
Java Package | Description | Notes | Module |
---|---|---|---|
org.lcsim.event | physics event interfaces (implemented by LCIO) | interfaces used extensively in HPS Java Drivers | |
org.lcsim.util.loop | event processing loop | extends Freehep loop classes for lcsim usage | |
org.lcsim.job | lcsim job manager which reads lcsim xml steering files | ||
org.lcsim.lcio | Java implementation of LCIO file format | implements event interfaces | |
org.lcsim.recon.tracking.seedtracker | Seed Tracker track reconstruction algorithm | basis for HPS Java tracking | |
org.lcsim.util | Driver class for event data processing | ||
org.lcsim.conditions | detector conditions system backend | ||
org.lcsim.geometry, org.lcsim.detector | detector description and geometry classes | ||