Skip to content

Commit 7598257

Browse files
committed
fixing inclusive case
1 parent f48ff5a commit 7598257

File tree

1 file changed

+19
-69
lines changed

1 file changed

+19
-69
lines changed

PWGCF/EbyEFluctuations/Tasks/radialFlowDecorr.cxx

Lines changed: 19 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -166,10 +166,6 @@ struct RadialFlowDecorr {
166166
Configurable<float> cfgPtMin{"cfgPtMin", 0.2f, "min pT"};
167167
Configurable<float> cfgPtMax{"cfgPtMax", 5.0f, "max pT"};
168168
Configurable<float> cfgEtaCut{"cfgEtaCut", 0.8f, "|η| cut"};
169-
Configurable<float> cfgTPCClsMin{"cfgTPCClsMin", 70.f, "min TPC clusters"};
170-
Configurable<float> cfgChi2TPCMax{"cfgChi2TPCMax", 4.0f, "max TPC χ²"};
171-
Configurable<float> cfgCutTpcChi2NCl{"cfgCutTpcChi2NCl", 2.5f, "Maximum TPCchi2NCl"};
172-
Configurable<float> cfgCutItsChi2NCl{"cfgCutItsChi2NCl", 36.0f, "Maximum ITSchi2NCl"};
173169
Configurable<float> cfgCutVertex{"cfgCutVertex", 10.0f, "Accepted z-vertex range"};
174170
Configurable<float> cfgCutTracKDcaMaxZ{"cfgCutTracKDcaMaxZ", 2.0f, "Maximum DcaZ"};
175171
Configurable<float> cfgCutTracKDcaMaxXY{"cfgCutTracKDcaMaxXY", 0.2f, "Maximum DcaZ"};
@@ -193,10 +189,6 @@ struct RadialFlowDecorr {
193189
Configurable<float> cfgnSigmaCutTOF{"cfgnSigmaCutTOF", 2.0f, "PID nSigma cut for TOF"};
194190
Configurable<float> cfgnSigmaCutCombTPCTOF{"cfgnSigmaCutCombTPCTOF", 2.0f, "PID nSigma combined cut for TPC and TOF"};
195191

196-
Configurable<float> cfgTpcElRejCutMin{"cfgTpcElRejCutMin", -3.0f, "Electron Rejection Cut Minimum"};
197-
Configurable<float> cfgTpcElRejCutMax{"cfgTpcElRejCutMax", 5.0f, "Electron Rejection Cut Maximum"};
198-
Configurable<float> cfgTpcElRejCut{"cfgTpcElRejCut", 3.0f, "TPC Hadron Rejection Cut"};
199-
200192
Configurable<float> cfgCutPtLower{"cfgCutPtLower", 0.2f, "Lower pT cut"};
201193
Configurable<float> cfgCutPtUpper{"cfgCutPtUpper", 10.0f, "Higher pT cut for inclusive hadron analysis"};
202194
Configurable<float> cfgCutPtUpperPID{"cfgCutPtUpperPID", 6.0f, "Higher pT cut for identified particle analysis"};
@@ -334,18 +326,6 @@ struct RadialFlowDecorr {
334326
histos.fill(HIST("h3DnsigmaTpcVsPtBefCut_Cent_PrAll"), cent, pt, track.tpcNSigmaPr());
335327
histos.fill(HIST("h3DnsigmaTofVsPtBefCut_Cent_PrAll"), cent, pt, track.tofNSigmaPr());
336328
histos.fill(HIST("h3DnsigmaTpcVsTofBefCut_Cent_PrAll"), cent, track.tofNSigmaPr(), track.tpcNSigmaPr());
337-
338-
histos.fill(HIST("h3DnsigmaTpcVsPtBefCut_Cent"), cent, pt, track.tpcNSigmaPi());
339-
histos.fill(HIST("h3DnsigmaTofVsPtBefCut_Cent"), cent, pt, track.tofNSigmaPi());
340-
histos.fill(HIST("h3DnsigmaTpcVsTofBefCut_Cent"), cent, track.tofNSigmaPi(), track.tpcNSigmaPi());
341-
342-
histos.fill(HIST("h3DnsigmaTpcVsPtBefCut_Cent"), cent, pt, track.tpcNSigmaKa());
343-
histos.fill(HIST("h3DnsigmaTofVsPtBefCut_Cent"), cent, pt, track.tofNSigmaKa());
344-
histos.fill(HIST("h3DnsigmaTpcVsTofBefCut_Cent"), cent, track.tofNSigmaKa(), track.tpcNSigmaKa());
345-
346-
histos.fill(HIST("h3DnsigmaTpcVsPtBefCut_Cent"), cent, pt, track.tpcNSigmaPr());
347-
histos.fill(HIST("h3DnsigmaTofVsPtBefCut_Cent"), cent, pt, track.tofNSigmaPr());
348-
histos.fill(HIST("h3DnsigmaTpcVsTofBefCut_Cent"), cent, track.tofNSigmaPr(), track.tpcNSigmaPr());
349329
}
350330

351331
template <typename T>
@@ -375,10 +355,6 @@ struct RadialFlowDecorr {
375355
histos.fill(HIST("h3DnsigmaTpcVsPtAftCut_Cent_PiAll"), cent, pt, tpcPi);
376356
histos.fill(HIST("h3DnsigmaTofVsPtAftCut_Cent_PiAll"), cent, pt, tofPi);
377357
histos.fill(HIST("h3DnsigmaTpcVsTofAftCut_Cent_PiAll"), cent, tofPi, tpcPi);
378-
379-
histos.fill(HIST("h3DnsigmaTpcVsPtAftCut_Cent"), cent, pt, tpcPi);
380-
histos.fill(HIST("h3DnsigmaTofVsPtAftCut_Cent"), cent, pt, tofPi);
381-
histos.fill(HIST("h3DnsigmaTpcVsTofAftCut_Cent"), cent, tofPi, tpcPi);
382358
}
383359
if (isSpecies[kKaPlusIdx]) {
384360
histos.fill(HIST("h3DnsigmaTpcVsPtAftCut_Cent_KaPlus"), cent, pt, tpcKa);
@@ -394,10 +370,6 @@ struct RadialFlowDecorr {
394370
histos.fill(HIST("h3DnsigmaTpcVsPtAftCut_Cent_KaAll"), cent, pt, tpcKa);
395371
histos.fill(HIST("h3DnsigmaTofVsPtAftCut_Cent_KaAll"), cent, pt, tofKa);
396372
histos.fill(HIST("h3DnsigmaTpcVsTofAftCut_Cent_KaAll"), cent, tofKa, tpcKa);
397-
398-
histos.fill(HIST("h3DnsigmaTpcVsPtAftCut_Cent"), cent, pt, tpcKa);
399-
histos.fill(HIST("h3DnsigmaTofVsPtAftCut_Cent"), cent, pt, tofKa);
400-
histos.fill(HIST("h3DnsigmaTpcVsTofAftCut_Cent"), cent, tofPi, tpcKa);
401373
}
402374
if (isSpecies[kPrIdx]) {
403375
histos.fill(HIST("h3DnsigmaTpcVsPtAftCut_Cent_Pr"), cent, pt, tpcPr);
@@ -413,10 +385,6 @@ struct RadialFlowDecorr {
413385
histos.fill(HIST("h3DnsigmaTpcVsPtAftCut_Cent_PrAll"), cent, pt, tpcPr);
414386
histos.fill(HIST("h3DnsigmaTofVsPtAftCut_Cent_PrAll"), cent, pt, tofPr);
415387
histos.fill(HIST("h3DnsigmaTpcVsTofAftCut_Cent_PrAll"), cent, tofPr, tpcPr);
416-
417-
histos.fill(HIST("h3DnsigmaTpcVsPtAftCut_Cent"), cent, pt, tpcPr);
418-
histos.fill(HIST("h3DnsigmaTofVsPtAftCut_Cent"), cent, pt, tofPr);
419-
histos.fill(HIST("h3DnsigmaTpcVsTofAftCut_Cent"), cent, tofPi, tpcPr);
420388
} else
421389
return;
422390
}
@@ -751,6 +719,10 @@ struct RadialFlowDecorr {
751719
return;
752720
}
753721
offsetFT0 = ccdb->getForTimeStamp<std::vector<o2::detectors::AlignParam>>("FT0/Calib/Align", timestamp);
722+
if (!offsetFT0) {
723+
LOGF(fatal, "Failed to load valid FT0 alignment from CCDB!");
724+
return;
725+
}
754726
mLastTimestamp = timestamp;
755727
LOGF(info, "Successfully loaded new alignment parameters for timestamp %llu", timestamp);
756728
LOGF(info, "Offset for FT0A: x = %.3f y = %.3f z = %.3f\n", (*offsetFT0)[0].getX(), (*offsetFT0)[0].getY(), (*offsetFT0)[0].getZ());
@@ -1013,8 +985,8 @@ struct RadialFlowDecorr {
1013985
histos.add("pmeanFT0Cmultpv", "N_{PV}; AmplitudeA", kTProfile, {nChAxis});
1014986
histos.add("pmeanFT0C_cent", "cent; AmplitudeA", kTProfile, {centAxis1Per});
1015987

1016-
histos.add<TProfile3D>("pmean_cent_id_eta_FT0", ";cent;channel id; #eta;amplitude", kTProfile3D, {{centAxis1Per}, {100, -0.5, 99.5}, {100, -5.0, 5.0}});
1017-
histos.add("h3_cent_id_eta_FT0", ";cent;channel id; #eta", kTH3F, {{centAxis1Per}, {100, -0.5, 99.5}, {100, -5.0, 5.0}});
988+
histos.add<TProfile3D>("pmean_cent_id_eta_FT0", ";cent;channel id; #eta;amplitude", kTProfile3D, {{centAxis1Per}, {200, -0.5, 199.5}, {100, -5.0, 5.0}});
989+
histos.add("h3_cent_id_eta_FT0", ";cent;channel id; #eta", kTH3F, {{centAxis1Per}, {200, -0.5, 199.5}, {100, -5.0, 5.0}});
1018990

1019991
histos.add<TProfile2D>("Prof_Cent_Nsp_Nchrec", ";cent;Species;#LT N_{PV}#GT", kTProfile2D, {{centAxis1Per}, {spBinAxis}});
1020992
histos.add<TProfile2D>("Prof_Mult_Nsp_Nchrec", ";N_{PV};Species;#LT N_{PV}#GT", kTProfile2D, {{nChAxis}, {spBinAxis}});
@@ -1252,7 +1224,9 @@ struct RadialFlowDecorr {
12521224
if (hNumS && hNumF && hDenF) {
12531225
state.hFake[pidType] = reinterpret_cast<TH3F*>(hNumS->Clone(Form("hFake%s", suffix.c_str())));
12541226
state.hFake[pidType]->Add(hNumF);
1255-
state.hFake[pidType]->Add(hNumF2);
1227+
if (pidType != kInclusiveIdx && hNumF2) {
1228+
state.hFake[pidType]->Add(hNumF2);
1229+
}
12561230
state.hFake[pidType]->SetDirectory(nullptr);
12571231
state.hFake[pidType]->Divide(hDenF);
12581232
} else {
@@ -1485,16 +1459,11 @@ struct RadialFlowDecorr {
14851459

14861460
histos.fill(HIST("Hist2D_globalTracks_PVTracks"), multPV, trackSlice.size());
14871461
histos.fill(HIST("Hist2D_cent_nch"), trackSlice.size(), cent);
1488-
1489-
for (const auto& particle : partSlice) {
1490-
if (!isParticleSelected(particle) || !particle.isPhysicalPrimary())
1491-
continue;
14921462
for (const auto& track : trackSlice) {
14931463
if (!isTrackSelected(track))
14941464
continue;
14951465
fillNSigmaBefCut(track, cent);
14961466
}
1497-
}
14981467
}
14991468
}
15001469
}
@@ -1542,7 +1511,7 @@ struct RadialFlowDecorr {
15421511
float pt = particle.pt(), eta = particle.eta();
15431512

15441513
bool isSpecies[KNsp] = {
1545-
(absPdg == KPiPlus || absPdg == KKPlus || absPdg == KProton), // kInclusiveIdx
1514+
true, // kInclusiveIdx
15461515
pdg == -KPiPlus, // kPiMinusIdx
15471516
pdg == KPiPlus, // kPiPlusIdx
15481517
absPdg == KPiPlus, // kPiAllIdx
@@ -1589,10 +1558,8 @@ struct RadialFlowDecorr {
15891558
bool isPi = (id == KPidPionOne);
15901559
bool isKa = (id == KPidKaonTwo);
15911560
bool isPr = (id == KPidProtonThree);
1592-
bool isAny = (isPi || isKa || isPr); // Only true if it passed PID!
1593-
15941561
bool isSpecies[KNsp] = {
1595-
isAny,
1562+
true,
15961563
isPi && sign < 0, isPi && sign > 0, isPi,
15971564
isKa && sign < 0, isKa && sign > 0, isKa,
15981565
isPr && sign < 0, isPr && sign > 0, isPr};
@@ -1608,18 +1575,12 @@ struct RadialFlowDecorr {
16081575
if (track.has_mcParticle()) {
16091576
auto mcP = track.mcParticle();
16101577
if (mcP.isPhysicalPrimary()) {
1611-
int mcPdg = std::abs(mcP.pdgCode());
1612-
if (mcPdg == KPiPlus || mcPdg == KKPlus || mcPdg == KProton) {
16131578
histos.fill(HIST("ptResolution"), mcP.pt(), (pt - mcP.pt()) / mcP.pt());
16141579
histos.fill(HIST("etaResolution"), mcP.eta(), eta - mcP.eta());
16151580
histos.fill(HIST("etaTruthReco"), mcP.eta(), eta);
16161581
histos.fill(HIST("vzResolution"), mcP.vz(), (vz - mcP.vz()) / mcP.vz());
16171582
histos.fill(HIST("TruthTracKVz"), mcP.vz(), vz);
16181583
histos.fill(HIST("h3_RecoMatchedToPrimary"), multPV, mcP.pt(), mcP.eta());
1619-
} else {
1620-
// Misidentified! Reconstructed track, but true particle is not pi/K/P
1621-
histos.fill(HIST("h3_RecoMatchedToPrimary_MisID"), multPV, pt, eta);
1622-
}
16231584
} else {
16241585
histos.fill(HIST("h3_RecoUnMatchedToPrimary_Secondary"), multPV, pt, eta);
16251586
}
@@ -1818,10 +1779,8 @@ struct RadialFlowDecorr {
18181779
bool isPi = (id == KPidPionOne);
18191780
bool isKa = (id == KPidKaonTwo);
18201781
bool isPr = (id == KPidProtonThree);
1821-
bool isAny = (isPi || isKa || isPr); // Only true if it passed PID!
1822-
18231782
bool isSpecies[KNsp] = {
1824-
isAny,
1783+
true,
18251784
isPi && sign < 0, isPi && sign > 0, isPi,
18261785
isKa && sign < 0, isKa && sign > 0, isKa,
18271786
isPr && sign < 0, isPr && sign > 0, isPr};
@@ -1937,7 +1896,7 @@ struct RadialFlowDecorr {
19371896
int absPdg = std::abs(pdgCode);
19381897

19391898
bool isSpecies[KNsp] = {
1940-
(absPdg == KPiPlus || absPdg == KKPlus || absPdg == KProton), // kInclusiveIdx
1899+
true, // kInclusiveIdx
19411900
pdgCode == -KPiPlus, // kPiMinusIdx
19421901
pdgCode == KPiPlus, // kPiPlusIdx
19431902
absPdg == KPiPlus, // kPiAllIdx
@@ -1982,9 +1941,8 @@ struct RadialFlowDecorr {
19821941
bool isPi = (id == KPidPionOne);
19831942
bool isKa = (id == KPidKaonTwo);
19841943
bool isPr = (id == KPidProtonThree);
1985-
bool isAny = (isPi || isKa || isPr); // Only true if it passed PID!
19861944
bool isSpecies[KNsp] = {
1987-
isAny,
1945+
true,
19881946
isPi && sign < 0, isPi && sign > 0, isPi,
19891947
isKa && sign < 0, isKa && sign > 0, isKa,
19901948
isPr && sign < 0, isPr && sign > 0, isPr};
@@ -2311,7 +2269,7 @@ struct RadialFlowDecorr {
23112269
int absPdg = std::abs(pdgCode);
23122270

23132271
bool isSpecies[KNsp] = {
2314-
(absPdg == KPiPlus || absPdg == KKPlus || absPdg == KProton), // kInclusiveIdx
2272+
true, // kInclusiveIdx
23152273
pdgCode == -KPiPlus, // kPiMinusIdx
23162274
pdgCode == KPiPlus, // kPiPlusIdx
23172275
absPdg == KPiPlus, // kPiAllIdx
@@ -2354,10 +2312,8 @@ struct RadialFlowDecorr {
23542312
bool isPi = (id == KPidPionOne);
23552313
bool isKa = (id == KPidKaonTwo);
23562314
bool isPr = (id == KPidProtonThree);
2357-
bool isAny = (isPi || isKa || isPr); // Only true if it passed PID!
2358-
23592315
bool isSpecies[KNsp] = {
2360-
isAny,
2316+
true,
23612317
isPi && sign < 0, isPi && sign > 0, isPi,
23622318
isKa && sign < 0, isKa && sign > 0, isKa,
23632319
isPr && sign < 0, isPr && sign > 0, isPr};
@@ -3080,10 +3036,8 @@ struct RadialFlowDecorr {
30803036
bool isPi = (id == KPidPionOne);
30813037
bool isKa = (id == KPidKaonTwo);
30823038
bool isPr = (id == KPidProtonThree);
3083-
bool isAny = (isPi || isKa || isPr); // Only true if it passed PID!
3084-
30853039
bool isSpecies[KNsp] = {
3086-
isAny,
3040+
true,
30873041
isPi && sign < 0, isPi && sign > 0, isPi,
30883042
isKa && sign < 0, isKa && sign > 0, isKa,
30893043
isPr && sign < 0, isPr && sign > 0, isPr};
@@ -3208,10 +3162,8 @@ struct RadialFlowDecorr {
32083162
bool isPi = (id == KPidPionOne);
32093163
bool isKa = (id == KPidKaonTwo);
32103164
bool isPr = (id == KPidProtonThree);
3211-
bool isAny = (isPi || isKa || isPr); // Only true if it passed PID!
3212-
32133165
bool isSpecies[KNsp] = {
3214-
isAny,
3166+
true,
32153167
isPi && sign < 0, isPi && sign > 0, isPi,
32163168
isKa && sign < 0, isKa && sign > 0, isKa,
32173169
isPr && sign < 0, isPr && sign > 0, isPr};
@@ -3419,10 +3371,8 @@ struct RadialFlowDecorr {
34193371
bool isPi = (id == KPidPionOne);
34203372
bool isKa = (id == KPidKaonTwo);
34213373
bool isPr = (id == KPidProtonThree);
3422-
bool isAny = (isPi || isKa || isPr); // Only true if it passed PID!
3423-
34243374
bool isSpecies[KNsp] = {
3425-
isAny,
3375+
true,
34263376
isPi && sign < 0, isPi && sign > 0, isPi,
34273377
isKa && sign < 0, isKa && sign > 0, isKa,
34283378
isPr && sign < 0, isPr && sign > 0, isPr};

0 commit comments

Comments
 (0)