Search/Navigation:
Related:
SLAC/EPP/HPS Public
Jefferson Lab/Hall B/HPS Run Wiki
S30XL-LESA/LDMX
...
The EVIO Data Format is converted into LCIO by an LCSimEventBuilder such as LCSimEngRunEventBuilder. The EvioToLcio command line tool reads EvioEvents with an EvioReader and then uses an event builder to create LCIO events representing the raw data. The driver chain is then run to perform the physics reconstruction which will add additional object collections to the event. The combined events with the data and recon collections are written out to an LCIO file. The LCIO output can be converted to ROOT DST Data Format for ROOT compatibility, or it may be loaded back into HPS Java for analysis.
...
The production recon reconstruction Driver chain is defined in production steering files such as EngineeringRun2015FullRecon.lcsim are , which are kept in this SVN folder and typically accessed as a class resource from a jar file by the job manager.
Depending on the tool being used, steering files may also be accessed as XML files on disk.
SVT data banks are handled by an SvtEvioReader and converted into RawTrackerHit and GenericObject collections.
Various modes of EVIO ECal data are converted using the EcalEvioReader.
The following collections are added to the event by the ECal reader.
The default builder will also convert and write DAQ config information, EPICS data, and scaler 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.
These are the basic steps of the ECal reconstruction:
The copied collection will be updated with corrected energies in the next step which creates recon particles.
The ReconParticleDriver creates ReconstructedParticle objects representing the final state particles from the event reconstruction. These are tracks with matching clusters (when applicable). It also performs vertex reconstruction and creates a number of candidate particle collections.
.
Driver Name | Driver Class | Description |
---|---|---|
RfFitter | RfFitterDriver | converts accelerator's RF wave form to time and inserts into event |
EcalRunningPedestal | calculates per channel running averages for ECal signal pedestals | |
EcalRawConverter | EcalRawConverterDriver | converts ECal digits to CalorimeterHit collection with energy and time measurements |
ReconClusterer | ReconClusterDriver | performs calorimeter clustering algorithm on ECal hits |
CopyCollection | CopyClusterCollectionDriver | copies calorimeter clusters to new collection to preserve uncorrected energy measurements |
RawTrackerHitSensorSetup | RawTrackerHitSensorSetup | assigns RawTrackerHits to their sensors for use by track recon |
RawTrackerHitFitterDriver | RawTrackerHitFitterDriver | fits ADC vs time signal to produce fitted hits collection |
TrackerHitDriver | DataTrackerHitDriver | creates stereo pairs from from SVT strip hits |
HelicalTrackHitDriver | HelicalTrackHitDriver | creates 3D hits from clusters of stereo pairs |
TrackReconSeed345Conf2Extd16 | TrackerReconDriver | runs track finding using layers 3, 4 & 5 as a seed, layer 2 to confirm, and layers 1 and 6 to extend |
TrackReconSeed456Conf3Extd21 | TrackerReconDriver | runs track finding using layers 4, 5 & 6 as a seed, layer 3 to confirm, and layers 2 and 1 to extend |
TrackReconSeed123Conf4Extd56 | TrackerReconDriver | runs track finding using layers 1, 2 & 3 as a seed, layer 4 to confirm, and layers 5 and 6 to extend |
TrackReconSeed123Conf5Extd46 | TrackerReconDriver | runs track finding using layers 1, 2 & 3 as a seed, layer 5 to confirm, and layers 4 and 6 to extend |
MergeTrackCollections | MergeTrackCollections | merge collections from track finding into single output collection |
GBLRefitterDriver | GBLRefitterDriver | performs GBL track refit |
TrackDataDriver | ||
ReconParticleDriver | ||
LCIOWriter | ||
CleanupDriver |
...
Collection Name | Java Object Type | Created By | Description |
---|---|---|---|
EcalReadoutHits | RawCalorimeterHit | evio.ECalEvioReader (data) | ECal Hits in ADC counts |
EcalCalHits | CalorimeterHit | recon.ecal.EcalRawConverterDriver | calibrated ECal Hits |
EcalClusters | Cluster | recon.ecal.EcalClusterICBasic | ECal Clusters |
SVTRawTrackerHits | RawTrackerHit | evio.ECalEvioReader (data) | Si sensor single strip hit information |
SVTShapeFitParameters | GenericObject | recon.tracking.RawTrackerHitFitterDriver | result of the ADC vs sample # fit |
SVTFittedRawTrackerHits | LCRelation | recon.tracking.RawTrackerHitFitterDriver | relation between SVTRawTrackerHits and SVTShapeFitParameters |
StripClusterer_SiTrackerHitStrip1D | TrackerHit | recon.tracking.DataTrackerHitDriver | 1D Si strip clusters |
HelicalTrackHits | TrackerHit | recon.tracking.HelicalTrackHitDriver | 3D SVT hits combining StripClusterer_SiTrackerHitStrip1D hits in axial/stereo layers |
HelicalTrackHitRelations | LCRelation | recon.tracking.HelicalTrackHitDriver | relation between HelicalTrackHits and StripClusterer_SiTrackerHitStrip1D |
HelicalTrackHitMCRelations | LCRelation | recon.tracking.HelicalTrackHitDriver | relation between HelicalTrackHits and MCParticles |
RotatedHelicalTrackHits | TrackerHit | recon.tracking.HelicalTrackHitDriver | same as HelicalTrackHits but rotated into SeedTracker tracking frame (x->y,y->z,z->x) |
RotatedHelicalTrackHitRelations | LCRelation | recon.tracking.HelicalTrackHitDriver | .... but rotated into SeedTracker tracking frame (x->y,y->z,z->x) |
RotatedHelicalTrackHitMCRelations | LCRelation | recon.tracking.HelicalTrackHitDriver | .... but rotated into SeedTracker tracking frame (x->y,y->z,z->x) |
MatchedTracks | Track | recon.tracking.TrackerReconDriver | tracks found in the SVT with (d0, phi, omega, tanlambda, z0) parameters |
FinalStateParticles | ReconstructedParticle | recon.particle.HpsReconParticleDriver | the list of final state particles (electrons, positrons, photons) with 4-momenta. |
UnconstrainedV0Candidates | ReconstructedParticle | recon.particle.HpsReconParticleDriver | electron-positron pairs with vertex (unconstrained) |
BeamspotConstrainedV0Candidates | ReconstructedParticle | recon.particle.HpsReconParticleDriver | electron-positron pairs with vertex/momentum required to point back to beamspot at target |
TargetConstrainedV0Candidates | ReconstructedParticle | recon.particle.HpsReconParticleDriver | electron-positron pairs with the vertex z fixed to the target position and the (x,y) constrained to beamspot |
FPGAData | GenericObject | SVT hybrid information (e.g. temperature)...anything else? | |
TriggerBank | GenericObject | trigger information for the event | |
ReadoutTimestamps | GenericObject | event timestamp |
...
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 |
SVT data banks are handled by an SvtEvioReader and converted into RawTrackerHit and GenericObject collections.
Various modes of EVIO ECal data are converted using the EcalEvioReader.
The following collections are added to the event by the ECal reader.
The default builder will also convert and write DAQ config information, EPICS data, and scaler 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.
These are the basic steps of the ECal reconstruction:
The copied collection will be updated with corrected energies in the next step which creates recon particles.
The ReconParticleDriver creates ReconstructedParticle objects representing the final state particles from the event reconstruction. These are tracks with matching clusters (when applicable). It also performs vertex reconstruction and creates a number of candidate particle collections.
The ReconParticleDriver is sub-classed by the actual HpsReconParticleDriver from the steering which adds Moller candidate collections.