CbmRoot
CbmRichReconstruction.h
Go to the documentation of this file.
1 
10 #ifndef CBM_RICH_RECONSTRUCTION
11 #define CBM_RICH_RECONSTRUCTION
12 
13 #include "FairTask.h"
14 
15 #include <string>
16 
17 class TClonesArray;
18 class CbmRichRingFinder;
23 
24 using std::string;
25 
34 class CbmRichReconstruction : public FairTask {
35 public:
40 
45 
46 
50  virtual InitStatus Init();
51 
55  virtual void Exec(Option_t* opt);
56 
60  virtual void Finish();
61 
62  void SetRunExtrapolation(bool b) { fRunExtrapolation = b; }
63  void SetRunProjection(bool b) { fRunProjection = b; }
64  void SetRunFinder(bool b) { fRunFinder = b; }
65  void SetRunFitter(bool b) { fRunFitter = b; }
66  void SetRunTrackAssign(bool b) { fRunTrackAssign = b; }
67 
68  void SetExtrapolationName(const string& n) { fExtrapolationName = n; }
69  void SetProjectionName(const string& n) { fProjectionName = n; }
70  void SetFinderName(const string& n) { fFinderName = n; }
71  void SetFitterName(const string& n) { fFitterName = n; }
72  void SetTrackAssignName(const string& n) { fTrackAssignName = n; }
73 
74  void SetUseHTAnnSelect(bool select) { fUseHTAnnSelect = select; }
75 
80  void SetZTrackExtrapolation(Double_t z) { fZTrackExtrapolation = z; }
81 
82  void UseMCbmSetup() {
83  this->SetRunExtrapolation(false);
84  this->SetRunProjection(false);
85  this->SetRunTrackAssign(false);
86  this->SetUseHTAnnSelect(false);
87  }
88 
89 private:
90  TClonesArray* fRichHits;
91  TClonesArray* fRichRings;
92  TClonesArray* fRichProjections;
93  TClonesArray* fRichTrackParamZ;
94  TClonesArray* fGlobalTracks;
95 
96  CbmRichRingFinder* fRingFinder; // pointer to ring finder algorithm
97  CbmRichRingFitterBase* fRingFitter; // pointer to ring fitting algorithm
99  fTrackExtrapolation; // pointer to track extrapolation algorithm
101  fProjectionProducer; // pointer to projection producer
103  fRingTrackAssign; // pointer to track assignment algorithm
104 
105  // What do you wan to run.
106  bool fRunExtrapolation;
107  bool fRunProjection;
108  bool fRunFinder;
109  bool fRunFitter;
110  bool fRunTrackAssign;
111 
113 
114  // Algorithm names for each step of reconstruction.
115  string fExtrapolationName; // name of extrapolation algorithm
116  string fProjectionName; // name of track projection algorithm
117  string fFinderName; // name of ring finder algorithm
118  string fFitterName; // name of ring fitter algorithm
119  string fTrackAssignName; // name of track-ring matching algorithm
120 
121  Double_t
122  fZTrackExtrapolation; // Z coordinate to which one wants to extrapolate STS tracks
123 
128 
133 
137  void InitFinder();
138 
142  void InitFitter();
143 
148 
153 
158 
162  void RunFinder();
163 
167  void RunFitter();
168 
173 
178 
183 
185 };
186 
187 #endif
CbmRichReconstruction::ClassDef
ClassDef(CbmRichReconstruction, 1)
CbmRichReconstruction::fRichProjections
TClonesArray * fRichProjections
Definition: alignment/CbmRichReconstruction.h:87
CbmRichReconstruction::SetRunFitter
void SetRunFitter(bool b)
Definition: CbmRichReconstruction.h:65
CbmRichReconstruction
Main class for running event reconstruction in the RICH detector.
Definition: alignment/CbmRichReconstruction.h:34
CbmRichReconstruction::RunFinder
void RunFinder()
CbmRichReconstruction::fRingFitter
CbmRichRingFitterBase * fRingFitter
Definition: alignment/CbmRichReconstruction.h:92
CbmRichReconstruction::SetRunFinder
void SetRunFinder(bool b)
Definition: CbmRichReconstruction.h:64
CbmRichReconstruction::fRunExtrapolation
bool fRunExtrapolation
Definition: alignment/CbmRichReconstruction.h:101
CbmRichReconstruction::fProjectionProducer
CbmRichProjectionProducerBase * fProjectionProducer
Definition: alignment/CbmRichReconstruction.h:96
CbmRichReconstruction::fUseHTAnnSelect
bool fUseHTAnnSelect
Definition: CbmRichReconstruction.h:112
CbmRichReconstruction::~CbmRichReconstruction
virtual ~CbmRichReconstruction()
Destructor.
CbmRichReconstruction::operator=
CbmRichReconstruction & operator=(const CbmRichReconstruction &)
Assignment operator.
CbmRichReconstruction::fRingTrackAssign
CbmRichRingTrackAssignBase * fRingTrackAssign
Definition: alignment/CbmRichReconstruction.h:98
CbmRichReconstruction::fFitterName
string fFitterName
Definition: alignment/CbmRichReconstruction.h:111
CbmRichReconstruction::Init
virtual InitStatus Init()
Inherited from FairTask.
CbmRichReconstruction::SetRunExtrapolation
void SetRunExtrapolation(bool b)
Definition: CbmRichReconstruction.h:62
CbmRichReconstruction::CbmRichReconstruction
CbmRichReconstruction()
Default constructor.
CbmRichReconstruction::fProjectionName
string fProjectionName
Definition: alignment/CbmRichReconstruction.h:109
CbmRichReconstruction::fZTrackExtrapolation
Double_t fZTrackExtrapolation
Definition: alignment/CbmRichReconstruction.h:117
CbmRichReconstruction::fRunTrackAssign
bool fRunTrackAssign
Definition: alignment/CbmRichReconstruction.h:105
CbmRichRingTrackAssignBase
Base class for RICH rings - STS tracks matching algorithms.
Definition: CbmRichRingTrackAssignBase.h:23
CbmRichReconstruction::InitTrackAssign
void InitTrackAssign()
CbmRichReconstruction::UseMCbmSetup
void UseMCbmSetup()
Definition: CbmRichReconstruction.h:82
CbmRichReconstruction::fRunFitter
bool fRunFitter
Definition: alignment/CbmRichReconstruction.h:104
CbmRichReconstruction::InitExtrapolation
void InitExtrapolation()
CbmRichReconstruction::SetUseHTAnnSelect
void SetUseHTAnnSelect(bool select)
Definition: CbmRichReconstruction.h:74
CbmRichReconstruction::Finish
virtual void Finish()
Inherited from FairTask.
CbmRichReconstruction::InitFitter
void InitFitter()
CbmRichReconstruction::fRunProjection
bool fRunProjection
Definition: alignment/CbmRichReconstruction.h:102
CbmRichReconstruction::RunTrackAssign
void RunTrackAssign()
CbmRichReconstruction::fFinderName
string fFinderName
Definition: alignment/CbmRichReconstruction.h:110
CbmRichReconstruction::RunFitter
void RunFitter()
CbmRichReconstruction::fExtrapolationName
string fExtrapolationName
Definition: alignment/CbmRichReconstruction.h:108
CbmRichReconstruction::RunProjection
void RunProjection()
CbmRichReconstruction::fTrackAssignName
string fTrackAssignName
Definition: alignment/CbmRichReconstruction.h:112
CbmRichReconstruction::SetExtrapolationName
void SetExtrapolationName(const string &n)
Definition: CbmRichReconstruction.h:68
CbmRichReconstruction::CbmRichReconstruction
CbmRichReconstruction(const CbmRichReconstruction &)
Copy constructor.
CbmRichReconstruction::InitProjection
void InitProjection()
CbmRichRingFitterBase
Abstract base class for concrete Rich Ring fitting algorithms. Each derived class must implement the ...
Definition: CbmRichRingFitterBase.h:23
CbmRichReconstruction::InitFinder
void InitFinder()
CbmRichRingFinder
Definition: CbmRichRingFinder.h:32
CbmRichReconstruction::RunExtrapolation
void RunExtrapolation()
CbmRichReconstruction::SetProjectionName
void SetProjectionName(const string &n)
Definition: CbmRichReconstruction.h:69
CbmRichReconstruction::fRichHits
TClonesArray * fRichHits
Definition: alignment/CbmRichReconstruction.h:85
CbmRichReconstruction::SetFitterName
void SetFitterName(const string &n)
Definition: CbmRichReconstruction.h:71
CbmRichReconstruction::Exec
virtual void Exec(Option_t *opt)
Inherited from FairTask.
CbmRichReconstruction::fRichRings
TClonesArray * fRichRings
Definition: alignment/CbmRichReconstruction.h:86
CbmRichReconstruction::SetTrackAssignName
void SetTrackAssignName(const string &n)
Definition: CbmRichReconstruction.h:72
CbmRichReconstruction::SetRunTrackAssign
void SetRunTrackAssign(bool b)
Definition: CbmRichReconstruction.h:66
CbmRichReconstruction::fTrackExtrapolation
CbmRichTrackExtrapolationBase * fTrackExtrapolation
Definition: alignment/CbmRichReconstruction.h:94
CbmRichTrackExtrapolationBase
Definition: CbmRichTrackExtrapolationBase.h:15
CbmRichReconstruction::SetFinderName
void SetFinderName(const string &n)
Definition: CbmRichReconstruction.h:70
CbmRichReconstruction::fRichTrackParamZ
TClonesArray * fRichTrackParamZ
Definition: alignment/CbmRichReconstruction.h:88
CbmRichReconstruction::SetRunProjection
void SetRunProjection(bool b)
Definition: CbmRichReconstruction.h:63
CbmRichProjectionProducerBase
Base class for STS track projections onto the photodetector plane.
Definition: alignment/CbmRichProjectionProducerBase.h:27
CbmRichReconstruction::SetZTrackExtrapolation
void SetZTrackExtrapolation(Double_t z)
Set Z coordinate where STS tracks will be extrapolated.
Definition: CbmRichReconstruction.h:80
CbmRichReconstruction::fGlobalTracks
TClonesArray * fGlobalTracks
Definition: alignment/CbmRichReconstruction.h:89
CbmRichReconstruction::fRunFinder
bool fRunFinder
Definition: alignment/CbmRichReconstruction.h:103
CbmRichReconstruction::fRingFinder
CbmRichRingFinder * fRingFinder
Definition: alignment/CbmRichReconstruction.h:91