"MarlinReco"
1.16.0
|
Produces Track collection from TPC TrackerHit collections using LEP tracking algorithms. More...
#include <LEPTrackingProcessor.h>
Public Member Functions | |
virtual Processor * | newProcessor () |
virtual void | init () |
Called at the begin of the job before anything is read. More... | |
virtual void | processRunHeader (LCRunHeader *run) |
Called for every run. | |
virtual void | processEvent (LCEvent *evt) |
Called for every event - the working horse. | |
virtual void | check (LCEvent *evt) |
virtual void | end () |
Called after data processing for clean up. | |
void | selectTPCHits (LCCollection *tpcTHcol, LCCollectionVec *remainingCol, LCCollectionVec *cutCol, int binHeight, int binWidth, float zmin=-10000., float zmax=+10000.) |
Used to remove problematic TPC hits from Curlers. | |
void | selectTPCHits (LCCollection *tpcTHcol, LCCollection *usedCol, float zmin=-10000., float zmax=+10000.) |
Used to send all hits to the patrec. | |
void | FillTPCHitBanks () |
Used to fill TPC hits into the hit banks for F77. | |
Protected Attributes | |
std::string | _colNameTPC |
Input collections name. | |
std::string | _colNameVTX |
std::string | _colNameSIT |
std::string | _colNameTPCTracks |
std::string | _colNameTracks |
std::string | _colNameMCTPCTracksRel |
std::string | _colNameMCTracksRel |
std::string | _usedColName |
std::string | _droppedColName |
LCCollectionVec * | _tpcTrackVec |
LCCollectionVec * | _tpclcRelVec |
LCCollectionVec * | _usedCol |
LCCollectionVec * | _droppedCol |
LCCollectionVec * | _usedColForOutput |
LCCollectionVec * | _droppedColForOutput |
int | _nRun |
int | _nEvt |
int | _binHeight |
int | _nSlicesInZ |
int | _binWidth |
int | _multiplicityCut |
int | _AlwaysRunCurlKiller |
std::vector< EVENT::TrackerHit * > | _goodHits |
std::vector< EVENT::TrackerHit * > | _savedGoodHits |
int | _histograms |
TH1F * | fTPCR |
TH1F * | fTPCRRaw |
TH1F * | fTPCZ |
TH1F * | fTPCZRaw |
TH2F * | fTPCRZ |
TH2F * | fTPCXYRaw |
TH2F * | fTPCXY |
TH2F * | fTPCRZRaw |
Produces Track collection from TPC TrackerHit collections using LEP tracking algorithms.
The Geometric information via GEAR. The f77 tracking code previously relied on ZEBRA banks, these have been replace by C++ structures implemented in tkhitbank.h etc. There must be instanitated and deleted at the begining and the end of the processor respectively.
Currently only the TPC patrec and fitting is implemented, though plans to incorporate VTX hits into Tracks exist.
The name of the TPC Track collection is specified in the steering file, togeather with the name of the hit collections needed as input.
For the track collection the following applys:
The reference point is the Point of Closest Approach.
All parameters are defined there.
Phi is defined between -PI and +PI
Z0 is the z coordinate of the PCA in the R-Phi plane.
For the relations, the weighs are calculated as the percentage of hits that a given MC particle contributes to the reconstucted track's hit collection
At present the covariance matrix is not filled.
The LEP algorithms are taken from Brahms but does not contain the DELPHI ambiguity resolver. The track finding is based on 1) SUBROUTINE CIRCLE (N.CHERNOV, G. OSOSKOV ) REFERENCE: COMPUTER PHYSICS COMMUNICATIONS VOL 33,P329 2) 3-DIMENSIONAL ITERACTION (MARTIN POPPE) REFERENCE: ALEPH NOTE 87-102
The final track fitting is done using a Kalman filter. At present the both the magnetic field and the material desciption of the TPC is hard coded into the Fortran code and C++ code, and will be improved when GEAR becomes more evolved.
Processor requires collection of digitized TPC tracker hits. If such a collections with the user specified names do not exist processor takes no action. Processor still attempts to assign VTX and SIT tracker hits to the found TPC tracks and produce combined Si-TPC tracks. Hence, optionally an user can provide the names of the VTX and SIT tracker hit collections. A more efficient algorithm of combining information from TPC and silicon detectors
Processor produces collection of TPC tracks
TPCTrackerHitCollectionName | Name of the TPC TrackerHit collection (default value is TPCTrackerHits) |
VTXTrackerHitCollectionName | Name of the VTX TrackerHit collection (default value is VTXTrackerHits) |
SITTrackerHitCollectionName | Name of the SIT TrackerHit collection (default value is SITTrackerHits) |
TPCTrackCollectionName | Name of the output TPC Track collection (default value is TPCTracks) |
TrackCollectionName | Name of the combined Si-TPC Track collection (default value is Tracks) |
MCTPCTrackRelCollectionName | Name of the TPC Track MC Relation collection (default value is TPCTracksMCP) |
MCTrackRelCollectionName | Name of the Track MC Relation collection (default value is TracksMCP) |
|
virtual |
Called at the begin of the job before anything is read.
Use to initialize the processor, e.g. book histograms.