Skip to content

Commit 6da4285

Browse files
Preet-BhanjanPreet Pati
andauthored
[PWGCF] Adding v2 four particle cumulants (AliceO2Group#9600)
Co-authored-by: Preet Pati <[email protected]>
1 parent 24b9f59 commit 6da4285

File tree

1 file changed

+59
-108
lines changed

1 file changed

+59
-108
lines changed

PWGCF/Flow/Tasks/flowPbpbPikp.cxx

Lines changed: 59 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@
4343
#include "PWGCF/GenericFramework/Core/GFW.h"
4444
#include "PWGCF/GenericFramework/Core/GFWCumulant.h"
4545
#include "PWGCF/GenericFramework/Core/FlowContainer.h"
46+
#include "PWGCF/GenericFramework/Core/GFWWeights.h"
47+
#include "PWGCF/GenericFramework/Core/GFWWeightsList.h"
4648

4749
#include "ReconstructionDataFormats/Track.h"
4850
#include "ReconstructionDataFormats/PID.h"
@@ -60,7 +62,7 @@ using namespace std;
6062
struct FlowPbpbPikp {
6163
Service<ccdb::BasicCCDBManager> ccdb;
6264
Configurable<int64_t> noLaterThan{"noLaterThan", std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count(), "latest acceptable timestamp of creation for the object"};
63-
Configurable<std::string> ccdbUrl{"ccdbUrl", "http://ccdb-test.cern.ch:8080", "url of the ccdb repository"};
65+
Configurable<std::string> ccdbUrl{"ccdbUrl", "http://alice-ccdb.cern.ch", "url of the ccdb repository"};
6466

6567
O2_DEFINE_CONFIGURABLE(cfgCutVertex, float, 10.0f, "Accepted z-vertex range")
6668
O2_DEFINE_CONFIGURABLE(cfgCutPtPOIMin, float, 0.2f, "Minimal pT for poi tracks")
@@ -71,8 +73,11 @@ struct FlowPbpbPikp {
7173
O2_DEFINE_CONFIGURABLE(cfgCutChi2prTPCcls, float, 2.5, "Chi2 per TPC clusters")
7274
O2_DEFINE_CONFIGURABLE(cfgUseNch, bool, false, "Use Nch for flow observables")
7375
O2_DEFINE_CONFIGURABLE(cfgNbootstrap, int, 10, "Number of subsamples")
76+
O2_DEFINE_CONFIGURABLE(cfgFillWeights, bool, true, "Fill NUA weights")
7477
O2_DEFINE_CONFIGURABLE(cfgTpcNsigmaCut, float, 2.0f, "TPC N-sigma cut for pions, kaons, protons")
75-
O2_DEFINE_CONFIGURABLE(cfgTofPtCut, float, 1.8f, "Minimum pt to use TOF N-sigma")
78+
O2_DEFINE_CONFIGURABLE(cfgTofPtCut, float, 0.5f, "Minimum pt to use TOF N-sigma")
79+
O2_DEFINE_CONFIGURABLE(cfgCutDCAxy, float, 2.0f, "DCAxy range for tracks")
80+
O2_DEFINE_CONFIGURABLE(cfgCutDCAz, float, 2.0f, "DCAz range for tracks")
7681

7782
ConfigurableAxis axisVertex{"axisVertex", {20, -10, 10}, "vertex axis for histograms"};
7883
ConfigurableAxis axisPhi{"axisPhi", {60, 0.0, constants::math::TwoPI}, "phi axis for histograms"};
@@ -82,19 +87,13 @@ struct FlowPbpbPikp {
8287
ConfigurableAxis axisNsigmaTPC{"axisNsigmaTPC", {80, -5, 5}, "nsigmaTPC axis"};
8388
ConfigurableAxis axisNsigmaTOF{"axisNsigmaTOF", {80, -5, 5}, "nsigmaTOF axis"};
8489
ConfigurableAxis axisParticles{"axisParticles", {3, 0, 3}, "axis for different hadrons"};
85-
ConfigurableAxis axisPhiMass{"axisPhiMass", {10000, 0, 2}, "axis for invariant mass distibution for Phi"};
8690
ConfigurableAxis axisTPCsignal{"axisTPCsignal", {10000, 0, 1000}, "axis for TPC signal"};
8791

8892
Filter collisionFilter = nabs(aod::collision::posZ) < cfgCutVertex;
89-
Filter trackFilter = (nabs(aod::track::eta) < cfgCutEta) && (aod::track::pt > cfgCutPtPOIMin) && (aod::track::pt < cfgCutPtPOIMax) && ((requireGlobalTrackInFilter()) || (aod::track::isGlobalTrackSDD == (uint8_t) true)) && (aod::track::tpcChi2NCl < cfgCutChi2prTPCcls);
93+
Filter trackFilter = (nabs(aod::track::dcaXY) < cfgCutDCAxy) && (nabs(aod::track::dcaZ) < cfgCutDCAz) && (nabs(aod::track::eta) < cfgCutEta) && (aod::track::pt > cfgCutPtPOIMin) && (aod::track::pt < cfgCutPtPOIMax) && ((requireGlobalTrackInFilter()) || (aod::track::isGlobalTrackSDD == (uint8_t) true)) && (aod::track::tpcChi2NCl < cfgCutChi2prTPCcls);
9094

91-
using AodCollisions = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::FT0Mults, aod::MultZeqs, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs>>;
92-
// using AodTracks = soa::Filtered<soa::Join<aod::Tracks, aod::TrackSelection, aod::TracksExtra, aod::pidBayes, aod::pidBayesPi, aod::pidBayesKa, aod::pidBayesPr, aod::pidTPCFullPi, aod::pidTPCFullKa, aod::pidTPCFullPr, aod::pidTOFFullPi, aod::pidTOFFullKa, aod::pidTOFFullPr>>;
93-
using AodTracks = soa::Filtered<soa::Join<aod::Tracks, aod::TrackSelection, aod::TracksExtra, aod::pidTPCFullPi, aod::pidTPCFullKa, aod::pidTPCFullPr, aod::pidTOFFullPi, aod::pidTOFFullKa, aod::pidTOFFullPr>>;
94-
95-
SliceCache cache;
96-
Partition<AodTracks> posTracks = aod::track::signed1Pt > 0.0f;
97-
Partition<AodTracks> negTracks = aod::track::signed1Pt < 0.0f;
95+
using AodCollisions = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::FT0Mults, aod::FV0Mults, aod::TPCMults, aod::CentFV0As, aod::CentFT0Ms, aod::CentFT0Cs, aod::CentFT0As, aod::Mults>>;
96+
using AodTracksWithoutBayes = soa::Filtered<soa::Join<aod::Tracks, aod::TrackSelection, aod::TracksExtra, aod::TracksDCA, aod::pidTPCFullPi, aod::pidTPCFullKa, aod::pidTPCFullPr, aod::pidTOFbeta, aod::pidTOFFullPi, aod::pidTOFFullKa, aod::pidTOFFullPr>>;
9897

9998
OutputObj<FlowContainer> fFC{FlowContainer("FlowContainer")};
10099
HistogramRegistry histos{"histos", {}, OutputObjHandlingPolicy::AnalysisObject};
@@ -110,20 +109,21 @@ struct FlowPbpbPikp {
110109
ccdb->setCaching(true);
111110
ccdb->setCreatedNotAfter(noLaterThan.value);
112111

113-
histos.add("hPhi", "", {HistType::kTH1D, {axisPhi}});
114-
histos.add("hEta", "", {HistType::kTH1D, {axisEta}});
115112
histos.add("hVtxZ", "", {HistType::kTH1D, {axisVertex}});
116113
histos.add("hMult", "", {HistType::kTH1D, {{3000, 0.5, 3000.5}}});
117114
histos.add("hCent", "", {HistType::kTH1D, {{90, 0, 90}}});
115+
histos.add("hPhi", "", {HistType::kTH1D, {axisPhi}});
116+
histos.add("hEta", "", {HistType::kTH1D, {axisEta}});
118117
histos.add("hPt", "", {HistType::kTH1D, {axisPt}});
119-
histos.add("hPhiMass", "", {HistType::kTH1D, {axisPhiMass}});
120118
histos.add("c22_gap08", "", {HistType::kTProfile, {axisMultiplicity}});
121119
histos.add("c22_gap08_pi", "", {HistType::kTProfile, {axisMultiplicity}});
122120
histos.add("c22_gap08_ka", "", {HistType::kTProfile, {axisMultiplicity}});
123121
histos.add("c22_gap08_pr", "", {HistType::kTProfile, {axisMultiplicity}});
124122
histos.add("c24_full", "", {HistType::kTProfile, {axisMultiplicity}});
125-
histos.add("KplusTPC", "", {HistType::kTH2D, {{axisPt, axisTPCsignal}}});
126-
histos.add("KminusTPC", "", {HistType::kTH2D, {{axisPt, axisTPCsignal}}});
123+
histos.add("c24_gap08", "", {HistType::kTProfile, {axisMultiplicity}});
124+
histos.add("c24_gap08_pi", "", {HistType::kTProfile, {axisMultiplicity}});
125+
histos.add("c24_gap08_ka", "", {HistType::kTProfile, {axisMultiplicity}});
126+
histos.add("c24_gap08_pr", "", {HistType::kTProfile, {axisMultiplicity}});
127127
histos.add("TofTpcNsigma", "", {HistType::kTHnSparseD, {{axisParticles, axisNsigmaTPC, axisNsigmaTOF, axisPt}}});
128128
histos.add("partCount", "", {HistType::kTHnSparseD, {{axisParticles, axisMultiplicity, axisPt}}});
129129

@@ -154,15 +154,16 @@ struct FlowPbpbPikp {
154154
fFC->Initialize(oba, axisMultiplicity, cfgNbootstrap);
155155
delete oba;
156156

157+
// reference particles
157158
fGFW->AddRegion("refN08", -0.8, -0.4, 1, 1);
158159
fGFW->AddRegion("refP08", 0.4, 0.8, 1, 1);
159160
fGFW->AddRegion("full", -0.8, 0.8, 1, 512);
160-
fGFW->AddRegion("poi", -0.8, 0.8, 1 + fPtAxis->GetNbins(), 1024);
161-
fGFW->AddRegion("ol", -0.8, 0.8, 1 + fPtAxis->GetNbins(), 2048);
162161

163-
// charged parts
162+
// pt dependent charged particles
164163
fGFW->AddRegion("poiN", -0.8, -0.4, 1 + fPtAxis->GetNbins(), 128);
165164
fGFW->AddRegion("olN", -0.8, -0.4, 1 + fPtAxis->GetNbins(), 256);
165+
fGFW->AddRegion("poi", -0.8, 0.8, 1 + fPtAxis->GetNbins(), 1024);
166+
fGFW->AddRegion("ol", -0.8, 0.8, 1 + fPtAxis->GetNbins(), 2048);
166167

167168
// pion
168169
fGFW->AddRegion("poiNpi", -0.8, -0.4, 1 + fPtAxis->GetNbins(), 2);
@@ -180,14 +181,22 @@ struct FlowPbpbPikp {
180181
corrconfigs.push_back(fGFW->GetCorrelatorConfig("refN08 {2} refP08 {-2}", "Pi08Gap22", kFALSE));
181182
corrconfigs.push_back(fGFW->GetCorrelatorConfig("refN08 {2} refP08 {-2}", "Ka08Gap22", kFALSE));
182183
corrconfigs.push_back(fGFW->GetCorrelatorConfig("refN08 {2} refP08 {-2}", "Pr08Gap22", kFALSE));
184+
corrconfigs.push_back(fGFW->GetCorrelatorConfig("full {2 2 -2 -2}", "ChFull24", kFALSE));
185+
corrconfigs.push_back(fGFW->GetCorrelatorConfig("refN08 {2 2} refP08 {-2 -2}", "Ch08Gap24", kFALSE));
186+
corrconfigs.push_back(fGFW->GetCorrelatorConfig("refN08 {2 2} refP08 {-2 -2}", "Pi08Gap24", kFALSE));
187+
corrconfigs.push_back(fGFW->GetCorrelatorConfig("refN08 {2 2} refP08 {-2 -2}", "Ka08Gap24", kFALSE));
188+
corrconfigs.push_back(fGFW->GetCorrelatorConfig("refN08 {2 2} refP08 {-2 -2}", "Pr08Gap24", kFALSE));
183189

184190
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiN refN08 | olN {2} refP08 {-2}", "Ch08Gap22", kTRUE));
185191
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiNpi refN08 | olNpi {2} refP08 {-2}", "Pi08Gap22", kTRUE));
186192
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiNk refN08 | olNk {2} refP08 {-2}", "Ka08Gap22", kTRUE));
187193
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiNpr refN08 | olNpr {2} refP08 {-2}", "Pr08Gap22", kTRUE));
188-
189-
corrconfigs.push_back(fGFW->GetCorrelatorConfig("full {2 2 -2 -2}", "ChFull24", kFALSE));
190194
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poi full | ol {2 2 -2 -2}", "ChFull24", kTRUE));
195+
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiN refN08 | olN {2 2} refP08 {-2 -2}", "Ch08Gap24", kTRUE));
196+
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiNpi refN08 | olNpi {2 2} refP08 {-2 -2}", "Pi08Gap24", kTRUE));
197+
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiNk refN08 | olNk {2 2} refP08 {-2 -2}", "Ka08Gap24", kTRUE));
198+
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiNpr refN08 | olNpr {2 2} refP08 {-2 -2}", "Pr08Gap24", kTRUE));
199+
191200
fGFW->CreateRegions();
192201
}
193202

@@ -197,17 +206,6 @@ struct FlowPbpbPikp {
197206
PROTONS
198207
};
199208

200-
template <typename TTrack>
201-
bool isFakeKaon(TTrack track)
202-
{
203-
const auto pglobal = track.p();
204-
const auto ptpc = track.tpcInnerParam();
205-
if (std::abs(pglobal - ptpc) > 0.1) {
206-
return true;
207-
}
208-
return false;
209-
}
210-
211209
template <typename TTrack>
212210
int getNsigmaPID(TTrack track)
213211
{
@@ -219,6 +217,8 @@ struct FlowPbpbPikp {
219217

220218
// Choose which nSigma to use
221219
std::array<float, 3> nSigmaToUse = (track.pt() > cfgTofPtCut && track.hasTOF()) ? nSigmaCombined : nSigmaTPC;
220+
if (track.pt() >= cfgTofPtCut && !track.hasTOF())
221+
return -1;
222222

223223
// Select particle with the lowest nsigma
224224
for (int i = 0; i < 3; ++i) {
@@ -266,24 +266,6 @@ struct FlowPbpbPikp {
266266
return 0;
267267
}*/
268268

269-
template <typename TTrack, typename vector, char... chars>
270-
void resurrectParticle(TTrack trackplus, TTrack trackminus, vector plusdaug, vector minusdaug, vector mom, double plusmass, double minusmass, const ConstStr<chars...>& hist)
271-
{
272-
for (auto const& [partplus, partminus] : o2::soa::combinations(o2::soa::CombinationsStrictlyUpperIndexPolicy(trackplus, trackminus))) {
273-
if (getNsigmaPID(partplus) != 2)
274-
continue;
275-
if (getNsigmaPID(partminus) != 2)
276-
continue;
277-
278-
plusdaug = ROOT::Math::PxPyPzMVector(partplus.px(), partplus.py(), partplus.pz(), plusmass);
279-
minusdaug = ROOT::Math::PxPyPzMVector(partminus.px(), partminus.py(), partminus.pz(), minusmass);
280-
mom = plusdaug + minusdaug;
281-
282-
histos.fill(hist, mom.M());
283-
}
284-
return;
285-
}
286-
287269
template <char... chars>
288270
void fillProfile(const GFW::CorrConfig& corrconf, const ConstStr<chars...>& tarName, const double& cent)
289271
{
@@ -333,104 +315,73 @@ struct FlowPbpbPikp {
333315
return;
334316
}
335317

336-
ROOT::Math::PxPyPzMVector Phimom, kplusdaug, kminusdaug;
337-
double massKplus = o2::constants::physics::MassKPlus;
338-
double massKminus = o2::constants::physics::MassKMinus;
339-
340-
void process(AodCollisions::iterator const& collision, aod::BCsWithTimestamps const&, AodTracks const& tracks)
318+
void process(AodCollisions::iterator const& collision, aod::BCsWithTimestamps const&, AodTracksWithoutBayes const& tracks)
341319
{
342320
int nTot = tracks.size();
343321
if (nTot < 1)
344322
return;
345323
if (!collision.sel8())
346324
return;
347-
float lRandom = fRndm->Rndm();
348325

326+
float lRandom = fRndm->Rndm();
349327
float vtxz = collision.posZ();
328+
const auto cent = collision.centFT0C();
329+
350330
histos.fill(HIST("hVtxZ"), vtxz);
351331
histos.fill(HIST("hMult"), nTot);
352332
histos.fill(HIST("hCent"), collision.centFT0C());
353333
fGFW->Clear();
354-
const auto cent = collision.centFT0C();
355-
356-
auto posSlicedTracks = posTracks->sliceByCached(aod::track::collisionId, collision.globalIndex(), cache);
357-
auto negSlicedTracks = negTracks->sliceByCached(aod::track::collisionId, collision.globalIndex(), cache);
358334

359335
float weff = 1, wacc = 1;
360336
int pidIndex;
361337

362-
// resurrectParticle(posSlicedTracks, negSlicedTracks, kplusdaug, kminusdaug, Phimom, massKplus, massKminus, HIST("hPhiMass"));
363-
364-
for (auto const& trackA : posSlicedTracks) {
365-
if (getNsigmaPID(trackA) != 2)
366-
continue;
367-
if (isFakeKaon(trackA))
368-
continue;
369-
auto trackAID = trackA.globalIndex();
370-
371-
for (auto const& trackB : negSlicedTracks) {
372-
auto trackBID = trackB.globalIndex();
373-
if (getNsigmaPID(trackB) != 2)
374-
continue;
375-
if (isFakeKaon(trackB))
376-
continue;
377-
if (trackAID == trackBID)
378-
continue;
379-
380-
histos.fill(HIST("KplusTPC"), trackA.pt(), trackA.tpcSignal());
381-
histos.fill(HIST("KminusTPC"), trackB.pt(), trackB.tpcSignal());
382-
383-
kplusdaug = ROOT::Math::PxPyPzMVector(trackA.px(), trackA.py(), trackA.pz(), massKplus);
384-
kminusdaug = ROOT::Math::PxPyPzMVector(trackB.px(), trackB.py(), trackB.pz(), massKminus);
385-
Phimom = kplusdaug + kminusdaug;
386-
387-
histos.fill(HIST("hPhiMass"), Phimom.M());
388-
}
389-
}
390-
391-
for (auto const& track1 : tracks) {
392-
double pt = track1.pt();
393-
histos.fill(HIST("hPhi"), track1.phi());
394-
histos.fill(HIST("hEta"), track1.eta());
338+
for (auto const& track : tracks) {
339+
double pt = track.pt();
340+
histos.fill(HIST("hPhi"), track.phi());
341+
histos.fill(HIST("hEta"), track.eta());
395342
histos.fill(HIST("hPt"), pt);
396343

397-
histos.fill(HIST("TofTpcNsigma"), PIONS, track1.tpcNSigmaPi(), track1.tofNSigmaPi(), pt);
398-
histos.fill(HIST("TofTpcNsigma"), KAONS, track1.tpcNSigmaKa(), track1.tofNSigmaKa(), pt);
399-
histos.fill(HIST("TofTpcNsigma"), PROTONS, track1.tpcNSigmaPr(), track1.tofNSigmaPr(), pt);
344+
histos.fill(HIST("TofTpcNsigma"), PIONS, track.tpcNSigmaPi(), track.tofNSigmaPi(), pt);
345+
histos.fill(HIST("TofTpcNsigma"), KAONS, track.tpcNSigmaKa(), track.tofNSigmaKa(), pt);
346+
histos.fill(HIST("TofTpcNsigma"), PROTONS, track.tpcNSigmaPr(), track.tofNSigmaPr(), pt);
400347

401348
bool withinPtPOI = (cfgCutPtPOIMin < pt) && (pt < cfgCutPtPOIMax); // within POI pT range
402349
bool withinPtRef = (cfgCutPtMin < pt) && (pt < cfgCutPtMax); // within RF pT range
403350

404-
// pidIndex = getBayesPIDIndex(track1);
405-
pidIndex = getNsigmaPID(track1);
351+
// pidIndex = getBayesPIDIndex(track);
352+
pidIndex = getNsigmaPID(track);
406353
if (withinPtRef) {
407-
fGFW->Fill(track1.eta(), fPtAxis->FindBin(pt) - 1, track1.phi(), wacc * weff, 1);
408-
fGFW->Fill(track1.eta(), 1, track1.phi(), wacc * weff, 512);
354+
fGFW->Fill(track.eta(), fPtAxis->FindBin(pt) - 1, track.phi(), wacc * weff, 1);
355+
fGFW->Fill(track.eta(), 1, track.phi(), wacc * weff, 512);
409356
}
410357
if (withinPtPOI) {
411-
fGFW->Fill(track1.eta(), fPtAxis->FindBin(pt) - 1, track1.phi(), wacc * weff, 128);
412-
fGFW->Fill(track1.eta(), fPtAxis->FindBin(pt) - 1, track1.phi(), wacc * weff, 1024);
358+
fGFW->Fill(track.eta(), fPtAxis->FindBin(pt) - 1, track.phi(), wacc * weff, 128);
359+
fGFW->Fill(track.eta(), fPtAxis->FindBin(pt) - 1, track.phi(), wacc * weff, 1024);
413360
}
414361
if (withinPtPOI && withinPtRef) {
415-
fGFW->Fill(track1.eta(), fPtAxis->FindBin(pt) - 1, track1.phi(), wacc * weff, 256);
416-
fGFW->Fill(track1.eta(), fPtAxis->FindBin(pt) - 1, track1.phi(), wacc * weff, 2048);
362+
fGFW->Fill(track.eta(), fPtAxis->FindBin(pt) - 1, track.phi(), wacc * weff, 256);
363+
fGFW->Fill(track.eta(), fPtAxis->FindBin(pt) - 1, track.phi(), wacc * weff, 2048);
417364
}
418365

419366
if (pidIndex) {
420367
histos.fill(HIST("partCount"), pidIndex - 1, cent, pt);
421368
if (withinPtPOI)
422-
fGFW->Fill(track1.eta(), fPtAxis->FindBin(pt) - 1, track1.phi(), wacc * weff, 1 << (pidIndex));
369+
fGFW->Fill(track.eta(), fPtAxis->FindBin(pt) - 1, track.phi(), wacc * weff, 1 << (pidIndex));
423370
if (withinPtPOI && withinPtRef)
424-
fGFW->Fill(track1.eta(), fPtAxis->FindBin(pt) - 1, track1.phi(), wacc * weff, 1 << (pidIndex + 3));
371+
fGFW->Fill(track.eta(), fPtAxis->FindBin(pt) - 1, track.phi(), wacc * weff, 1 << (pidIndex + 3));
425372
}
426-
} // track1 loop ends
373+
} // track loop ends
427374

428-
// Filling c22 with ROOT TProfile
375+
// Filling cumulants with ROOT TProfile
429376
fillProfile(corrconfigs.at(0), HIST("c22_gap08"), cent);
430377
fillProfile(corrconfigs.at(1), HIST("c22_gap08_pi"), cent);
431378
fillProfile(corrconfigs.at(2), HIST("c22_gap08_ka"), cent);
432379
fillProfile(corrconfigs.at(3), HIST("c22_gap08_pr"), cent);
433380
fillProfile(corrconfigs.at(4), HIST("c24_full"), cent);
381+
fillProfile(corrconfigs.at(5), HIST("c24_gap08"), cent);
382+
fillProfile(corrconfigs.at(6), HIST("c24_gap08_pi"), cent);
383+
fillProfile(corrconfigs.at(7), HIST("c24_gap08_ka"), cent);
384+
fillProfile(corrconfigs.at(8), HIST("c24_gap08_pr"), cent);
434385

435386
for (uint l_ind = 0; l_ind < corrconfigs.size(); l_ind++) {
436387
fillFC(corrconfigs.at(l_ind), cent, lRandom);

0 commit comments

Comments
 (0)