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

=== TrackCheater Processor ===
Constructs true tracks. More...

#include <TrackCheater.h>

Inheritance diagram for TrackCheater:

Public Member Functions

virtual Processor * newProcessor ()
 
virtual void init ()
 Initialization.
 
virtual void processRunHeader (LCRunHeader *run)
 Run header processor.
 
virtual void processEvent (LCEvent *evt)
 Event processor.
 
virtual void check (LCEvent *evt)
 
virtual void end ()
 Called after data processing for clean up.
 

Protected Member Functions

void SortTrackerHitsByRadius (TrackerHitVec &trackerHitVec)
 

Protected Attributes

int _nRun
 
int _nEvt
 
int _fitTrueTrack
 
int _minimal_hits
 
float _cutOnChi2
 
int _cutOnTPCHits
 
float _cutOnD0
 
float _cutOnZ0
 
std::string _trueTracksCollection
 
std::vector< std::string > _trackerHitCollections
 
std::string _colNameMCTrueTracksRel
 
std::vector< float > _deviations
 
float _bField
 
float _eCut
 
float _hitToHelixCut
 
float _hitToHelixInFit
 
float PI
 
int _useOnlyOneLoop
 
int _useExtraPoint
 
int _optFit
 
int _storeHitsInFit
 
float _aParIpReso
 
float _bParIpReso
 
float _sParIpReso
 
int _debug
 
MarlinTrackFit _trackFit
 

Detailed Description

=== TrackCheater Processor ===
Constructs true tracks.

True track is considered to comprise all the TrackerHits attributable to the same particle. An user has to provide the names of TrackerHit collections via processor parameter TrackerHitCollections. An output collection of tracks is specified with processor parameter TrueTrackCollection. Furthermore, relations between tracks and MCParticles are created and stored for each event. There is an option to perform a fit of TrackerHits assigned to track. This is done if processor parameter FitTrueTrack is set to 1. In this case parameters extracted from the fit are used to define track parameters, namely Omega (signed curvature), tan(lambda), where lamda is the track dip angle, Phi (azimuthal angle of track momentum at the point of closest approach to IP), D0 (signed impact parameter) and Z0 (displacement along z axis at the point of closest approach to IP). Covariance matrix for these parameters is also provided. Only lower left corner of the covariance matrix is stored. The sequence of the covariance matrix elements assigned to track is the following:
(Omega,Omega)
(Omega,TanLambda), (TanLambda,TanLambda)
(Omega,Phi), (TanLamda,Phi), (Phi,Phi)
(Omega,D0), (TanLambda,D0), (Phi,D0), (D0,D0)
(Omega,Z0), (TanLambda,Z0), (Phi,Z0), (D0,Z0), (Z0,Z0)
If FitTrueTrack is set to 0 then true Monte Carlo information, namely MCParticle momentum and vertex, is used to define track parameters. The number of hits in the different subdetectors associated with each track can be accessed via method Track::getSubdetectorHitNumbers(). This method returns vector of integers :
number of VXD hits used in the track fit is the first element in this vector (Track::getSubdetectorHitNumbers()[0])
number of FTD hits used in the track fit is the second element in this vector (Track::getSubdetectorHitNumbers()[1])
number of SIT hits used in the track fit is the third element in this vector (Track::getSubdetectorHitNumbers()[2])
number of TPC hits used in the track fit is the forth element in this vector (Track::getSubdetectorHitNumbers()[3])
total number of VXD hits in track is the fifth element in this vector (Track::getSubdetectorHitNumbers()[4])
total number of FTD hits in track is the sixth element in this vector (Track::getSubdetectorHitNumbers()[5])
total number of SIT hits in track is the seventh element in this vector (Track::getSubdetectorHitNumbers()[6])
total number of TPC hits in track is the eighth element in this vector (Track::getSubdetectorHitNumbers()[7])

Input collections and prerequisites

Processor requires collections of digitized tracker hits in tracker subdetectors namely VXD, FTD, SIT and TPC.
If such collections with the user specified names do not exist, processor takes no action.

Output

Processor produces collection of true MC tracks and collection of relations between true MC tracks and MCParticles.

Parameters
TrackerHitCollectionsVector of strings containing collection names of TrackerHits
(default names VTXTrackerHits FTDTrackerHits SITTrackerHits TPCTrackerHits)
TrueTrackCollectionThe name of the output collection of true MC tracks
(default name TrueTracks)
MCTrueTrackRelCollectionNameThe name of the output collection of relations between true MC tracks and MCParticles
(default name TrueTracksMCP)
HitToHelixDistCut on distance between hit and the true MC track helix (in mm). True MC track helix is defined by MCParticle momentum and vertex. If the distance between hit and helix is greater than this cut, hit is not assigned to track
(default value is 100)
HitToHelixInFitCut on distance between hit and true MC track helix (in mm) to include hit into fitting procedure. True MC track helix is defined by MCParticle momentum and vertex. If the distance between hit and helix is greater than this cut, hit is not used in the track fit
(default value is 50)
ECutLower cut on the energy of MCParticle (in GeV)
(default value is 0.1)
FitTrueTrackWhen this flag is set to 1 tracks are fitted and covariance matrix for each track is calculated. If this flag is set to 0 then track parameters are calculated using true MC information at the generator level. No covariance matricies are provided in this case
(default value is 1)
Chi2CutCut on the chi2/ndf for the track fit. Tracks failing this cut are dropped from output collection. This occurs only if the flag FitTrueTrack is set to 1
(default value is 100)
CutOnD0Cut on the reconstructed D0 parameter [mm] of the track candidate. If D0 is greater than this cut, track candidate is rejected
(default value 500)
CutOnZ0Cut on the reconstructed Z0 parameter [mm] of the track candidate. If Z0 is greater than this cut, track candidate is rejected
(default value 500)
CutOnTPCHitsminimal number of TPC hits required for tracks which have no hits from the Si detectors
(default value 40)
MinimalHitsMinimal required number of hits in track. If number of hits assigned to true track is less than MinimalHits, track is dropped from output collection
(default value is 3)
UseExtraPointThis flag is used to steer DELPHI fitting code. If set to 1, an additional artificial mesurement point at PCA is introduced with relatively large errors (OBSOLETE : used in early versions of the code to improve d0 and z0 resolutions, for the current version of the LDC Tracking code this parameter is recommended to be set to 0).
(default value is 0)
OptFitOption for the track fit.
0 - simple helix model is used for track prefit, prefit is done with tfithl routine of the DELPHI code,
1 - simple helix model is used for track prefit, prefit is done with the ClusterShapes class,
2 - true Monte Carlo parameters of the charged particle at the generator level are used as initial approximation for the track fit,
3 - a sophisticated multiiterative procedure is employed to determine initial track parameters passed to the Kalman filter,
4 - track parameters are determined in an optimal way by combining separate fits of Si and TPC track segments. Parameters d0, z0, phi0 and tan(lambda) are determinde from the fit of the Si segment (if it contains 3 or more hits), while parameter omega is determined from the fit of the entire set of hits contributing to a given track (recommended option)
(default value is 3)
StoreHitsInFitif set to 1 only hits used in fit are stored in the LCIO object Track, if StoreHitsInFit = 0 all hits belonging to a given track are stored in the object Track
(defalut value is 0)
aParameterForIPErrorparameter a, defining minimal allowed IP resolution according to the formular sigma[IP] = a + b/[P*sin^3/2{Q}]^s where P is the particle momentum and Q is the polar angle
(default value is 0.002 [mm])
bParameterForIPErrorparameter b in the parametrisation of the minimal IP resolution sigma[IP] = a + b/[P*sin^3/2{Q}]^s
(default value is 0.0076 [mm])
sParameterForIPErrorparameter s in the parametrisation of the minimal IP resolution sigma[IP] = a + b/[P*sin^3/2{Q}]^s
(default value is 0.75 [mm])
Debugdefines level of details for the printout information (meant for debuging purposes). If set to 0, printout is suppressed
(default value is 1)
Author
A. Raspereza (MPI Munich)
Version
Id:
TrackCheater.h 2553 2011-09-20 14:50:20Z gaede



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