BmnRoot
Loading...
Searching...
No Matches
BmnClusteringQa.h
Go to the documentation of this file.
1
8#ifndef BMNCLUSTERINGQA_H_
9#define BMNCLUSTERINGQA_H_
10
11#include "BmnDetectorList.h"
12#include "BmnGemStripStationSet.h"
13#include "BmnSiliconStationSet.h"
14#include "BmnHistManager.h"
15
16#include "FairTask.h"
17
18#include "TClonesArray.h"
19
20#include <string>
21#include <vector>
22
23using std::string;
24using std::vector;
25using std::map;
26
27
28class BmnClusteringQa : public FairTask {
29public:
34
39
43 virtual InitStatus Init();
44
48 virtual void Exec(
49 Option_t* opt);
50
54 virtual void Finish();
55
57 void SetOutputDir(const string& outputDir) {
58 fOutputDir = outputDir;
59 }
60
61 void SetOnlyPrimes(const Bool_t prime) {
62 fPrimes = prime;
63 }
64
65 Bool_t GetOnlyPrimes() const {
66 return fPrimes;
67 }
68
69private:
70
71 Int_t GetStationId(
72 Int_t address,
73 DetectorId detId);
74
78 void ReadDataBranches();
79
80 void ProcessPoints(
81 const TClonesArray* points,
82 const string& detName,
83 DetectorId detId);
84
85 void ProcessDigis(
86 const TClonesArray* digis,
87 const TClonesArray* digiMatches,
88 const string& detName,
89 DetectorId detId);
90
91 void ProcessClusters(
92 const TClonesArray* clusters,
93 const TClonesArray* clusterMatches,
94 const string& detName,
95 DetectorId detId);
96
97 void ProcessHits(
98 const TClonesArray* hits,
99 const TClonesArray* hitMatches,
100 const string& detName,
101 DetectorId detId);
102
103
104 void ReadEventHeader();
105
109 void FillEventCounterHistograms();
110
114 void CreateHistograms();
115
119 void CreateNofObjectsHistograms(
120 DetectorId detId,
121 const string& detName);
122
126 void CreateNofObjectsHistograms(
127 DetectorId detId,
128 const string& detName,
129 const string& parameter,
130 const string& xTitle);
131
132 void CreateClusterParametersHistograms(
133 DetectorId detId,
134 const string& detName);
135
136 void FillResidualAndPullHistograms(
137 const TClonesArray* points,
138 const TClonesArray* hits,
139 const TClonesArray* hitMatches,
140 const string& detName,
141 DetectorId detId);
142
143 void FillHitEfficiencyHistograms(
144 const TClonesArray* points,
145 const TClonesArray* hits,
146 const TClonesArray* hitMatches,
147 const string& detName,
148 DetectorId detId);
149
150 void CreateHitEfficiencyHistograms(
151 DetectorId detId,
152 const string& detName,
153 const string& parameter,
154 const string& xTitle,
155 Int_t nofBins,
156 Double_t minBin,
157 Double_t maxBin);
158
159 void CreateH1(
160 const string& name,
161 const string& xTitle,
162 const string& yTitle,
163 Int_t nofBins,
164 Double_t minBin,
165 Double_t maxBin);
166
167 void CreateH2(
168 const string& name,
169 const string& xTitle,
170 const string& yTitle,
171 const string& zTitle,
172 Int_t nofBinsX,
173 Double_t minBinX,
174 Double_t maxBinX,
175 Int_t nofBinsY,
176 Double_t minBinY,
177 Double_t maxBinY);
178
179 BmnHistManager* fHM; // Histogram manager
180 string fOutputDir; // Output directory for results
181
182 // Pointers to data arrays
183 TClonesArray* fMCTracks;
184
185 // TClonesArray* fMvdPoints; // CbmMvdPoint array
186 // TClonesArray* fMvdDigis; // CbmMvdDigi array
187 // TClonesArray* fMvdClusters; // CbmMvdClusters array
188 // TClonesArray* fMvdHits; // CbmMvdHit array
189
190 TClonesArray* fGemPoints;
191 TClonesArray* fGemDigits;
192 // TClonesArray* fGemClusters;
193 TClonesArray* fGemHits;
194 TClonesArray* fGemDigitMatches;
195 // TClonesArray* fGemClusterMatches;
196 TClonesArray* fGemHitMatches;
197
198 BmnGemStripStationSet* fGemDetector;
199 BmnSiliconStationSet* fSilDetector;
200
201 TClonesArray* fSilHits;
202 TClonesArray* fSilPoints;
203 TClonesArray* fSilHitMatches;
204
205 TClonesArray* fDch1Points;
206 TClonesArray* fDch1Hits;
207 TClonesArray* fDch1HitMatches;
208
209 Bool_t fPrimes; //calculate efficiency only for primaries or for all particles
210
211 BmnClusteringQa(const BmnClusteringQa&) = delete;
212 BmnClusteringQa& operator=(const BmnClusteringQa&) = delete;
213
214 ClassDef(BmnClusteringQa, 1);
215};
216
217#endif /* BMNCLUSTERINGQA_H_ */
DetectorId
virtual void Exec(Option_t *opt)
Derived from FairTask.
virtual ~BmnClusteringQa()
Destructor.
virtual void Finish()
Derived from FairTask.
BmnClusteringQa()
Constructor.
virtual InitStatus Init()
Derived from FairTask.
void SetOnlyPrimes(const Bool_t prime)
void SetOutputDir(const string &outputDir)
Bool_t GetOnlyPrimes() const
Histogram manager.