CbmRoot
Loading...
Searching...
No Matches
CbmLitTrackFinderBranch.h
Go to the documentation of this file.
1/* Copyright (C) 2007-2013 GSI/JINR-LIT, Darmstadt/Dubna
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Andrey Lebedev [committer] */
4
15#ifndef CBMLITTRACKFINDERBASEBRANCH_H_
16#define CBMLITTRACKFINDERBASEBRANCH_H_
17
18#include "base/CbmLitHitData.h"
19#include "base/CbmLitPtrTypes.h"
21
22#include <map>
23#include <set>
24
28
29using std::map;
30using std::set;
31
33 public:
38
43
48
49 /* Setters */
50 void SetFinalSelection(TrackSelectionPtr finalSelection) { fFinalSelection = finalSelection; }
51 void SetSeedSelection(TrackSelectionPtr seedSelection) { fSeedSelection = seedSelection; }
52 void SetFilter(TrackUpdatePtr filter) { fFilter = filter; }
53 void SetPropagator(TrackPropagatorPtr propagator) { fPropagator = propagator; }
54 void SetNofStations(Int_t nofStations) { fNofStations = nofStations; }
55 void SetNofIterations(Int_t nofIterations) { fNofIterations = nofIterations; }
56 void SetMaxNofMissingHits(const vector<Int_t>& maxNofMissingHits) { fMaxNofMissingHits = maxNofMissingHits; }
57 void SetPDG(const vector<Int_t>& pdg) { fPDG = pdg; }
58 void SetChiSqStripHitCut(const vector<litfloat>& chiSqStripHitCut) { fChiSqStripHitCut = chiSqStripHitCut; }
59 void SetChiSqPixelHitCut(const vector<litfloat>& chiSqPixelHitCut) { fChiSqPixelHitCut = chiSqPixelHitCut; }
60 void SetSigmaCoef(const vector<litfloat>& sigmaCoef) { fSigmaCoef = sigmaCoef; }
61
62 protected:
63 void ArrangeHits(HitPtrIterator itBegin, HitPtrIterator itEnd);
64
71
76
82 void RemoveHits(TrackPtrIterator itBegin, TrackPtrIterator itEnd);
83
91
92 private:
93 CbmLitHitData fHitData; // Hit storage.
94 std::set<Int_t> fUsedHitsSet; // Sets with hits that have been used.
95 std::set<Int_t> fUsedSeedsSet; // Set with track seeds that have been used.
96
97 TrackPtrVector fTracks; // Local storage of tracks
98
99 TrackSelectionPtr fSeedSelection; // Track seed selection tool
100 TrackSelectionPtr fFinalSelection; // Final track selection tool
101 TrackPropagatorPtr fPropagator; // Track propagation tool
102 TrackUpdatePtr fFilter; // Kalman Filter track update tool
103
104 Int_t fNofStations; // Number of tracking stations.
105 Int_t fNofIterations; // Number of tracking iterations
106 Int_t fIteration; // Current tracking iteration
107
108 // Tracking parameters for each iteration
109 Int_t fMaxNofHitsInValidationGate; // Maximum number of hits in the validation
110 // gate for which a separate branch is created
111 Int_t fMaxNofBranches; // Maximum number of branches for one input track seed
112 vector<Int_t> fMaxNofMissingHits; // Maximum number of acceptable missing hits.
113 vector<Int_t> fPDG; // Particle hypothesis for tracking.
114 vector<litfloat> fChiSqStripHitCut; // Chi-square cut for strip hits.
115 vector<litfloat> fChiSqPixelHitCut; // Chi-square cut for pixel hits.
116 vector<litfloat> fSigmaCoef; // Sigma coefficient for preliminary hit selection
117};
118
119#endif /*CBMLITTRACKFINDERBASEBRANCH_H_*/
TClonesArray * tracks
LitStatus
Definition CbmLitEnums.h:29
Class for accessing the hits in the track reconstruction.
Typedefs for algorithm interfaces.
static vector< vector< QAHit > > hits
boost::shared_ptr< CbmLitTrackPropagator > TrackPropagatorPtr
boost::shared_ptr< CbmLitTrackUpdate > TrackUpdatePtr
boost::shared_ptr< CbmLitTrackSelection > TrackSelectionPtr
std::vector< CbmTofHit * >::iterator HitPtrIterator
Definition CbmTofTypes.h:21
std::vector< CbmTofTrack * >::iterator TrackPtrIterator
Definition CbmTofTypes.h:25
std::vector< CbmTofTrack * > TrackPtrVector
Definition CbmTofTypes.h:26
std::vector< CbmTofHit * > HitPtrVector
Definition CbmTofTypes.h:20
virtual ~CbmLitTrackFinderBranch()
Destructor.
void ArrangeHits(HitPtrIterator itBegin, HitPtrIterator itEnd)
void FollowTracks(TrackPtrIterator itBegin, TrackPtrIterator itEnd)
Main track following procedure.
void RemoveHits(TrackPtrIterator itBegin, TrackPtrIterator itEnd)
Write already used hits to a used hits set.
void SetPDG(const vector< Int_t > &pdg)
void CopyToOutput(TrackPtrIterator itBegin, TrackPtrIterator itEnd, TrackPtrVector &tracks)
Copy tracks to output array.
void SetNofIterations(Int_t nofIterations)
void SetMaxNofMissingHits(const vector< Int_t > &maxNofMissingHits)
void SetSeedSelection(TrackSelectionPtr seedSelection)
void SetChiSqStripHitCut(const vector< litfloat > &chiSqStripHitCut)
void SetChiSqPixelHitCut(const vector< litfloat > &chiSqPixelHitCut)
void SetNofStations(Int_t nofStations)
void InitTrackSeeds(TrackPtrIterator itBegin, TrackPtrIterator itEnd)
Initialize track seeds.
void SetSigmaCoef(const vector< litfloat > &sigmaCoef)
void SetPropagator(TrackPropagatorPtr propagator)
void SetFinalSelection(TrackSelectionPtr finalSelection)
LitStatus DoFind(HitPtrVector &hits, TrackPtrVector &trackSeeds, TrackPtrVector &tracks)
Inherited from CbmLitTrackFinder.
void SetFilter(TrackUpdatePtr filter)
CbmLitTrackFinder.h.
Interface for track fitter algorithm.
Interface for track selection algorithm.
Interface for track update algorithm.