Skip to content

Commit 6e5d91d

Browse files
authored
[PWGCF] Add plots with FT0C aplitude for UCC (#12919)
The issue with the `macOS-arm` is still not fixed Once it is the compilation checks will slowly start again over the open PR (there has been no PR merged today). It is usually much quicker than the standard OS but it will take a while I enable the auto-merge to have it ready for merging once the CI finishes correctly
1 parent 0709f18 commit 6e5d91d

File tree

1 file changed

+55
-24
lines changed

1 file changed

+55
-24
lines changed

PWGCF/Flow/Tasks/flowGfwTask.cxx

Lines changed: 55 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,11 @@ struct FlowGfwTask {
7575
O2_DEFINE_CONFIGURABLE(cfgTrackSel, bool, false, "ITS and TPC cluster selection")
7676
O2_DEFINE_CONFIGURABLE(cfgMinCentFT0C, float, 0.0f, "Minimum FT0C Centrality")
7777
O2_DEFINE_CONFIGURABLE(cfgMaxCentFT0C, float, 100.0f, "Maximum FT0C Centrality")
78-
O2_DEFINE_CONFIGURABLE(cfgcentEstFt0c, bool, false, "Centrality estimator based on FT0C signal")
79-
O2_DEFINE_CONFIGURABLE(cfgcentEstFt0a, bool, false, "Centrality estimator based on FT0A signal")
80-
O2_DEFINE_CONFIGURABLE(cfgcentEstFt0m, bool, false, " A centrality estimator based on FT0A+FT0C signals.")
81-
O2_DEFINE_CONFIGURABLE(cfgcentEstFv0a, bool, false, "Centrality estimator based on FV0A signal")
82-
O2_DEFINE_CONFIGURABLE(cfgcentEstFt0cVariant1, bool, false, "A variant of FT0C")
78+
O2_DEFINE_CONFIGURABLE(cfgCentEstFt0c, bool, false, "Centrality estimator based on FT0C signal")
79+
O2_DEFINE_CONFIGURABLE(cfgCentEstFt0a, bool, false, "Centrality estimator based on FT0A signal")
80+
O2_DEFINE_CONFIGURABLE(cfgCentEstFt0m, bool, false, " A centrality estimator based on FT0A+FT0C signals.")
81+
O2_DEFINE_CONFIGURABLE(cfgCentEstFv0a, bool, false, "Centrality estimator based on FV0A signal")
82+
O2_DEFINE_CONFIGURABLE(cfgCentEstFt0cVariant1, bool, false, "A variant of FT0C")
8383
O2_DEFINE_CONFIGURABLE(cfgUseAdditionalEventCut, bool, false, "Use additional event cut on mult correlations")
8484
O2_DEFINE_CONFIGURABLE(cfgUseAdditionalTrackCut, bool, false, "Use additional track cut on phi")
8585
O2_DEFINE_CONFIGURABLE(cfgTrackSelRun3ITSMatch, bool, false, "Track selection for ITS matches")
@@ -94,7 +94,7 @@ struct FlowGfwTask {
9494
O2_DEFINE_CONFIGURABLE(cfgCutOccupancyLow, int, 0, "Low cut on TPC occupancy")
9595
O2_DEFINE_CONFIGURABLE(cfgCutDCAz, float, 2, "Custom DCA Z cut")
9696
O2_DEFINE_CONFIGURABLE(cfgCutDCAxy, float, 0.2f, "Custom DCA XY cut")
97-
O2_DEFINE_CONFIGURABLE(cfgDCAzPt, bool, false, "switch for DCAz pt dependent")
97+
O2_DEFINE_CONFIGURABLE(cfgDCAzPt, bool, true, "switch for DCAz pt dependent")
9898
O2_DEFINE_CONFIGURABLE(cfgNoTimeFrameBorder, bool, false, "kNoTimeFrameBorder");
9999
O2_DEFINE_CONFIGURABLE(cfgNoITSROFrameBorder, bool, false, "kNoITSROFrameBorder");
100100
O2_DEFINE_CONFIGURABLE(cfgNoSameBunchPileup, bool, false, "kNoSameBunchPileup");
@@ -187,6 +187,8 @@ struct FlowGfwTask {
187187
kc32Nch05,
188188
kc32Nch05etagap,
189189
kc34Nch05,
190+
kc22etagapft0c,
191+
kc32etagapft0c,
190192

191193
// Count the total number of enum
192194
kCount_ExtraProfile
@@ -400,6 +402,9 @@ struct FlowGfwTask {
400402
registry.add("c32Nch05", ";N_{ch 0-5%}(|#eta| < 0.8) ; C_{3}{2} ", {HistType::kTProfile, {axisNch}});
401403
registry.add("c32Nch05etagap", ";N_{ch 0-5%}(|#eta| < 0.8) ; C_{3}{2} (|#eta| < 0.8) ", {HistType::kTProfile, {axisNch}});
402404
registry.add("c34Nch05", ";N_{ch 0-5%}(|#eta| < 0.8) ; C_{3}{4} ", {HistType::kTProfile, {axisNch}});
405+
406+
registry.add("c22etagapft0c", ";FT0C Amplitude ; C_{2}{2} (|#eta| < 0.8) ", {HistType::kTProfile, {axisFT0CAmp}});
407+
registry.add("c32etagapft0c", ";FT0C Amplitude ; C_{3}{2} (|#eta| < 0.8) ", {HistType::kTProfile, {axisFT0CAmp}});
403408
} // End doprocessData
404409

405410
const AxisSpec axisZpos{48, -12., 12., "Vtx_{z} (cm)"};
@@ -480,6 +485,9 @@ struct FlowGfwTask {
480485
bootstrapArray[i][kc32Nch05] = registry.add<TProfile>(Form("BootstrapContainer_%d/c32Nch05", i), ";N_ch05(|#eta| < 0.8) ; C_{3}{2}", {HistType::kTProfile, {axisNch}});
481486
bootstrapArray[i][kc32Nch05etagap] = registry.add<TProfile>(Form("BootstrapContainer_%d/c32Nch05etagap", i), ";N_ch05(|#eta| < 0.8) ; C_{3}{2} (|#eta| < 0.8)", {HistType::kTProfile, {axisNch}});
482487
bootstrapArray[i][kc34Nch05] = registry.add<TProfile>(Form("BootstrapContainer_%d/c34Nch05", i), ";N_ch05(|#eta| < 0.8) ; C_{3}{4}", {HistType::kTProfile, {axisNch}});
488+
489+
bootstrapArray[i][kc22etagapft0c] = registry.add<TProfile>(Form("BootstrapContainer_%d/c22etagapftoc", i), ";FT0C Amplitude ; C_{2}{2} (|#eta| < 0.8)", {HistType::kTProfile, {axisFT0CAmp}});
490+
bootstrapArray[i][kc32etagapft0c] = registry.add<TProfile>(Form("BootstrapContainer_%d/c32etagapftoc", i), ";FT0C Amplitude ; C_{3}{2} (|#eta| < 0.8)", {HistType::kTProfile, {axisFT0CAmp}});
483491
}
484492

485493
o2::framework::AxisSpec axis = axisPt;
@@ -718,11 +726,11 @@ struct FlowGfwTask {
718726
registry.fill(HIST("hEventCount"), kISGOODITSLAYERSALL);
719727
}
720728

721-
float vtxz = -999;
729+
float vtxz = -999, zResmin = 0.25, maxContrib = 20;
722730
if (collision.numContrib() > 1) {
723731
vtxz = collision.posZ();
724732
float zRes = std::sqrt(collision.covZZ());
725-
if (zRes > 0.25 && collision.numContrib() < 20)
733+
if (zRes > zResmin && collision.numContrib() < maxContrib)
726734
vtxz = -999;
727735
}
728736

@@ -744,8 +752,9 @@ struct FlowGfwTask {
744752
}
745753

746754
// V0A T0A 5 sigma cut
755+
float five = 5;
747756
if (cfgV0AT0A5Sigma) {
748-
if (std::abs(collision.multFV0A() - fT0AV0AMean->Eval(collision.multFT0A())) > 5 * fT0AV0ASigma->Eval(collision.multFT0A()))
757+
if (std::abs(collision.multFV0A() - fT0AV0AMean->Eval(collision.multFT0A())) > five * fT0AV0ASigma->Eval(collision.multFT0A()))
749758
return false;
750759
}
751760

@@ -828,27 +837,27 @@ struct FlowGfwTask {
828837

829838
// Choose centrality estimator -- Only one can be true
830839
auto centrality = -1;
831-
if (cfgcentEstFt0c) {
840+
if (cfgCentEstFt0c) {
832841
centrality = collision.centFT0C();
833842
registry.fill(HIST("hCentEstimators"), kCentFT0C);
834843
registry.fill(HIST("hCentFT0C"), centrality);
835844
}
836-
if (cfgcentEstFt0a) {
845+
if (cfgCentEstFt0a) {
837846
centrality = collision.centFT0A();
838847
registry.fill(HIST("hCentEstimators"), kCentFT0A);
839848
registry.fill(HIST("hCentFT0A"), centrality);
840849
}
841-
if (cfgcentEstFt0m) {
850+
if (cfgCentEstFt0m) {
842851
centrality = collision.centFT0M();
843852
registry.fill(HIST("hCentEstimators"), kCentFT0M);
844853
registry.fill(HIST("hCentFT0M"), centrality);
845854
}
846-
if (cfgcentEstFv0a) {
855+
if (cfgCentEstFv0a) {
847856
centrality = collision.centFV0A();
848857
registry.fill(HIST("hCentEstimators"), kCentFV0A);
849858
registry.fill(HIST("hCentFV0A"), centrality);
850859
}
851-
if (cfgcentEstFt0cVariant1) {
860+
if (cfgCentEstFt0cVariant1) {
852861
centrality = collision.centFT0CVariant1();
853862
registry.fill(HIST("hCentEstimators"), kCentFT0CVariant1);
854863
registry.fill(HIST("hCentFT0CVariant1"), centrality);
@@ -925,19 +934,29 @@ struct FlowGfwTask {
925934

926935
registry.fill(HIST("ZNvsZEMcoll"), aZEM1 + aZEM2, aZNA + aZNC);
927936

928-
if (centrality >= 0 && centrality <= 5) {
937+
// Draft notation for centrality limits
938+
float zero = 0, five = 5, ten = 10, twenty = 20, thirty = 30;
939+
if (centrality >= zero && centrality <= five) {
929940
registry.fill(HIST("ZNvsZEMcoll05"), aZEM1 + aZEM2, aZNA + aZNC);
930-
} else if (centrality > 5 && centrality <= 10) {
941+
} else if (centrality > five && centrality <= ten) {
931942
registry.fill(HIST("ZNvsZEMcoll510"), aZEM1 + aZEM2, aZNA + aZNC);
932-
} else if (centrality > 10 && centrality <= 20) {
943+
} else if (centrality > ten && centrality <= twenty) {
933944
registry.fill(HIST("ZNvsZEMcoll1020"), aZEM1 + aZEM2, aZNA + aZNC);
934-
} else if (centrality > 20 && centrality <= 30) {
945+
} else if (centrality > twenty && centrality <= thirty) {
935946
registry.fill(HIST("ZNvsZEMcoll2030"), aZEM1 + aZEM2, aZNA + aZNC);
936947
} else {
937948
registry.fill(HIST("ZNvsZEMcollrest"), aZEM1 + aZEM2, aZNA + aZNC);
938949
}
939950
} // End of ZDC
940951

952+
// Use for c22 vs ft0 amplitude
953+
double ft0cAmp = 0;
954+
if (foundBC.has_ft0()) {
955+
for (const auto& amplitude : foundBC.ft0().amplitudeC()) {
956+
ft0cAmp += amplitude;
957+
}
958+
}
959+
941960
float vtxz = collision.posZ();
942961
float lRandom = fRndm->Rndm();
943962
registry.fill(HIST("hVtxZ"), vtxz);
@@ -1046,7 +1065,7 @@ struct FlowGfwTask {
10461065
registry.fill(HIST("Events_per_Centrality_Bin"), centrality);
10471066
registry.fill(HIST("Tracks_per_Centrality_Bin"), centrality, nch);
10481067

1049-
// Filling c22 with ROOT TProfile
1068+
// Filling Cumulants with ROOT TProfile
10501069
fillProfile(corrconfigs.at(0), HIST("c22"), centrality);
10511070
fillProfile(corrconfigs.at(1), HIST("c24"), centrality);
10521071
fillProfile(corrconfigs.at(2), HIST("c26"), centrality);
@@ -1066,7 +1085,8 @@ struct FlowGfwTask {
10661085
fillProfile(corrconfigs.at(7), HIST("c34Nch"), nch);
10671086

10681087
// 0-5% centrality Nch
1069-
if (centrality >= 0 && centrality <= 5) {
1088+
float zero = 0, five = 5;
1089+
if (centrality >= zero && centrality <= five) {
10701090
fillProfile(corrconfigs.at(0), HIST("c22Nch05"), nch);
10711091
fillProfile(corrconfigs.at(1), HIST("c24Nch05"), nch);
10721092
fillProfile(corrconfigs.at(2), HIST("c26Nch05"), nch);
@@ -1077,6 +1097,10 @@ struct FlowGfwTask {
10771097
fillProfile(corrconfigs.at(7), HIST("c34Nch05"), nch);
10781098
}
10791099

1100+
// C22 and C32 vs FT0C amplitude
1101+
fillProfile(corrconfigs.at(4), HIST("c22etagapft0c"), ft0cAmp);
1102+
fillProfile(corrconfigs.at(6), HIST("c32etagapft0c"), ft0cAmp);
1103+
10801104
// Filling Bootstrap Samples
10811105
int sampleIndex = static_cast<int>(cfgNbootstrap * lRandom);
10821106
fillProfile(corrconfigs.at(0), bootstrapArray[sampleIndex][kc22], centrality);
@@ -1097,7 +1121,7 @@ struct FlowGfwTask {
10971121
fillProfile(corrconfigs.at(6), bootstrapArray[sampleIndex][kc32Nchetagap], nch);
10981122
fillProfile(corrconfigs.at(7), bootstrapArray[sampleIndex][kc34Nch], nch);
10991123

1100-
if (centrality >= 0 && centrality <= 5) {
1124+
if (centrality >= zero && centrality <= five) {
11011125
fillProfile(corrconfigs.at(0), bootstrapArray[sampleIndex][kc22Nch05], nch);
11021126
fillProfile(corrconfigs.at(1), bootstrapArray[sampleIndex][kc24Nch05], nch);
11031127
fillProfile(corrconfigs.at(2), bootstrapArray[sampleIndex][kc26Nch05], nch);
@@ -1112,6 +1136,10 @@ struct FlowGfwTask {
11121136

11131137
registry.fill(HIST("Nch"), nch);
11141138

1139+
// Filling Bootstrap Samples for FT0C Amplitudes
1140+
fillProfile(corrconfigs.at(4), bootstrapArray[sampleIndex][kc22etagapft0c], ft0cAmp);
1141+
fillProfile(corrconfigs.at(6), bootstrapArray[sampleIndex][kc32etagapft0c], ft0cAmp);
1142+
11151143
// Filling Flow Container
11161144
for (uint l_ind = 0; l_ind < corrconfigs.size(); l_ind++) {
11171145
fillFC(corrconfigs.at(l_ind), centrality, lRandom);
@@ -1169,7 +1197,8 @@ struct FlowGfwTask {
11691197
registry.fill(HIST("hCenMCRec"), centrality);
11701198
registry.fill(HIST("hPtNchMCRec"), track.pt(), track.size());
11711199

1172-
if (centrality >= 0 && centrality <= 5) {
1200+
float zero = 0, five = 5;
1201+
if (centrality >= zero && centrality <= five) {
11731202
registry.fill(HIST("hPtMCRec05"), track.pt());
11741203
registry.fill(HIST("hCenMCRec05"), centrality);
11751204
registry.fill(HIST("hPtNchMCRec05"), track.pt(), track.size());
@@ -1233,7 +1262,8 @@ struct FlowGfwTask {
12331262
registry.fill(HIST("hPtMCGen"), particle.pt());
12341263
registry.fill(HIST("hCenMCGen"), centrality);
12351264

1236-
if (centrality >= 0 && centrality <= 5) {
1265+
float zero = 0, five = 5;
1266+
if (centrality >= zero && centrality <= five) {
12371267
registry.fill(HIST("hPtMCGen05"), particle.pt());
12381268
registry.fill(HIST("hCenMCGen05"), centrality);
12391269
registry.fill(HIST("hPtNchMCGen05"), particle.pt(), numberOfTracks[0]);
@@ -1247,7 +1277,8 @@ struct FlowGfwTask {
12471277
for (const auto& track : groupedTracksReco) {
12481278

12491279
registry.fill(HIST("hCorr"), numberOfTracks[0], track.size());
1250-
if (centrality >= 0 && centrality <= 5) {
1280+
float zero = 0, five = 5;
1281+
if (centrality >= zero && centrality <= five) {
12511282
registry.fill(HIST("hCorr05"), numberOfTracks[0], track.size());
12521283
}
12531284
}

0 commit comments

Comments
 (0)