CbmRoot
Loading...
Searching...
No Matches
alignment/CbmRichReconstruction.h
Go to the documentation of this file.
1/* Copyright (C) 2012-2017 Justus-Liebig-Universitaet Giessen, Giessen
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Semen Lebedev, Jordan Bendarouach [committer] */
4
14#ifndef CBM_RICH_RECONSTRUCTION
15#define CBM_RICH_RECONSTRUCTION
16
17#include "FairTask.h"
18
19#include <string>
20
21class TClonesArray;
27
28using std::string;
29
38class CbmRichReconstruction : public FairTask {
39 public:
44
48 virtual ~CbmRichReconstruction();
49
50
54 virtual InitStatus Init();
55
59 virtual void Exec(Option_t* opt);
60
64 virtual void Finish();
65
67 void SetRunProjection(bool b) { fRunProjection = b; }
68 void SetRunFinder(bool b) { fRunFinder = b; }
69 void SetRunFitter(bool b) { fRunFitter = b; }
70 void SetRunTrackAssign(bool b) { fRunTrackAssign = b; }
71
72 void SetExtrapolationName(const string& n) { fExtrapolationName = n; }
73 void SetProjectionName(const string& n) { fProjectionName = n; }
74 void SetFinderName(const string& n) { fFinderName = n; }
75 void SetFitterName(const string& n) { fFitterName = n; }
76 void SetTrackAssignName(const string& n) { fTrackAssignName = n; }
78 {
79 fPathToMirrorMisalignmentCorrectionParameterFile = s + "/correction_table/correction_param_array.txt";
80 }
81
87
88 private:
89 TClonesArray* fRichHits;
90 TClonesArray* fRichRings;
91 TClonesArray* fRichProjections;
92 TClonesArray* fRichTrackParamZ;
93 TClonesArray* fGlobalTracks;
94
95 CbmRichRingFinder* fRingFinder; // pointer to ring finder algorithm
96 CbmRichRingFitterBase* fRingFitter; // pointer to ring fitting algorithm
97 CbmRichTrackExtrapolationBase* fTrackExtrapolation; // pointer to track extrapolation algorithm
98 CbmRichProjectionProducerBase* fProjectionProducer; // pointer to projection producer
99 CbmRichRingTrackAssignBase* fRingTrackAssign; // pointer to track assignment algorithm
100
101 // What do you wan to run.
107
108 // Algorithm names for each step of reconstruction.
109 string fExtrapolationName; // name of extrapolation algorithm
110 string fProjectionName; // name of track projection algorithm
111 string fFinderName; // name of ring finder algorithm
112 string fFitterName; // name of ring fitter algorithm
113 string fTrackAssignName; // name of track-ring matching algorithm
114 string fPathToMirrorMisalignmentCorrectionParameterFile; // path to the mirror misalignment parameter file
115
116 Double_t fZTrackExtrapolation; // Z coordinate to which one wants to extrapolate STS tracks
117
121 void InitExtrapolation();
122
126 void InitProjection();
127
131 void InitFinder();
132
136 void InitFitter();
137
141 void InitTrackAssign();
142
146 void RunExtrapolation();
147
151 void RunProjection();
152
156 void RunFinder();
157
161 void RunFitter();
162
166 void RunTrackAssign();
167
172
177
179};
180
181#endif
Base class for STS track projections onto the photodetector plane.
Main class for running event reconstruction in the RICH detector.
virtual InitStatus Init()
Inherited from FairTask.
CbmRichReconstruction(const CbmRichReconstruction &)
Copy constructor.
CbmRichReconstruction & operator=(const CbmRichReconstruction &)
Assignment operator.
CbmRichRingTrackAssignBase * fRingTrackAssign
ClassDef(CbmRichReconstruction, 1)
void SetExtrapolationName(const string &n)
CbmRichTrackExtrapolationBase * fTrackExtrapolation
void SetZTrackExtrapolation(Double_t z)
Set Z coordinate where STS tracks will be extrapolated.
virtual void Exec(Option_t *opt)
Inherited from FairTask.
virtual void Finish()
Inherited from FairTask.
CbmRichProjectionProducerBase * fProjectionProducer
void SetMirrorMisalignmentCorrectionParameterFile(string s)
Abstract base class for concrete Rich Ring fitting algorithms. Each derived class must implement the ...
Base class for RICH rings - STS tracks matching algorithms.