The global tracking algorithm is divided into two distinct parts: axial and stereo tracking.
Axial tracking is done first, using a simplified road following algorithm that starts with track candidates in the outer CFT layers and propagates them inwards through the eight axial CFT layers and eight barrels of the SMT.
One axial tracks are found, stereo clusters are searched for if the user desires. Stereo track finding is done using an adaptive rotated histogram. First, a roughly binned histogram with both CFT and SMT hits is constructed to search for the correct area of parameter space. Once a peak is located, a smaller but finer histogram is used to find the CFT stereo clusters. Given a CFT stereo track, a very small and finely binned histogram is constructed with the SMT clsuters to find SMT tracks. SMT and CFT stereo tracks are matched into a global stereo track.
The tool is called through the standard L3TTracker interfaces:
To reconstruct the entire detector
L3TrackFitVector found; // list is filled with track fits double ptmin = 1.0; // in GeV globaltracker->DoThisTool(found,ptmin);or to reconstruct a portion of the detector:
L3TrackFitVector found; // list is filled with track fits double ptmin = 1.0; // in GeV L3ZRegion region; // specifies a region of the detector globaltracker->DoThisTool(region,found,ptmin);
// the number of hits to examine at each layer int NumberCFTAxialHitsToConsider = 2 // the number of candidates to maintain at each layer int NumberCFTAxialTracksToMaintain = 4 // the maximum number of axial hits permitted to be shared int MaxSharedAxialHits = 2 // do stereo reconstruction? bool RecoStereo = true // maximum number of CFT axial misses allowed int MaxCFTMisses = 1
SMTUnpack L3TSmtUnpack CFTUnpack L3TCFTUnpack GlobalTracker L3TGlobalTracker(CFTUnpack=CFTUnpack,SMTUnpack=SMTUnpack,tooltype=data)