"MarlinReco"  1.16.0
Public Member Functions | Protected Attributes | List of all members
LEPTrackingProcessor Class Reference

Produces Track collection from TPC TrackerHit collections using LEP tracking algorithms. More...

#include <LEPTrackingProcessor.h>

Inheritance diagram for LEPTrackingProcessor:

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
 

Detailed Description

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.

Input collections and prerequisites

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

Output

Processor produces collection of TPC tracks

Parameters
TPCTrackerHitCollectionNameName of the TPC TrackerHit collection
(default value is TPCTrackerHits)
VTXTrackerHitCollectionNameName of the VTX TrackerHit collection
(default value is VTXTrackerHits)
SITTrackerHitCollectionNameName of the SIT TrackerHit collection
(default value is SITTrackerHits)
TPCTrackCollectionNameName of the output TPC Track collection
(default value is TPCTracks)
TrackCollectionNameName of the combined Si-TPC Track collection
(default value is Tracks)
MCTPCTrackRelCollectionNameName of the TPC Track MC Relation collection
(default value is TPCTracksMCP)
MCTrackRelCollectionNameName of the Track MC Relation collection
(default value is TracksMCP)
Authors
S. Aplin, DESY, A. Raspereza MPI-Munich

Member Function Documentation

virtual void LEPTrackingProcessor::init ( )
virtual

Called at the begin of the job before anything is read.

Use to initialize the processor, e.g. book histograms.


The documentation for this class was generated from the following file: