CbmRoot
alignment/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 
44  virtual ~CbmRichReconstruction();
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; }
75  s + "/correction_table/correction_param_array.txt";
76  }
77 
82  void SetZTrackExtrapolation(Double_t z) { fZTrackExtrapolation = z; }
83 
84 private:
85  TClonesArray* fRichHits;
86  TClonesArray* fRichRings;
87  TClonesArray* fRichProjections;
88  TClonesArray* fRichTrackParamZ;
89  TClonesArray* fGlobalTracks;
90 
91  CbmRichRingFinder* fRingFinder; // pointer to ring finder algorithm
92  CbmRichRingFitterBase* fRingFitter; // pointer to ring fitting algorithm
94  fTrackExtrapolation; // pointer to track extrapolation algorithm
96  fProjectionProducer; // pointer to projection producer
98  fRingTrackAssign; // pointer to track assignment algorithm
99 
100  // What do you wan to run.
106 
107  // Algorithm names for each step of reconstruction.
108  string fExtrapolationName; // name of extrapolation algorithm
109  string fProjectionName; // name of track projection algorithm
110  string fFinderName; // name of ring finder algorithm
111  string fFitterName; // name of ring fitter algorithm
112  string fTrackAssignName; // name of track-ring matching algorithm
113  string
114  fPathToMirrorMisalignmentCorrectionParameterFile; // path to the mirror misalignment parameter file
115 
116  Double_t
117  fZTrackExtrapolation; // Z coordinate to which one wants to extrapolate STS tracks
118 
122  void InitExtrapolation();
123 
127  void InitProjection();
128 
132  void InitFinder();
133 
137  void InitFitter();
138 
142  void InitTrackAssign();
143 
147  void RunExtrapolation();
148 
152  void RunProjection();
153 
157  void RunFinder();
158 
162  void RunFitter();
163 
167  void RunTrackAssign();
168 
173 
178 
180 };
181 
182 #endif
CbmRichReconstruction::ClassDef
ClassDef(CbmRichReconstruction, 1)
CbmRichReconstruction::fRichProjections
TClonesArray * fRichProjections
Definition: alignment/CbmRichReconstruction.h:87
CbmRichReconstruction::SetRunFitter
void SetRunFitter(bool b)
Definition: alignment/CbmRichReconstruction.h:65
CbmRichReconstruction
Main class for running event reconstruction in the RICH detector.
Definition: alignment/CbmRichReconstruction.h:34
CbmRichReconstruction::RunFinder
void RunFinder()
Definition: alignment/CbmRichReconstruction.cxx:233
CbmRichReconstruction::fRingFitter
CbmRichRingFitterBase * fRingFitter
Definition: alignment/CbmRichReconstruction.h:92
CbmRichReconstruction::SetRunFinder
void SetRunFinder(bool b)
Definition: alignment/CbmRichReconstruction.h:64
CbmRichReconstruction::fRunExtrapolation
bool fRunExtrapolation
Definition: alignment/CbmRichReconstruction.h:101
CbmRichReconstruction::fPathToMirrorMisalignmentCorrectionParameterFile
string fPathToMirrorMisalignmentCorrectionParameterFile
Definition: alignment/CbmRichReconstruction.h:114
CbmRichReconstruction::fProjectionProducer
CbmRichProjectionProducerBase * fProjectionProducer
Definition: alignment/CbmRichReconstruction.h:96
CbmRichReconstruction::operator=
CbmRichReconstruction & operator=(const CbmRichReconstruction &)
Assignment operator.
CbmRichReconstruction::fRingTrackAssign
CbmRichRingTrackAssignBase * fRingTrackAssign
Definition: alignment/CbmRichReconstruction.h:98
CbmRichReconstruction::~CbmRichReconstruction
virtual ~CbmRichReconstruction()
Destructor.
Definition: alignment/CbmRichReconstruction.cxx:83
CbmRichReconstruction::fFitterName
string fFitterName
Definition: alignment/CbmRichReconstruction.h:111
CbmRichReconstruction::SetMirrorMisalignmentCorrectionParameterFile
void SetMirrorMisalignmentCorrectionParameterFile(string s)
Definition: alignment/CbmRichReconstruction.h:73
CbmRichReconstruction::Finish
virtual void Finish()
Inherited from FairTask.
Definition: alignment/CbmRichReconstruction.cxx:255
CbmRichReconstruction::SetRunExtrapolation
void SetRunExtrapolation(bool b)
Definition: alignment/CbmRichReconstruction.h:62
CbmRichReconstruction::CbmRichReconstruction
CbmRichReconstruction()
Default constructor.
Definition: alignment/CbmRichReconstruction.cxx:48
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()
Definition: alignment/CbmRichReconstruction.cxx:212
CbmRichReconstruction::Init
virtual InitStatus Init()
Inherited from FairTask.
Definition: alignment/CbmRichReconstruction.cxx:90
CbmRichReconstruction::fRunFitter
bool fRunFitter
Definition: alignment/CbmRichReconstruction.h:104
CbmRichReconstruction::InitExtrapolation
void InitExtrapolation()
Definition: alignment/CbmRichReconstruction.cxx:142
CbmRichReconstruction::InitFitter
void InitFitter()
Definition: alignment/CbmRichReconstruction.cxx:192
CbmRichReconstruction::fRunProjection
bool fRunProjection
Definition: alignment/CbmRichReconstruction.h:102
CbmRichReconstruction::RunTrackAssign
void RunTrackAssign()
Definition: alignment/CbmRichReconstruction.cxx:251
CbmRichReconstruction::fFinderName
string fFinderName
Definition: alignment/CbmRichReconstruction.h:110
CbmRichReconstruction::RunFitter
void RunFitter()
Definition: alignment/CbmRichReconstruction.cxx:238
CbmRichReconstruction::Exec
virtual void Exec(Option_t *opt)
Inherited from FairTask.
Definition: alignment/CbmRichReconstruction.cxx:133
CbmRichReconstruction::fExtrapolationName
string fExtrapolationName
Definition: alignment/CbmRichReconstruction.h:108
CbmRichReconstruction::RunProjection
void RunProjection()
Definition: alignment/CbmRichReconstruction.cxx:229
CbmRichReconstruction::fTrackAssignName
string fTrackAssignName
Definition: alignment/CbmRichReconstruction.h:112
CbmRichReconstruction::SetExtrapolationName
void SetExtrapolationName(const string &n)
Definition: alignment/CbmRichReconstruction.h:68
CbmRichReconstruction::CbmRichReconstruction
CbmRichReconstruction(const CbmRichReconstruction &)
Copy constructor.
CbmRichReconstruction::InitProjection
void InitProjection()
Definition: alignment/CbmRichReconstruction.cxx:158
CbmRichRingFitterBase
Abstract base class for concrete Rich Ring fitting algorithms. Each derived class must implement the ...
Definition: CbmRichRingFitterBase.h:23
CbmRichReconstruction::InitFinder
void InitFinder()
Definition: alignment/CbmRichReconstruction.cxx:173
CbmRichRingFinder
Definition: CbmRichRingFinder.h:32
CbmRichReconstruction::RunExtrapolation
void RunExtrapolation()
Definition: alignment/CbmRichReconstruction.cxx:222
CbmRichReconstruction::SetProjectionName
void SetProjectionName(const string &n)
Definition: alignment/CbmRichReconstruction.h:69
CbmRichReconstruction::fRichHits
TClonesArray * fRichHits
Definition: alignment/CbmRichReconstruction.h:85
CbmRichReconstruction::SetFitterName
void SetFitterName(const string &n)
Definition: alignment/CbmRichReconstruction.h:71
CbmRichReconstruction::fRichRings
TClonesArray * fRichRings
Definition: alignment/CbmRichReconstruction.h:86
CbmRichReconstruction::SetTrackAssignName
void SetTrackAssignName(const string &n)
Definition: alignment/CbmRichReconstruction.h:72
CbmRichReconstruction::SetRunTrackAssign
void SetRunTrackAssign(bool b)
Definition: alignment/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: alignment/CbmRichReconstruction.h:70
CbmRichReconstruction::fRichTrackParamZ
TClonesArray * fRichTrackParamZ
Definition: alignment/CbmRichReconstruction.h:88
CbmRichReconstruction::SetRunProjection
void SetRunProjection(bool b)
Definition: alignment/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: alignment/CbmRichReconstruction.h:82
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