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

=== FullLDCTracking Processor ===
Processor performing track finding procedure in the entire LDC detector by linking track segments found by the SiliconTracking module in the silicon detectors and by the LEPTracking module in TPC. More...

#include <FullLDCTracking.h>

Inheritance diagram for FullLDCTracking:

Public Member Functions

virtual Processor * newProcessor ()
 
virtual void init ()
 
virtual void processRunHeader (LCRunHeader *run)
 
virtual void processEvent (LCEvent *evt)
 
virtual void check (LCEvent *evt)
 
virtual void end ()
 

Protected Member Functions

void prepareVectors (LCEvent *evt)
 
void CleanUp ()
 
void MergeTPCandSiTracks ()
 
void MergeTPCandSiTracksII ()
 
TrackExtended * CombineTracks (TrackExtended *tpcTrk, TrackExtended *siTrk)
 
TrackExtended * TrialCombineTracks (TrackExtended *tpcTrk, TrackExtended *siTrk)
 
void Sorting (TrackExtendedVec &trackVec)
 
void SelectCombinedTracks ()
 
void AddNotCombinedTracks ()
 
void CheckTracks ()
 
void AddNotAssignedHits ()
 
void RemoveSplitTracks ()
 
void AddTrackColToEvt (LCEvent *evt, TrackExtendedVec &trkVec, std::string TrkColName, std::string RelColName)
 
float CompareTrk (TrackExtended *first, TrackExtended *second, float d0Cut, float z0Cut, int iopt)
 
float CompareTrkII (TrackExtended *first, TrackExtended *second, float d0Cut, float z0Cut, int iopt, float &Angle)
 
float CompareTrkIII (TrackExtended *first, TrackExtended *second, float d0Cut, float z0Cut, int iopt, float &Angle)
 
void SortingTrackHitPairs (TrackHitPairVec &trackHitPairVec)
 
void AssignSiHitsToTracks (TrackerHitExtendedVec hitVec, float dcut)
 
void AssignTPCHitsToTracks (TrackerHitExtendedVec hitVec, float dcut)
 
void AssignOuterHitsToTracks (TrackerHitExtendedVec hitVec, float dcut, int refit)
 
void CreateExtrapolations ()
 
void CleanUpExtrapolations ()
 
HelixClass * GetExtrapolationHelix (TrackExtended *track)
 
void PrintOutMerging (TrackExtended *firstTrackExt, TrackExtended *secondTrackExt, int iopt)
 
void GeneralSorting (int *index, float *val, int direct, int nVal)
 
int SegmentRadialOverlap (TrackExtended *pTracki, TrackExtended *pTrackj)
 
bool VetoMerge (TrackExtended *firstTrackExt, TrackExtended *secondTrackExt)
 

Protected Attributes

int _nRun
 
int _nEvt
 
std::string _TPCTrackCollection
 
std::string _SiTrackCollection
 
std::string _TPCTrackMCPCollName
 
std::string _SiTrackMCPCollName
 
std::string _VTXTrackerHitCollection
 
std::string _SITTrackerHitCollection
 
std::string _SETTrackerHitCollection
 
std::string _FTDTrackerHitCollection
 
std::string _TPCTrackerHitCollection
 
std::string _ETDTrackerHitCollection
 
std::string _LDCTrackCollection
 
std::string _LDCTrackMCPCollection
 
std::string _RefittedTPCTrackCollection
 
std::string _RefittedTPCTrackMCPCollection
 
std::string _RefittedSiTrackCollection
 
std::string _RefittedSiTrackMCPCollection
 
TrackExtendedVec _allSiTracks
 
TrackExtendedVec _allTPCTracks
 
TrackExtendedVec _allCombinedTracks
 
TrackExtendedVec _allNonCombinedTPCTracks
 
TrackExtendedVec _allNonCombinedSiTracks
 
TrackExtendedVec _trkImplVec
 
TrackerHitExtendedVec _allTPCHits
 
TrackerHitExtendedVec _allVTXHits
 
TrackerHitExtendedVec _allFTDHits
 
TrackerHitExtendedVec _allSITHits
 
TrackerHitExtendedVec _allSETHits
 
TrackerHitExtendedVec _allETDHits
 
float _resolutionRPhi_TPC
 
float _resolutionZ_TPC
 
float _resolutionRPhi_VTX
 
float _resolutionZ_VTX
 
float _resolutionRPhi_FTD
 
float _resolutionZ_FTD
 
float _resolutionRPhi_SIT
 
float _resolutionZ_SIT
 
float PI
 
float PIOVER2
 
float TWOPI
 
float _bField
 
float _chi2PrefitCut
 
float _chi2FitCut
 
int _debug
 
int _createMap
 
int _useExtraPoint
 
int _optFit
 
float _dPCutForMerging
 
float _d0CutForMerging
 
float _z0CutForMerging
 
float _dOmegaForMerging
 
float _angleForMerging
 
int _forceMerging
 
float _dPCutForForcedMerging
 
float _d0CutForForcedMerging
 
float _z0CutForForcedMerging
 
float _dOmegaForForcedMerging
 
float _angleForForcedMerging
 
int _mergeTPCSegments
 
float _dPCutToMergeTPC
 
float _PtCutToMergeTPC
 
float _d0CutToMergeTPC
 
float _z0CutToMergeTPC
 
float _cosThetaCutHighPtMerge
 
float _cosThetaCutSoftHighPtMerge
 
float _momDiffCutHighPtMerge
 
float _momDiffCutSoftHighPtMerge
 
float _hitDistanceCutHighPtMerge
 
float _maxHitDistanceCutHighPtMerge
 
float _maxFractionOfOutliersCutHighPtMerge
 
MarlinTrackFit _trackFit
 
int _refitTPCTracks
 
int _refitSiTracks
 
int _storeRefittedTPCTracks
 
int _storeRefittedSiTracks
 
int _storeHitsInFit
 
int _nHitsExtrapolation
 
int _cutOnTPCHits
 
int _cutOnSiHits
 
float _aParIpReso
 
float _bParIpReso
 
float _sParIpReso
 
int _assignVTXHits
 
int _assignFTDHits
 
int _assignSITHits
 
int _assignTPCHits
 
int _assignSETHits
 
int _assignETDHits
 
float _distCutForVTXHits
 
float _distCutForFTDHits
 
float _distCutForSITHits
 
float _distCutForTPCHits
 
float _distCutForSETHits
 
float _distCutForETDHits
 
int _optFitTPC
 
int _optFitSi
 
float _d0TrkCut
 
float _z0TrkCut
 
int _forbidOverlapInZTPC
 
int _forbidOverlapInZComb
 
LCEvent * _evt
 
std::map< TrackExtended
*, HelixClass * > 
_trackExtrapolatedHelix
 
std::set< TrackExtended * > _candidateCombinedTracks
 

Detailed Description

=== FullLDCTracking Processor ===
Processor performing track finding procedure in the entire LDC detector by linking track segments found by the SiliconTracking module in the silicon detectors and by the LEPTracking module in TPC.

Input collections and prerequisites

Processor requires collection of digitized vertex, sit, ftd, set, etd & tpc tracker hits and also the collections of tracks found in the silicon detectors and in TPC.

Output

Processor produces an LCIO collection of the Tracks. Each track is characterised by five parameters : Omega (signed curvuture), Tan(lambda) where lambda is the dip angle, Phi (azimuthal angle @ point of closest approach), D0 (signed impact parameter), 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:
(D0,D0)
(Phi,D0), (Phi,Phi)
(Omega,D0), (Omega,Phi), (Omega,Omega)
(Z0,D0), (Z0,Phi), (Z0,Omega), (Z0,Z0)
(TanL,D0), (TanL,Phi), (TanL,Omega), (TanL,Z0), (TanL,TanL)
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 VTX hits used in the track fit is the 1st element in this vector (Track::getSubdetectorHitNumbers()[0])
number of FTD hits used in the track fit is the 2nd element in this vector (Track::getSubdetectorHitNumbers()[1])
number of SIT hits used in the track fit is the 3d element in this vector (Track::getSubdetectorHitNumbers()[2])
number of TPC hits used in the track fit is the 4th element in this vector (Track::getSubdetectorHitNumbers()[3])
number of SET hits used in the track fit is the 5th element in this vector (Track::getSubdetectorHitNumbers()[4])
number of ETD hits used in the track fit is the 6th element in this vector (Track::getSubdetectorHitNumbers()[5])
total number of VTX hits in track is the 7th element in this vector (Track::getSubdetectorHitNumbers()[6])
total number of FTD hits in track is the 8th element in this vector (Track::getSubdetectorHitNumbers()[7])
total number of SIT hits in track is the 9th element in this vector (Track::getSubdetectorHitNumbers()[8])
total number of TPC hits in track is the 10th element in this vector (Track::getSubdetectorHitNumbers()[9])
total number of SET hits in track is the 11th element in this vector (Track::getSubdetectorHitNumbers()[10])
total number of ETD hits in track is the 12th element in this vector (Track::getSubdetectorHitNumbers()[11])
Output track collection has by default a name "LDCTracks". In addition collection of relations of the tracks to MCParticles is stored if flag CreateMap is set to 1. Collection of relations has by default a name "LDCTracksMCP"

Parameters
VTXHitCollectionname of input VTX TrackerHit collection
(default parameter value : "VTXTrackerHits")
FTDHitCollectionname of input FTD TrackerHit collection
(default parameter value : "FTDTrackerHits")
SITHitCollectionname of input SIT TrackerHit collection
(default parameter value : "SITTrackerHits")
TPCHitCollectionname of input TPC TrackerHit collection
(default parameter value : "TPCTrackerHits")
SETHitCollectionname of input SET TrackerHit collection
(default parameter value : "SETTrackerHits")
ETDHitCollectionname of input ETD TrackerHit collection
(default parameter value : "ETDTrackerHits")
TPCTrackscollection name of TPC tracks
(default parameter value : "TPCTracks")
TPCTracksMCPRelCollName of input TPC track to MC particle relation collection
(default parameter value : "TPCTracksMCP")
SiTrackscollection name of Si tracks
(default parameter value : "SiTracks")
SiTracksMCPRelCollName of input Si track to MC particle relation collection
(default parameter value : "SiTracksMCP")
LDCTrackCollectionname of the output LDC track collection
(default parameter value : "LDCTracks")
LDCTrackMCPRelCollectionname of the output LDC track to MC Particle relation collection
(default parameter value : "LDCTracksMCP")
ReffitedTPCTrackCollectionname of the output collection of the refitted TPC tracks
(default parameter value : "RefittedTPCTracks")
RefittedTPCTrackMCPRelCollectionname of the output refitted TPC track to MC Particle relation collection
(default parameter value : "RefittedTPCTracksMCP")
ReffitedSiTrackCollectionname of the output collection of the refitted Si tracks
(default parameter value : "RefittedSiTracks")
RefittedSiTrackMCPRelCollectionname of the output refitted Si track to MC Particle relation collection
(default parameter value : "RefittedSiTracksMCP")
Chi2FitCutcut on the Chi2/Ndf of the track fit
(default parameter value : 100.0)
Chi2PrefitCutcut on the prefit Chi2 of the track candidate, prefit is done with the simple helix hypothesis
(default parameter value : 1e+5)
CreateMapflag to create relations between Tracks and MCParticles, if set to 1, relations collection is created and stored in an event
(default parameter value : 1)
AngleCutForMergingcut on opening angle between particle momentum reconstructed with TPC and momentum reconstructed with the Silicon detectors. If the opening angle is smaller that this cut the track segment in Silicon trackers and in TPC are tested for their compatibility
(default parameter value : 0.10)
OmegaCutForMergingcut on the relative difference in the track Omega parameter reconstructed with TPC and with Si detectors. If the relative difference is smaller than this cut, the track segments in TPC and Si are tested for their compatibility
(default parameter value : 0.25)
D0CutForMergingUpper cutoff on the difference in D0 [mm] to allow for merging of the Si and TPC segments
(default parameter value : 500)
Z0CutForMergingUpper cutoff on the difference in Z0 [mm] to allow for merging of the Si and TPC segments
(default parameter value : 1000)
RefitTPCTracksflag to refit TPC tracks, if set to 1 TPC tracks are refitted
(default parameter value : 1)
RefitSiTracksflag to refit Si Tracks, if set to 1 Si tracks are refitted
(default parameter value : 0)
StoreRefittedTPCTracksflag to store refitted TPC tracks in additional LCIOTrack collection named RefittedTPCTracks. Corresponding track MCParticle relations are stored in additional collection named RefittedTPCTracksMCP. If set to 1 refitted TPC tracks are stored in the separate collection
(default parameter value : 0)
StoreRefittedSiTracksflag to store refitted Si tracks in additional LCIOTrack collection named RefittedSiTracks. Corresponding track MCParticle relations are stored in additional collection named RefittedSiTracksMCP. If set to 1 refitted Si tracks are stored in the separate collection
(default parameter value : 0)
Debugflag to allow for printout of debug information, if set to 1 debugging printout is activated (default parameter value : 1)
OptFitoption for track candidate prefitting
if OptFit=0 - FORTRAN code tfithl is invoked,
if OptFit=1 - prefit of track candidate is done with the fitting method of ClusterShapes class
if OptFit=2 - initial track parameters d0, z0, phi0 and tan(lambda) are taken from the Si and parameter Omega for the TPC track segments
if OptFit=3 - sophisticated iterative prefit, improving cov matrix estimate
if OptFit=4 - track parameters are determined from the two separate fits of the Si track segment and the combined Si-TPC track (recommended). Track parameters d0 and z0 are taken from the fit of the Silicon track segment, all other parameters are taken from the fit of combined track.
(default parameter value : 4)
OptFitTPCoption for TPC track refit. Options are the same as for the combined LDC track prefit
(default parameter value : 2)
OptFitSioption for Si track refit. Options are the same as for the combined LDC track prefit
(default parameter value : 2)
UseExtraPointThis flag is used to steer DELPHI fitting code. If set to 1, additional artificial mesurement point at PCA is introduced with relatively large errors [OBSOLETE]
(default parameter value : 0)
ForceSiTPCMergingThis flag steers merging of Si and TPC track segments. If ForceMerging=1 Si and TPC track segments are forced to be merged if the opening angle between Si track momentum and TPC track momentum is less than AngleCutForForcedMerging (see below) and difference in tracks parameters Omega is less than OmegaCutForForcedMerging (see below)
(default parameter value : 0)
AngleCutForForcedMergingcut on opening angle between Si track momentum and TPC track momentum. Used to steer forced merging of Si and TPC track segments.
(default parameter value : 0.05)
OmegaCutForForcedMergingcut on the difference between Si and TPC tracks parameter Omega. Used to steer forced merging of Si and TPC track segments. Relative errors are compared.
(default parameter value : 0.15)
D0CutForForcedMergingUpper cutoff on the difference in D0 to allow for forced merging of the Si and TPC segments
(default parameter value : 50)
Z0CutForForcedMergingUpper cutoff on the difference in Z0 to allow for forced merging of the Si and TPC segments
(default parameter value : 200)
ForceTPCSegmentsMergingIf this flag is set to 1, the code attempts to merge TPC segments from the low pt splitted loopers
(default parameter value : 1)
D0CutToMergeTPCSegmentscut on the difference in the track parameter d0 [mm] to allow for merging TPC segments
(default parameter value : 100)
Z0CutToMergeTPCSegmentscut on the difference in the track parameter z0 [mm] to allow for merging TPC segments
(default parameter value : 5000)
DeltaPCutToMergeTPCSegmentscut on the magnitude [GeV/c] of the vectorial difference of the momentum vectors, associated with TPC segments, for the TPC segment's merging procedure
(default parameter value : 0.1)
PtCutToMergeTPCSegmentslower cutoff on Pt of the TPC segments of the looping track for the merging procedure. If transverse momentum of the segments is less than cutoff the segments are allowed to be merged.
(default parameter value : 1.2)
AssignTPCHitsIf this flag is set to 1, the code attempts to assign left-over TPC hits to the accepted track candidates. No track refit is done in case when hit is assigned to the existing track
(default parameter value : 1)
AssignETDHitsIf this flag is set to 1, the code attempts to assign ETD hits to the accepted track candidates. No track refit is done in case when hit is assigned to the existing track
(default parameter value : 1)
AssignVTXHitsIf this flag is set to 1, the code attempts to assign left-over VTX hits to the accepted track candidates. Track refit is done in case when hit is assigned to the existing track
(default parameter value : 1)
AssignFTDHitsIf this flag is set to 1, the code attempts to assign left-over FTD hits to the accepted track candidates. Track refit is done in case when hit is assigned to the existing track
(default parameter value : 1)
AssignSITHitsIf this flag is set to 1, the code attempts to assign left-over SIT hits to the accepted track candidates. Track refit is done in case when hit is assigned to the existing track
(default parameter value : 1)
AssignSETHitsIf this flag is set to 1, the code attempts to assign SET hits to the accepted track candidates. Track refit is done in case when hit is assigned to the existing track
(default parameter value : 1)
TPCHitToTrackDistanceCut on the distance between left-over TPC hit and the track helix to allow for assignment of the hit with a given track
(default parameter value : 15.0)
VTXHitToTrackDistanceCut on the distance between left-over VTX hit and the track helix to allow for assignment of the hit with a given track
(default parameter value : 1.5)
FTDHitToTrackDistanceCut on the distance between left-over FTD hit and the track helix to allow for assignment of the hit with a given track
(default parameter value : 2.0)
SITHitToTrackDistanceCut on the distance between left-over SIT hit and the track helix to allow for assignment of the hit with a given track
(default parameter value : 2.0)
SETHitToTrackDistanceCut on the distance between SET hit and the track helix to allow for assignment of the hit with a given track
(default parameter value : 2.0)
ETDHitToTrackDistanceCut on the distance between ETD hit and the track helix to allow for assignment of the hit with a given track
(default parameter value : 10.0)
NHitsExtrapolationNumber of the last track hits for extrapolating helix to the outer tracking detectors (SET, ETD)
(default parameter value : 35)
CutOnTPCHitsminimal number of TPC hits, used in the track fit, which is required for tracks which have no hits from the Si detectors
(default parameter value : 35)
CutOnTrackD0cut on the d0 parameter of the track. If the d0 parameter is greater that this cut, track is rejected
(default parameter value : 500)
CutOnTrackZ0cut on the z0 parameter of the track. If the z0 parameter is greater that this cut, track is rejected
(default parameter value : 500)
ForbidOverlapInZTPCIf this flag is set to 1 then merging of the TPC semiloops is forbiden for segment overlapping in z
(default parameter value : 0)
ForbidOverlapInZCombIf this flag is set to 1 then merging of left-over TPC semiloop and combined Si-TPC track is their segments overlap in z
(default parameter value : 0)
aParameterForIPErrorparameter a defining minimal 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. If the resolution on IP, calculated with DELPHI fitting routine, is smaller than minimal allowed resolution, the corresponding track parameter covariance matrix element is set to the minimal allowed value
(default 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 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 is 0.75 [mm])
StoreHitsInFitif set to 1 only hits used in the track fit are stored in the corresponding associated vector of TrackerHits
(default is 0)
cosThetaCutHighPtMergecut on cos theta between the two momentum vectors when considering merger of high Pt tracks
(default is 0.99)
cosThetaCutSoftHighPtMergecut on the cos theta between the two momentum vectors when considering merger of high Pt tracks for softer dp/p cut
(default is 0.998)
momDiffCutHighPtMergecut on dp/p when considering merger of high Pt tracks
(default is 0.01 [1/GeV])
momDiffCutSoftHighPtMergesofter cut on dp/p when considering merger of high Pt tracks
(default is 0.25 [1/GeV])
hitDistanceCutHighPtMergecut on 3D distance between hit and helix extrapolation when considering merger of high Pt tracks
(default is 25.0 [mm])
maxHitDistanceCutHighPtMergecut for max 3D distance between any hit and helix extrapolation when considering merger of high Pt tracks
(default is 50.0 [mm])
maxFractionOfOutliersCutHighPtMergecut on maximum fraction of outliers when considering merger of high Pt tracks
(default is 0.95 )
Author
A. Raspereza (MPI Munich)

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