BmnRoot
Loading...
Searching...
No Matches
BmnLambdaQa.h
Go to the documentation of this file.
1
10#ifndef BMNLAMBDAQA_H_
11#define BMNLAMBDAQA_H_
12
13#include "FairTask.h"
14#include <string>
15#include <vector>
16#include "BmnSimulationReport.h"
17#include "BmnHistManager.h"
18#include "BmnParticlePairsInfo.h"
19
20using std::string;
21using std::vector;
22using std::map;
23class BmnHistManager;
24class TClonesArray;
25
26class BmnLambdaQa : public FairTask {
27public:
28
34 virtual ~BmnLambdaQa();
35
39 virtual InitStatus Init();
40
44 virtual void Exec(Option_t* opt);
45
49 virtual void Finish();
50
51 // Geometry cuts
52 void SetDCA1(Double_t min, Double_t max) {
53 fDCA[0][0] = min;
54 fDCA[0][1] = max;
55 }
56
57 void SetDCA2(Double_t min, Double_t max) {
58 fDCA[1][0] = min;
59 fDCA[1][1] = max;
60 }
61
62 void SetDCA12(Double_t min, Double_t max) {
63 fDCA12[0] = min;
64 fDCA12[1] = max;
65 }
66
67 void SetPath(Double_t min, Double_t max) {
68 fPath[0] = min;
69 fPath[1] = max;
70 }
71
72 // Kinematical cuts
73 void SetMom1(Double_t min, Double_t max) {
74 fMom[0][0] = min;
75 fMom[0][1] = max;
76 }
77
78 void SetMom2(Double_t min, Double_t max) {
79 fMom[1][0] = min;
80 fMom[1][1] = max;
81 }
82
83 void SetEta1(Double_t min, Double_t max) {
84 fEta[0][0] = min;
85 fEta[0][1] = max;
86 }
87
88 void SetEta2(Double_t min, Double_t max) {
89 fEta[1][0] = min;
90 fEta[1][1] = max;
91 }
92
93private:
94 BmnHistManager* fHM;
95 string fOutputDir;
96 void ReadDataBranches();
97 void CreateH1(const string& name, const string& xTitle, const string& yTitle, Int_t nofBins, Double_t minBin, Double_t maxBin);
98 void CreateH2(
99 const string& name,
100 const string& xTitle,
101 const string& yTitle,
102 const string& zTitle,
103 Int_t nofBinsX,
104 Double_t minBinX,
105 Double_t maxBinX,
106 Int_t nofBinsY,
107 Double_t minBinY,
108 Double_t maxBinY);
109 void CreateNumberOfReconstructableLambdaHistograms();
110 void CreateNumberOfLambdaHistograms();
111 void CreateLambdaRecEfficiencyHistograms();
112 void CreateTwoDimensionalRecEfficiencyHistograms();
113 void CreateNumberOLambdaDecayProtonsHistograms();
114 void CreateNumberOfLambdaDecayMesonsHistograms();
115 void CreateRecProtonsRecEfficiencyHistograms();
116 void CreateRecMesonsRecEfficiencyHistograms();
117 void CreateTwoDimensionalRecProtonsRecEfficiencyHistograms();
118 void CreateTwoDimensionalRecMesonsRecEfficiencyHistograms();
119 void CreateNumberOfReconstrcutedLambdaHistograms();
120 void CreateReconstructionEfficiencyHistograms();
121 void CreateTwoDimensionalRealRecEfficiencyHistograms();
122 void CreateNumberOfReconstrcutedRecProtonHistograms();
123 void CreateTwoDimensionalNumberOfReconstructedProtonsHistograms();
124 void CreateRecProtonsReconstructionEfficiencyHistograms();
125 void CreateNumberOfReconstrcutedRecMesonsHistograms();
126 void CreateTwoDimensionalNumberOfReconstructedMesonsHistograms();
127 void CreateRecMesonsReconstructionEfficiencyHistograms();
128 void CreateReconstructedParticlePairsFromMCDataHistograms();
129 void CreateTwoDimensionalReconstructedParticlePairsFromMCDataHistograms();
130 void CreateReconstructedParticlePairsFromMCDataWOCutsHistograms();
131 void CreateTwoDimensionalReconstructedParticlePairsFromMCDataWOCutsHistograms();
132 void CreateFakeLambdaHistograms();
133 void CreateTwoDimensionalFakeLambdaHistograms();
134 void CreateNumberOfNotReconstructedLambdaHistograms();
135 void CreateReconstructedParticlePairsHistograms();
136 void CreateTwoDimensionalReconstructedParticlePairsHistograms();
137 void CreateReconstructedParticlePairsWOCutsHistograms();
138 void CreateTwoDimensionalReconstructedParticlePairsWOCutsHistograms();
139
140 /*BmnLambdaQa(const BmnLambdaQa&) = delete;
141 BmnLambdaQa& operator=(const BmnLambdaQa&) = delete;*/
142
143 Int_t fNLambdas;
144 Int_t fNReconstructable;
145 Int_t fNOfParticlePairs;
146 Int_t fNOfParticlePairsWithMatchedLambda;
147 Int_t fNOfParticlePairsMC; // number of reconstructed particle pairs from MC data
148 Int_t fNOfParticlePairsMCAll; // number of reconstructed particle pair from MC data without any cuts
149 Int_t fNOfLambdasParticlePairsMC;
150 Int_t fNOfBins;
151 Int_t fLambdaPRangeMin;
152 Int_t fLambdaPRangeMax;
153 Int_t fLambdaEtaRangeMin;
154 Int_t fLambdaEtaRangeMax;
155 Int_t fLambdaThetaRangeMin;
156 Int_t fLambdaThetaRangeMax;
157 Int_t fLambdaThetaRRangeMin;
158 Int_t fLambdaThetaRRangeMax;
159 Int_t fProtonsPRangeMin;
160 Int_t fProtonsPRangeMax;
161 Int_t fProtonsEtaRangeMin;
162 Int_t fProtonsEtaRangeMax;
163 Int_t fProtonsThetaRangeMin;
164 Int_t fProtonsThetaRangeMax;
165 Int_t fProtonsThetaRRangeMin;
166 Int_t fProtonsThetaRRangeMax;
167 Int_t fMesonsPRangeMin;
168 Int_t fMesonsPRangeMax;
169 Int_t fMesonsEtaRangeMin;
170 Int_t fMesonsEtaRangeMax;
171 Int_t fMesonsThetaRangeMin;
172 Int_t fMesonsThetaRangeMax;
173 Int_t fMesonsThetaRRangeMin;
174 Int_t fMesonsThetaRRangeMax;
175 Int_t fInvMassMin;
176 Int_t fInvMassMax;
177 Int_t fDCA1RangeMin;
178 Int_t fDCA1RangeMax;
179 Int_t fDCA2RangeMin;
180 Int_t fDCA2RangeMax;
181 Int_t fDCA12XRangeMin;
182 Int_t fDCA12XRangeMax;
183 Int_t fDCA12YRangeMin;
184 Int_t fDCA12YRangeMax;
185 Int_t fPathRangeMin;
186 Int_t fPathRangeMax;
187
188 Bool_t fUseMCFile;
189 Bool_t fUseRecoFile;
190
191 TClonesArray* fMCTracks;
192 TClonesArray* fGlobalTracks;
193 TClonesArray* fSiliconPoints;
194 TClonesArray* fSSDPoints;
195
196 TClonesArray* fParticlePair;
197 TClonesArray* fParticlePair_MC;
198 TClonesArray* fParticlePair_RECO;
199
200 static Int_t fCurrentEvent;
201
202 // Kinematic cuts
203 Double_t fMom[2][2]; // [2] --> (proton, pion), [2] --> (min, max)
204 Double_t fEta[2][2]; // Cuts on pseudorapidity
205
206 // Geometry cuts
207 Double_t fPath[2];
208 Double_t fDCA[2][2]; // [2] --> (proton, pion), [2] --> (min, max)
209 Double_t fDCA12[2];
210
211 ClassDef(BmnLambdaQa, 1);
212};
213
214#endif /* BMNLAMBDAQA_H_ */
friend F32vec4 min(const F32vec4 &a, const F32vec4 &b)
Definition P4_F32vec4.h:30
friend F32vec4 max(const F32vec4 &a, const F32vec4 &b)
Definition P4_F32vec4.h:31
Histogram manager.
void SetDCA12(Double_t min, Double_t max)
Definition BmnLambdaQa.h:62
void SetEta1(Double_t min, Double_t max)
Definition BmnLambdaQa.h:83
void SetPath(Double_t min, Double_t max)
Definition BmnLambdaQa.h:67
virtual InitStatus Init()
Derived from FairTask.
virtual void Exec(Option_t *opt)
Derived from FairTask.
void SetEta2(Double_t min, Double_t max)
Definition BmnLambdaQa.h:88
void SetDCA2(Double_t min, Double_t max)
Definition BmnLambdaQa.h:57
virtual void Finish()
Derived from FairTask.
void SetMom2(Double_t min, Double_t max)
Definition BmnLambdaQa.h:78
void SetMom1(Double_t min, Double_t max)
Definition BmnLambdaQa.h:73
virtual ~BmnLambdaQa()
Destructor.
void SetDCA1(Double_t min, Double_t max)
Definition BmnLambdaQa.h:52