CbmRoot
CbmLitTrackFinderNN.h
Go to the documentation of this file.
1 
12 #ifndef CBMLITTRACKFINDERNN_H_
13 #define CBMLITTRACKFINDERNN_H_
14 
15 #include "base/CbmLitHitData.h"
16 #include "base/CbmLitPtrTypes.h"
17 #include "base/CbmLitTypes.h"
19 #include <vector>
20 
21 using std::vector;
22 
24 public:
29 
33  virtual ~CbmLitTrackFinderNN();
34 
39  TrackPtrVector& trackSeeds,
41 
42  /* Setters */
43  void SetSeedSelection(TrackSelectionPtr seedSelection) {
44  fSeedSelection = seedSelection;
45  }
46  void SetFinalSelection(TrackSelectionPtr finalSelection) {
47  fFinalSelection = finalSelection;
48  }
49  void SetPropagator(TrackPropagatorPtr propagator) {
50  fPropagator = propagator;
51  }
52  void SetFilter(TrackUpdatePtr filter) { fFilter = filter; }
53  void SetNofStations(Int_t nofStations) { fNofStations = nofStations; }
54  void SetNofIterations(Int_t nofIterations) { fNofIterations = nofIterations; }
55  void SetMaxNofMissingHits(const vector<Int_t>& maxNofMissingHits) {
56  fMaxNofMissingHits = maxNofMissingHits;
57  }
58  void SetPDG(const vector<Int_t>& pdg) { fPDG = pdg; }
59  void SetChiSqStripHitCut(const vector<litfloat>& chiSqStripHitCut) {
60  fChiSqStripHitCut = chiSqStripHitCut;
61  }
62  void SetChiSqPixelHitCut(const vector<litfloat>& chiSqPixelHitCut) {
63  fChiSqPixelHitCut = chiSqPixelHitCut;
64  }
65  void SetSigmaCoef(const vector<litfloat>& sigmaCoef) {
66  fSigmaCoef = sigmaCoef;
67  }
68 
69 protected:
70  void ArrangeHits(HitPtrIterator itBegin, HitPtrIterator itEnd);
71 
78 
84  void FollowTracks(TrackPtrIterator itBegin, TrackPtrIterator itEnd);
85 
91  void RemoveHits(TrackPtrIterator itBegin, TrackPtrIterator itEnd);
92 
99  void CopyToOutput(TrackPtrIterator itBegin,
100  TrackPtrIterator itEnd,
102 
103 private:
104  TrackPtrVector fTracks; // Local copy of tracks.
105  CbmLitHitData fHitData; // Hit storage.
106  std::set<Int_t> fUsedHitsSet; // Sets with hits that have been used.
107  std::set<Int_t> fUsedSeedsSet; // Set with track seeds that have been used.
108 
109  TrackSelectionPtr fSeedSelection; // Seed selection tool.
110  TrackSelectionPtr fFinalSelection; // Final track selection tool.
111  TrackPropagatorPtr fPropagator; // Track propagation tool.
112  TrackUpdatePtr fFilter; // KF update tool.
113 
114  Int_t fNofStations; // Number of tracking stations.
115  Int_t fNofIterations; // Number of tracking iterations
116  Int_t fIteration; // Current tracking iteration
117  // Tracking parameters for each iteration
118  vector<Int_t>
119  fMaxNofMissingHits; // Maximum number of acceptable missing hits.
120  vector<Int_t> fPDG; // Particle hypothesis for tracking.
121  vector<litfloat> fChiSqStripHitCut; // Chi-square cut for strip hits.
122  vector<litfloat> fChiSqPixelHitCut; // Chi-square cut for pixel hits.
123  vector<litfloat>
124  fSigmaCoef; // Sigma coefficient for preliminary hit selection
125 };
126 
127 #endif /* CBMLITTRACKFINDERNN_H_ */
CbmLitTrackFinderNN::fTracks
TrackPtrVector fTracks
Definition: CbmLitTrackFinderNN.h:104
CbmLitTrackFinderNN::SetPropagator
void SetPropagator(TrackPropagatorPtr propagator)
Definition: CbmLitTrackFinderNN.h:49
CbmLitTrackFinderNN::DoFind
virtual LitStatus DoFind(HitPtrVector &hits, TrackPtrVector &trackSeeds, TrackPtrVector &tracks)
Inherited from CbmLitTrackFinder.
Definition: CbmLitTrackFinderNN.cxx:51
CbmLitTrackFinderNN::fFilter
TrackUpdatePtr fFilter
Definition: CbmLitTrackFinderNN.h:112
CbmLitTrackFinderNN::RemoveHits
void RemoveHits(TrackPtrIterator itBegin, TrackPtrIterator itEnd)
Write already used hits to a used hits set.
Definition: CbmLitTrackFinderNN.cxx:228
CbmLitTrackFinderNN::SetFilter
void SetFilter(TrackUpdatePtr filter)
Definition: CbmLitTrackFinderNN.h:52
TrackSelectionPtr
boost::shared_ptr< CbmLitTrackSelection > TrackSelectionPtr
Definition: CbmTofPtrTypes.h:25
CbmLitTrackFinderNN::ArrangeHits
void ArrangeHits(HitPtrIterator itBegin, HitPtrIterator itEnd)
Definition: CbmLitTrackFinderNN.cxx:87
CbmLitTrackFinderNN::SetSeedSelection
void SetSeedSelection(TrackSelectionPtr seedSelection)
Definition: CbmLitTrackFinderNN.h:43
CbmLitTrackFinderNN::fUsedHitsSet
std::set< Int_t > fUsedHitsSet
Definition: CbmLitTrackFinderNN.h:106
TrackPropagatorPtr
boost::shared_ptr< CbmLitTrackPropagator > TrackPropagatorPtr
Definition: CbmTofPtrTypes.h:23
CbmLitTrackFinderNN::SetMaxNofMissingHits
void SetMaxNofMissingHits(const vector< Int_t > &maxNofMissingHits)
Definition: CbmLitTrackFinderNN.h:55
CbmLitTrackFinderNN::SetNofStations
void SetNofStations(Int_t nofStations)
Definition: CbmLitTrackFinderNN.h:53
CbmLitTrackFinderNN::fHitData
CbmLitHitData fHitData
Definition: CbmLitTrackFinderNN.h:105
TrackUpdatePtr
boost::shared_ptr< CbmLitTrackUpdate > TrackUpdatePtr
Definition: CbmTofPtrTypes.h:26
CbmLitTrackFinderNN::fMaxNofMissingHits
vector< Int_t > fMaxNofMissingHits
Definition: CbmLitTrackFinderNN.h:119
CbmLitTrackFinderNN::fNofIterations
Int_t fNofIterations
Definition: CbmLitTrackFinderNN.h:115
CbmLitTrackFinderNN::SetChiSqStripHitCut
void SetChiSqStripHitCut(const vector< litfloat > &chiSqStripHitCut)
Definition: CbmLitTrackFinderNN.h:59
CbmLitTrackFinderNN::CbmLitTrackFinderNN
CbmLitTrackFinderNN()
Constructor.
Definition: CbmLitTrackFinderNN.cxx:31
CbmLitTrackFinderNN::FollowTracks
void FollowTracks(TrackPtrIterator itBegin, TrackPtrIterator itEnd)
Follow tracks through detector.
Definition: CbmLitTrackFinderNN.cxx:120
CbmLitTrackFinderNN::SetPDG
void SetPDG(const vector< Int_t > &pdg)
Definition: CbmLitTrackFinderNN.h:58
CbmLitTrackFinder
CbmLitTrackFinder.h.
Definition: CbmLitTrackFinder.h:20
CbmLitTrackFinder.h
TrackPtrIterator
std::vector< CbmTofTrack * >::iterator TrackPtrIterator
Definition: CbmTofTypes.h:21
TrackPtrVector
std::vector< CbmTofTrack * > TrackPtrVector
Definition: CbmTofTypes.h:22
CbmLitTrackFinderNN::SetChiSqPixelHitCut
void SetChiSqPixelHitCut(const vector< litfloat > &chiSqPixelHitCut)
Definition: CbmLitTrackFinderNN.h:62
tracks
TClonesArray * tracks
Definition: Analyze_matching.h:17
HitPtrIterator
std::vector< CbmTofHit * >::iterator HitPtrIterator
Definition: CbmTofTypes.h:17
CbmLitTrackFinderNN::fPDG
vector< Int_t > fPDG
Definition: CbmLitTrackFinderNN.h:120
CbmLitHitData.h
Class for accessing the hits in the track reconstruction.
CbmLitTrackFinderNN::CopyToOutput
void CopyToOutput(TrackPtrIterator itBegin, TrackPtrIterator itEnd, TrackPtrVector &tracks)
Copy tracks to output array.
Definition: CbmLitTrackFinderNN.cxx:239
CbmLitTrackFinderNN::fSigmaCoef
vector< litfloat > fSigmaCoef
Definition: CbmLitTrackFinderNN.h:124
CbmLitTrackFinderNN::fFinalSelection
TrackSelectionPtr fFinalSelection
Definition: CbmLitTrackFinderNN.h:110
CbmLitTrackFinderNN::fPropagator
TrackPropagatorPtr fPropagator
Definition: CbmLitTrackFinderNN.h:111
CbmLitTrackFinderNN::fIteration
Int_t fIteration
Definition: CbmLitTrackFinderNN.h:116
CbmLitHitData
Definition: CbmLitHitData.h:25
CbmLitTrackFinderNN::~CbmLitTrackFinderNN
virtual ~CbmLitTrackFinderNN()
Destructor.
Definition: CbmLitTrackFinderNN.cxx:49
CbmLitTrackFinderNN::fNofStations
Int_t fNofStations
Definition: CbmLitTrackFinderNN.h:114
CbmLitTypes.h
Typedefs for data structures used in littrack.
hits
static vector< vector< QAHit > > hits
Definition: CbmTofHitFinderTBQA.cxx:114
CbmLitTrackFinderNN::InitTrackSeeds
void InitTrackSeeds(TrackPtrIterator itBegin, TrackPtrIterator itEnd)
Initialize track seeds and copy to local array.
Definition: CbmLitTrackFinderNN.cxx:99
CbmLitPtrTypes.h
Typedefs for algorithm interfaces.
CbmLitTrackFinderNN::fSeedSelection
TrackSelectionPtr fSeedSelection
Definition: CbmLitTrackFinderNN.h:109
CbmLitTrackFinderNN::fUsedSeedsSet
std::set< Int_t > fUsedSeedsSet
Definition: CbmLitTrackFinderNN.h:107
LitStatus
LitStatus
Definition: CbmLitEnums.h:23
CbmLitTrackFinderNN::SetFinalSelection
void SetFinalSelection(TrackSelectionPtr finalSelection)
Definition: CbmLitTrackFinderNN.h:46
CbmLitTrackFinderNN::SetNofIterations
void SetNofIterations(Int_t nofIterations)
Definition: CbmLitTrackFinderNN.h:54
CbmLitTrackFinderNN::fChiSqPixelHitCut
vector< litfloat > fChiSqPixelHitCut
Definition: CbmLitTrackFinderNN.h:122
CbmLitTrackFinderNN::fChiSqStripHitCut
vector< litfloat > fChiSqStripHitCut
Definition: CbmLitTrackFinderNN.h:121
HitPtrVector
std::vector< CbmTofHit * > HitPtrVector
Definition: CbmTofTypes.h:14
CbmLitTrackFinderNN
Definition: CbmLitTrackFinderNN.h:23
CbmLitTrackFinderNN::SetSigmaCoef
void SetSigmaCoef(const vector< litfloat > &sigmaCoef)
Definition: CbmLitTrackFinderNN.h:65