25
25
using namespace o2 ;
26
26
using namespace o2 ::framework;
27
27
28
- namespace o2 ::analysis::femtoUniverse {
28
+ namespace o2 ::analysis::femtoUniverse
29
+ {
29
30
30
31
// / \class femtoUniverseSHContainer
31
32
// / \brief Container for all histogramming related to the spherical harmonics of
@@ -35,8 +36,9 @@ namespace o2::analysis::femtoUniverse {
35
36
// / \tparam obs Observable to be computed (k*/Q_inv/...)
36
37
template <femtoUniverseSHContainer::EventType eventType,
37
38
femtoUniverseSHContainer::Observable obs>
38
- class PairSHCentMultKt {
39
- public:
39
+ class PairSHCentMultKt
40
+ {
41
+ public:
40
42
virtual ~PairSHCentMultKt () = default ;
41
43
// / @brief
42
44
// / \tparam t1
@@ -46,8 +48,9 @@ class PairSHCentMultKt {
46
48
// / \param ktbins Number of kT bins
47
49
// / \param maxl Maximum valie of L component of the spherical harmonics
48
50
template <typename t1>
49
- void init (HistogramRegistry *registry, t1 &kstarbins, t1 ¢multbins,
50
- t1 &ktbins, int maxl) {
51
+ void init (HistogramRegistry* registry, t1& kstarbins, t1& centmultbins,
52
+ t1& ktbins, int maxl)
53
+ {
51
54
PairSHCentMultKtRegistry = registry;
52
55
AxisSpec kstarAxis = {kstarbins, " #it{k*} (GeV/#it{c})" };
53
56
KStarBins = kstarbins;
@@ -91,32 +94,32 @@ class PairSHCentMultKt {
91
94
int highBin = static_cast <int >((CentMultBins[i + 1 ]));
92
95
93
96
std::string HistTitle =
94
- " mult_" + std::to_string (lowBin) + " -" + std::to_string (highBin);
97
+ " mult_" + std::to_string (lowBin) + " -" + std::to_string (highBin);
95
98
std::string HistSuffix1 =
96
- std::to_string (static_cast <int >(CentMultBins[i]));
99
+ std::to_string (static_cast <int >(CentMultBins[i]));
97
100
std::string HistSuffix2 =
98
- std::to_string (static_cast <int >(CentMultBins[i + 1 ]));
101
+ std::to_string (static_cast <int >(CentMultBins[i + 1 ]));
99
102
std::string HistFolderMult = " mult_" + HistSuffix1 + " _" + HistSuffix2;
100
103
101
104
for (int j = 0 ; j < static_cast <int >(KtBins.size () - 1 ); j++) {
102
105
int ktlowBin = static_cast <int >(KtBins[j]);
103
106
int kthighBin = static_cast <int >(KtBins[j + 1 ]);
104
107
105
108
std::string HistTitlekT =
106
- " kT_" + std::to_string (ktlowBin) + " -" + std::to_string (kthighBin);
109
+ " kT_" + std::to_string (ktlowBin) + " -" + std::to_string (kthighBin);
107
110
std::string HistSuffixkT1 =
108
- std::to_string (static_cast <int >(KtBins[j] * 100.0 ));
111
+ std::to_string (static_cast <int >(KtBins[j] * 100.0 ));
109
112
std::string HistSuffixkT2 =
110
- std::to_string (static_cast <int >(KtBins[j + 1 ] * 100.0 ));
113
+ std::to_string (static_cast <int >(KtBins[j + 1 ] * 100.0 ));
111
114
std::string HistFolderkT = " kT_" + HistSuffixkT1 + " _" + HistSuffixkT2;
112
115
113
116
std::string suffix;
114
117
fbinctn[i][j] = new TH1D (
115
- TString (" BinCountNum" ), " Bin Occupation (Numerator)" ,
116
- static_cast <int >(KStarBins[0 ]), KStarBins[1 ], KStarBins[2 ]);
118
+ TString (" BinCountNum" ), " Bin Occupation (Numerator)" ,
119
+ static_cast <int >(KStarBins[0 ]), KStarBins[1 ], KStarBins[2 ]);
117
120
fbinctd[i][j] = new TH1D (
118
- TString (" BinCountDen" ), " Bin Occupation (Denominator)" ,
119
- static_cast <int >(KStarBins[0 ]), KStarBins[1 ], KStarBins[2 ]);
121
+ TString (" BinCountDen" ), " Bin Occupation (Denominator)" ,
122
+ static_cast <int >(KStarBins[0 ]), KStarBins[1 ], KStarBins[2 ]);
120
123
121
124
for (int ihist = 0 ; ihist < fMaxJM ; ihist++) {
122
125
if (femsi[ihist] < 0 ) {
@@ -128,47 +131,47 @@ class PairSHCentMultKt {
128
131
}
129
132
if (mFolderSuffix [mEventType ] == mFolderSuffix [0 ]) {
130
133
fnumsreal[i][j][ihist] = PairSHCentMultKtRegistry->add <TH1>(
131
- (HistFolderMult + " /" + HistFolderkT + " /" + " NumRe" + suffix)
132
- .c_str (),
133
- (" ; " + femtoObs1D + " ; Entries" ).c_str (), kTH1D ,
134
- {femtoObsAxis1D});
134
+ (HistFolderMult + " /" + HistFolderkT + " /" + " NumRe" + suffix)
135
+ .c_str (),
136
+ (" ; " + femtoObs1D + " ; Entries" ).c_str (), kTH1D ,
137
+ {femtoObsAxis1D});
135
138
fnumsimag[i][j][ihist] = PairSHCentMultKtRegistry->add <TH1>(
136
- (HistFolderMult + " /" + HistFolderkT + " /" + " NumIm" + suffix)
137
- .c_str (),
138
- (" ; " + femtoObs1D + " ; Entries" ).c_str (), kTH1D ,
139
- {femtoObsAxis1D});
139
+ (HistFolderMult + " /" + HistFolderkT + " /" + " NumIm" + suffix)
140
+ .c_str (),
141
+ (" ; " + femtoObs1D + " ; Entries" ).c_str (), kTH1D ,
142
+ {femtoObsAxis1D});
140
143
} else {
141
144
fdensreal[i][j][ihist] = PairSHCentMultKtRegistry->add <TH1>(
142
- (HistFolderMult + " /" + HistFolderkT + " /" + " DenRe" + suffix)
143
- .c_str (),
144
- (" ; " + femtoObs1D + " ; Entries" ).c_str (), kTH1D ,
145
- {femtoObsAxis1D});
145
+ (HistFolderMult + " /" + HistFolderkT + " /" + " DenRe" + suffix)
146
+ .c_str (),
147
+ (" ; " + femtoObs1D + " ; Entries" ).c_str (), kTH1D ,
148
+ {femtoObsAxis1D});
146
149
fdensimag[i][j][ihist] = PairSHCentMultKtRegistry->add <TH1>(
147
- (HistFolderMult + " /" + HistFolderkT + " /" + " DenIm" + suffix)
148
- .c_str (),
149
- (" ; " + femtoObs1D + " ; Entries" ).c_str (), kTH1D ,
150
- {femtoObsAxis1D});
150
+ (HistFolderMult + " /" + HistFolderkT + " /" + " DenIm" + suffix)
151
+ .c_str (),
152
+ (" ; " + femtoObs1D + " ; Entries" ).c_str (), kTH1D ,
153
+ {femtoObsAxis1D});
151
154
}
152
155
}
153
156
154
157
if (mFolderSuffix [mEventType ] == mFolderSuffix [0 ]) {
155
158
std::string bufnameNum = " CovNum" ;
156
159
fcovnum[i][j] = PairSHCentMultKtRegistry->add <TH3>(
157
- (HistFolderMult + " /" + HistFolderkT + " /" + bufnameNum).c_str (),
158
- " ; x; y; z" , kTH3D ,
159
- {{kstarbins},
160
- {(fMaxJM * 2 ), -0.5 , ((static_cast <float >(fMaxJM ) * 2.0 - 0.5 ))},
161
- {(fMaxJM * 2 ), -0.5 ,
162
- ((static_cast <float >(fMaxJM ) * 2.0 - 0.5 ))}});
160
+ (HistFolderMult + " /" + HistFolderkT + " /" + bufnameNum).c_str (),
161
+ " ; x; y; z" , kTH3D ,
162
+ {{kstarbins},
163
+ {(fMaxJM * 2 ), -0.5 , ((static_cast <float >(fMaxJM ) * 2.0 - 0.5 ))},
164
+ {(fMaxJM * 2 ), -0.5 ,
165
+ ((static_cast <float >(fMaxJM ) * 2.0 - 0.5 ))}});
163
166
} else if (mFolderSuffix [mEventType ] == mFolderSuffix [1 ]) {
164
167
std::string bufnameDen = " CovDen" ;
165
168
fcovden[i][j] = PairSHCentMultKtRegistry->add <TH3>(
166
- (HistFolderMult + " /" + HistFolderkT + " /" + bufnameDen).c_str (),
167
- " ; x; y; z" , kTH3D ,
168
- {{kstarbins},
169
- {(fMaxJM * 2 ), -0.5 , ((static_cast <float >(fMaxJM ) * 2.0 - 0.5 ))},
170
- {(fMaxJM * 2 ), -0.5 ,
171
- ((static_cast <float >(fMaxJM ) * 2.0 - 0.5 ))}});
169
+ (HistFolderMult + " /" + HistFolderkT + " /" + bufnameDen).c_str (),
170
+ " ; x; y; z" , kTH3D ,
171
+ {{kstarbins},
172
+ {(fMaxJM * 2 ), -0.5 , ((static_cast <float >(fMaxJM ) * 2.0 - 0.5 ))},
173
+ {(fMaxJM * 2 ), -0.5 ,
174
+ ((static_cast <float >(fMaxJM ) * 2.0 - 0.5 ))}});
172
175
}
173
176
}
174
177
}
@@ -180,8 +183,9 @@ class PairSHCentMultKt {
180
183
// / component of the spherical harmonics \param multval Multiplicity value
181
184
// / \param ktval kT value
182
185
template <typename T>
183
- void fill_mult_NumDen (T const &part1, T const &part2, uint8_t ChosenEventType,
184
- int maxl, int multval, float ktval) {
186
+ void fill_mult_NumDen (T const & part1, T const & part2, uint8_t ChosenEventType,
187
+ int maxl, int multval, float ktval)
188
+ {
185
189
int multbinval;
186
190
int absmultval = multval;
187
191
@@ -208,8 +212,9 @@ class PairSHCentMultKt {
208
212
// / \param multval Multiplicity value
209
213
// / \param ktval kT value
210
214
template <typename T>
211
- void fill_kT_NumDen (T const &part1, T const &part2, uint8_t ChosenEventType,
212
- int maxl, int multval, float ktval) {
215
+ void fill_kT_NumDen (T const & part1, T const & part2, uint8_t ChosenEventType,
216
+ int maxl, int multval, float ktval)
217
+ {
213
218
int ktbinval = -1 ;
214
219
if ((ktval > KtBins[0 ]) && (ktval <= KtBins[1 ])) {
215
220
ktbinval = 0 ;
@@ -228,7 +233,8 @@ class PairSHCentMultKt {
228
233
// / Set the PDG codes of the two particles involved
229
234
// / \param pdg1 PDG code of particle one
230
235
// / \param pdg2 PDG code of particle two
231
- void setPDGCodes (const int pdg1, const int pdg2) {
236
+ void setPDGCodes (const int pdg1, const int pdg2)
237
+ {
232
238
mMassOne = TDatabasePDG::Instance ()->GetParticle (pdg1)->Mass ();
233
239
mMassTwo = TDatabasePDG::Instance ()->GetParticle (pdg2)->Mass ();
234
240
mPDGOne = pdg1;
@@ -241,7 +247,8 @@ class PairSHCentMultKt {
241
247
// / \param zeroimag
242
248
// / \param ilmprim
243
249
// / \param primimag
244
- int GetBin (int qbin, int ilmzero, int zeroimag, int ilmprim, int primimag) {
250
+ int GetBin (int qbin, int ilmzero, int zeroimag, int ilmprim, int primimag)
251
+ {
245
252
return qbin * fMaxJM * fMaxJM * 4 + (ilmprim * 2 + primimag) * fMaxJM * 2 +
246
253
ilmzero * 2 + zeroimag;
247
254
}
@@ -254,8 +261,9 @@ class PairSHCentMultKt {
254
261
// / \param multval Multiplicity value
255
262
// / \param ktval kT value
256
263
template <typename T>
257
- void AddEventPair (T const &part1, T const &part2, uint8_t ChosenEventType,
258
- int maxl, int multval, int ktval) {
264
+ void AddEventPair (T const & part1, T const & part2, uint8_t ChosenEventType,
265
+ int maxl, int multval, int ktval)
266
+ {
259
267
int fMultBin = multval;
260
268
int fKtBin = ktval;
261
269
std::vector<std::complex<double >> fYlmBuffer (fMaxJM );
@@ -283,13 +291,13 @@ class PairSHCentMultKt {
283
291
for (int ilmzero = 0 ; ilmzero < fMaxJM ; ilmzero++) {
284
292
for (int ilmprim = 0 ; ilmprim < fMaxJM ; ilmprim++) {
285
293
fcovmnum[fMultBin ][fKtBin ][GetBin (nqbin, ilmzero, 0 , ilmprim, 0 )] +=
286
- (real (fYlmBuffer [ilmzero]) * real (fYlmBuffer [ilmprim]));
294
+ (real (fYlmBuffer [ilmzero]) * real (fYlmBuffer [ilmprim]));
287
295
fcovmnum[fMultBin ][fKtBin ][GetBin (nqbin, ilmzero, 0 , ilmprim, 1 )] +=
288
- (real (fYlmBuffer [ilmzero]) * -imag (fYlmBuffer [ilmprim]));
296
+ (real (fYlmBuffer [ilmzero]) * -imag (fYlmBuffer [ilmprim]));
289
297
fcovmnum[fMultBin ][fKtBin ][GetBin (nqbin, ilmzero, 1 , ilmprim, 0 )] +=
290
- (-imag (fYlmBuffer [ilmzero]) * real (fYlmBuffer [ilmprim]));
298
+ (-imag (fYlmBuffer [ilmzero]) * real (fYlmBuffer [ilmprim]));
291
299
fcovmnum[fMultBin ][fKtBin ][GetBin (nqbin, ilmzero, 1 , ilmprim, 1 )] +=
292
- (-imag (fYlmBuffer [ilmzero]) * -imag (fYlmBuffer [ilmprim]));
300
+ (-imag (fYlmBuffer [ilmzero]) * -imag (fYlmBuffer [ilmprim]));
293
301
}
294
302
}
295
303
}
@@ -303,13 +311,13 @@ class PairSHCentMultKt {
303
311
for (int ilmzero = 0 ; ilmzero < fMaxJM ; ilmzero++) {
304
312
for (int ilmprim = 0 ; ilmprim < fMaxJM ; ilmprim++) {
305
313
fcovmden[fMultBin ][fKtBin ][GetBin (nqbin, ilmzero, 0 , ilmprim, 0 )] +=
306
- (real (fYlmBuffer [ilmzero]) * real (fYlmBuffer [ilmprim]));
314
+ (real (fYlmBuffer [ilmzero]) * real (fYlmBuffer [ilmprim]));
307
315
fcovmden[fMultBin ][fKtBin ][GetBin (nqbin, ilmzero, 0 , ilmprim, 1 )] +=
308
- (real (fYlmBuffer [ilmzero]) * -imag (fYlmBuffer [ilmprim]));
316
+ (real (fYlmBuffer [ilmzero]) * -imag (fYlmBuffer [ilmprim]));
309
317
fcovmden[fMultBin ][fKtBin ][GetBin (nqbin, ilmzero, 1 , ilmprim, 0 )] +=
310
- (-imag (fYlmBuffer [ilmzero]) * real (fYlmBuffer [ilmprim]));
318
+ (-imag (fYlmBuffer [ilmzero]) * real (fYlmBuffer [ilmprim]));
311
319
fcovmden[fMultBin ][fKtBin ][GetBin (nqbin, ilmzero, 1 , ilmprim, 1 )] +=
312
- (-imag (fYlmBuffer [ilmzero]) * -imag (fYlmBuffer [ilmprim]));
320
+ (-imag (fYlmBuffer [ilmzero]) * -imag (fYlmBuffer [ilmprim]));
313
321
}
314
322
}
315
323
}
@@ -321,7 +329,8 @@ class PairSHCentMultKt {
321
329
// / \param MaxJM Maximum value of J
322
330
// / \param multval Multiplicity value
323
331
// / \param ktval kT value
324
- void PackCov (uint8_t ChosenEventType, int MaxJM, int multval, int ktval) {
332
+ void PackCov (uint8_t ChosenEventType, int MaxJM, int multval, int ktval)
333
+ {
325
334
int fMultBin = multval;
326
335
int fKtBin = ktval;
327
336
if (ChosenEventType == femtoUniverseSHContainer::EventType::same) {
@@ -352,7 +361,8 @@ class PairSHCentMultKt {
352
361
// / Function to acces each multiplicity and kT directory and call PackCov
353
362
// / \param ChosenEventType same or mixed event
354
363
// / \param MaxJM Maximum value of J
355
- void fill_mult_kT_Cov (uint8_t ChosenEventType, int MaxJM) {
364
+ void fill_mult_kT_Cov (uint8_t ChosenEventType, int MaxJM)
365
+ {
356
366
for (int multbinvalcov = 0 ;
357
367
multbinvalcov < static_cast <int >(CentMultBins.size () - 2 );
358
368
multbinvalcov++) {
@@ -363,37 +373,37 @@ class PairSHCentMultKt {
363
373
}
364
374
}
365
375
366
- private:
376
+ private:
367
377
std::array<std::array<std::array<std::shared_ptr<TH1>, 15 >, 10 >, 10 >
368
- fnumsreal{};
378
+ fnumsreal{};
369
379
std::array<std::array<std::array<std::shared_ptr<TH1>, 15 >, 10 >, 10 >
370
- fnumsimag{};
380
+ fnumsimag{};
371
381
std::array<std::array<std::array<std::shared_ptr<TH1>, 15 >, 10 >, 10 >
372
- fdensreal{};
382
+ fdensreal{};
373
383
std::array<std::array<std::array<std::shared_ptr<TH1>, 15 >, 10 >, 10 >
374
- fdensimag{};
384
+ fdensimag{};
375
385
376
- TH1D * fbinctn[10 ][10 ];
377
- TH1D * fbinctd[10 ][10 ];
386
+ TH1D* fbinctn[10 ][10 ];
387
+ TH1D* fbinctd[10 ][10 ];
378
388
379
389
static constexpr int fMaxL = 2 ;
380
390
static constexpr int fMaxJM = (fMaxL + 1 ) * (fMaxL + 1 );
381
391
382
392
std::array<std::array<std::array<float , (fMaxJM * fMaxJM * 4 * 100 )>, 10 >, 10 >
383
- fcovmnum{}; // /< Covariance matrix for the numerator
393
+ fcovmnum{}; // /< Covariance matrix for the numerator
384
394
std::array<std::array<std::array<float , (fMaxJM * fMaxJM * 4 * 100 )>, 10 >, 10 >
385
- fcovmden{}; // /< Covariance matrix for the numerator
395
+ fcovmden{}; // /< Covariance matrix for the numerator
386
396
387
397
std::array<std::array<std::shared_ptr<TH3>, 10 >, 10 > fcovnum{};
388
398
std::array<std::array<std::shared_ptr<TH3>, 10 >, 10 > fcovden{};
389
399
390
- protected:
391
- HistogramRegistry * PairSHCentMultKtRegistry = nullptr ;
400
+ protected:
401
+ HistogramRegistry* PairSHCentMultKtRegistry = nullptr ;
392
402
static constexpr std::string_view mFolderSuffix [2 ] = {
393
- " SameEvent" ,
394
- " MixedEvent" }; // /< Folder naming for the output according to mEventType
403
+ " SameEvent" ,
404
+ " MixedEvent" }; // /< Folder naming for the output according to mEventType
395
405
static constexpr int mEventType =
396
- eventType; // /< Type of the event (same/mixed, according to
406
+ eventType; // /< Type of the event (same/mixed, according to
397
407
// /< FEMTOUNIVERSESHCONTAINER::EventType)
398
408
float mMassOne = 0 .f; // /< PDG mass of particle 1
399
409
float mMassTwo = 0 .f; // /< PDG mass of particle 2
0 commit comments