From 02f83b99233da9af44f68391dde637f3ee903449 Mon Sep 17 00:00:00 2001 From: Emil Gorm Nielsen Date: Fri, 2 Oct 2026 15:38:44 +0200 Subject: [PATCH 1/2] Add dca cuts in twoParticleCorrelationsMpi.cxx --- .../Tasks/twoParticleCorrelationsMpi.cxx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/PWGCF/TwoParticleCorrelations/Tasks/twoParticleCorrelationsMpi.cxx b/PWGCF/TwoParticleCorrelations/Tasks/twoParticleCorrelationsMpi.cxx index 0d681481ffb..f6fe76bd850 100644 --- a/PWGCF/TwoParticleCorrelations/Tasks/twoParticleCorrelationsMpi.cxx +++ b/PWGCF/TwoParticleCorrelations/Tasks/twoParticleCorrelationsMpi.cxx @@ -117,6 +117,11 @@ struct TwoParticleCorrelationsMpi { Configurable cfgCentBinsForMC{"cfgCentBinsForMC", 0, "0 = generated multiplicity; 1 = reconstructed multiplicity and all associated collisions"}; } cfgGeneral; Configurable cfgTrackBitMask{"cfgTrackBitMask", 0, "BitMask for track selection systematics; refer to the enum TrackSelectionCuts in filtering task"}; + Configurable dcaxymax{"dcaxymax", 999.f, "maximum dcaxy of tracks"}; + Configurable dcazmax{"dcazmax", 999.f, "maximum dcaz of tracks"}; + Configurable enablePtDepDCAxy{"enablePtDepDCAxy", false, "Enable pT-dependent DCAxy cut: |DCAxy| < a + b/pT"}; + Configurable dcaXyConst{"dcaXyConst", 0.004f, "Constant term 'a' for pT-dependent DCAxy cut: |DCAxy| < a + b/pT (cm)"}; + Configurable dcaXySlope{"dcaXySlope", 0.013f, "Slope term 'b' for pT-dependent DCAxy cut: |DCAxy| < a + b/pT (cm x GeV/c)"}; Configurable cfgMultCorrelationsMask{"cfgMultCorrelationsMask", 0, "Selection bitmask for the multiplicity correlations. This should match the filter selection cfgEstimatorBitMask."}; Configurable cfgMultCutFormula{"cfgMultCutFormula", "", "Multiplicity correlations cut formula. A result greater than zero results in accepted event. Parameters: [cFT0C] FT0C centrality, [mFV0A] V0A multiplicity, [mGlob] global track multiplicity, [mPV] PV track multiplicity, [cFT0M] FT0M centrality"}; @@ -182,7 +187,11 @@ struct TwoParticleCorrelationsMpi { Filter collisionVertexTypeFilter = (aod::collision::flags & static_cast(aod::collision::CollisionFlagsRun2::Run2VertexerTracks)) == static_cast(aod::collision::CollisionFlagsRun2::Run2VertexerTracks); // Track filters - Filter trackFilter = (nabs(aod::track::eta) < cfgGeneral.cfgCutEta) && (aod::track::pt > cfgGeneral.cfgCutPt) && ((requireGlobalTrackInFilter()) || (aod::track::isGlobalTrackSDD == (uint8_t)true)); + Filter trackFilter = (nabs(aod::track::eta) < cfgGeneral.cfgCutEta) && (aod::track::pt > cfgGeneral.cfgCutPt) && ((requireGlobalTrackInFilter()) || (aod::track::isGlobalTrackSDD == (uint8_t)true)) && + (nabs(aod::track::dcaZ) < dcazmax) && + ifnode(enablePtDepDCAxy.node() == true, + nabs(aod::track::dcaXY) < (dcaXyConst + dcaXySlope / aod::track::pt), + nabs(aod::track::dcaXY) < dcaxymax); Filter cfTrackFilter = (nabs(aod::cftrack::eta) < cfgGeneral.cfgCutEta) && (aod::cftrack::pt > cfgGeneral.cfgCutPt) && ncheckbit(aod::track::trackType, as(cfgTrackBitMask)); // MC filters @@ -327,7 +336,7 @@ struct TwoParticleCorrelationsMpi { Service pdg{}; using AodCollisions = soa::Filtered>; - using AodTracks = soa::Filtered>; + using AodTracks = soa::Filtered>; using DerivedCollisions = soa::Filtered; using DerivedCollisionsCorrected = soa::Filtered; @@ -367,7 +376,7 @@ struct TwoParticleCorrelationsMpi { if (cfgFillAcceptanceWeights && !cfgAcceptance.value.empty()) { LOGF(fatal, "cfgFillAcceptanceWeights and cfgAcceptance are mutually exclusive: produce and apply acceptance weights in separate jobs"); } - if (cfgFillAcceptanceWeights && !(doprocessSameDerived || doprocessSameDerivedCorrected || doprocessSameDerivedMultSet || doprocessSameDerivedMultSetCorrected || doprocessMCSameDerived)) { + if (cfgFillAcceptanceWeights && !(doprocessSameDerived || doprocessSameDerivedCorrected || doprocessSameDerivedMultSet || doprocessSame DerivedMultSetCorrected || doprocessMCSameDerived)) { LOGF(fatal, "cfgFillAcceptanceWeights requires a reconstructed derived same-event process"); } if (cfgAcceptancePhiBins < 1 || cfgAcceptanceEtaBins < 1) { From 7eff1a088e76f1e0a8a45afb681dff8992698cca Mon Sep 17 00:00:00 2001 From: Emil Gorm Nielsen Date: Fri, 2 Oct 2026 18:53:42 +0200 Subject: [PATCH 2/2] reduce number of task members --- .../Tasks/twoParticleCorrelationsMpi.cxx | 97 ++++++++++--------- 1 file changed, 51 insertions(+), 46 deletions(-) diff --git a/PWGCF/TwoParticleCorrelations/Tasks/twoParticleCorrelationsMpi.cxx b/PWGCF/TwoParticleCorrelations/Tasks/twoParticleCorrelationsMpi.cxx index f6fe76bd850..f98d37b2c6d 100644 --- a/PWGCF/TwoParticleCorrelations/Tasks/twoParticleCorrelationsMpi.cxx +++ b/PWGCF/TwoParticleCorrelations/Tasks/twoParticleCorrelationsMpi.cxx @@ -116,25 +116,30 @@ struct TwoParticleCorrelationsMpi { Configurable cfgDropStepRECO{"cfgDropStepRECO", false, "choice to drop step RECO if efficiency correction is used"}; Configurable cfgCentBinsForMC{"cfgCentBinsForMC", 0, "0 = generated multiplicity; 1 = reconstructed multiplicity and all associated collisions"}; } cfgGeneral; + struct : ConfigurableGroup { + Configurable dcaxymax{"dcaxymax", 999.f, "maximum dcaxy of tracks"}; + Configurable dcazmax{"dcazmax", 999.f, "maximum dcaz of tracks"}; + Configurable enablePtDepDCAxy{"enablePtDepDCAxy", false, "Enable pT-dependent DCAxy cut: |DCAxy| < a + b/pT"}; + Configurable dcaXyConst{"dcaXyConst", 0.004f, "Constant term 'a' for pT-dependent DCAxy cut: |DCAxy| < a + b/pT (cm)"}; + Configurable dcaXySlope{"dcaXySlope", 0.013f, "Slope term 'b' for pT-dependent DCAxy cut: |DCAxy| < a + b/pT (cm x GeV/c)"}; + } cfgDCA; Configurable cfgTrackBitMask{"cfgTrackBitMask", 0, "BitMask for track selection systematics; refer to the enum TrackSelectionCuts in filtering task"}; - Configurable dcaxymax{"dcaxymax", 999.f, "maximum dcaxy of tracks"}; - Configurable dcazmax{"dcazmax", 999.f, "maximum dcaz of tracks"}; - Configurable enablePtDepDCAxy{"enablePtDepDCAxy", false, "Enable pT-dependent DCAxy cut: |DCAxy| < a + b/pT"}; - Configurable dcaXyConst{"dcaXyConst", 0.004f, "Constant term 'a' for pT-dependent DCAxy cut: |DCAxy| < a + b/pT (cm)"}; - Configurable dcaXySlope{"dcaXySlope", 0.013f, "Slope term 'b' for pT-dependent DCAxy cut: |DCAxy| < a + b/pT (cm x GeV/c)"}; Configurable cfgMultCorrelationsMask{"cfgMultCorrelationsMask", 0, "Selection bitmask for the multiplicity correlations. This should match the filter selection cfgEstimatorBitMask."}; Configurable cfgMultCutFormula{"cfgMultCutFormula", "", "Multiplicity correlations cut formula. A result greater than zero results in accepted event. Parameters: [cFT0C] FT0C centrality, [mFV0A] V0A multiplicity, [mGlob] global track multiplicity, [mPV] PV track multiplicity, [cFT0M] FT0M centrality"}; // Suggested values: Photon: 0.004; K0 and Lambda: 0.005 Configurable> cfgPairCut{"cfgPairCut", {CfgPairCutDefaults.front().data(), 5, {"Photon", "K0", "Lambda", "Phi", "Rho"}}, "Pair cuts on various particles"}; - Configurable cfgEfficiencyTrigger{"cfgEfficiencyTrigger", "", "CCDB path to efficiency object for trigger particles"}; - Configurable cfgEfficiencyAssociated{"cfgEfficiencyAssociated", "", "CCDB path to efficiency object for associated particles"}; - Configurable cfgAcceptance{"cfgAcceptance", "", "CCDB path to the GFW acceptance object"}; - Configurable cfgFillAcceptanceWeights{"cfgFillAcceptanceWeights", false, "Fill acceptance maps instead of physics outputs"}; - Configurable cfgAcceptanceRunByRun{"cfgAcceptanceRunByRun", false, "Fill or load run-by-run acceptance weights"}; - Configurable cfgAcceptancePhiBins{"cfgAcceptancePhiBins", int{DefaultAcceptancePhiBins}, "Number of phi bins in acceptance maps"}; - Configurable cfgAcceptanceEtaBins{"cfgAcceptanceEtaBins", int{DefaultAcceptanceEtaBins}, "Number of eta bins in acceptance maps"}; + struct : ConfigurableGroup { + Configurable cfgEfficiencyTrigger{"cfgEfficiencyTrigger", "", "CCDB path to efficiency object for trigger particles"}; + Configurable cfgEfficiencyAssociated{"cfgEfficiencyAssociated", "", "CCDB path to efficiency object for associated particles"}; + Configurable cfgAcceptance{"cfgAcceptance", "", "CCDB path to the GFW acceptance object"}; + Configurable cfgFillAcceptanceWeights{"cfgFillAcceptanceWeights", false, "Fill acceptance maps instead of physics outputs"}; + Configurable cfgAcceptanceRunByRun{"cfgAcceptanceRunByRun", false, "Fill or load run-by-run acceptance weights"}; + Configurable cfgAcceptancePhiBins{"cfgAcceptancePhiBins", int{DefaultAcceptancePhiBins}, "Number of phi bins in acceptance maps"}; + Configurable cfgAcceptanceEtaBins{"cfgAcceptanceEtaBins", int{DefaultAcceptanceEtaBins}, "Number of eta bins in acceptance maps"}; + } cfgCorrections; + Configurable cfgNuncSeedsTemplateFile{"cfgNuncSeedsTemplateFile", "", "Local ROOT file containing ensembleYieldTemplates"}; Configurable cfgNuncSeedsTemplate{"cfgNuncSeedsTemplate", "", "CCDB path to the ensemble-yield template ccdb_object"}; Configurable cfgMinPairAcceptance{"cfgMinPairAcceptance", 0.05f, "Minimum pair acceptance used by the event seed estimator"}; @@ -188,10 +193,10 @@ struct TwoParticleCorrelationsMpi { // Track filters Filter trackFilter = (nabs(aod::track::eta) < cfgGeneral.cfgCutEta) && (aod::track::pt > cfgGeneral.cfgCutPt) && ((requireGlobalTrackInFilter()) || (aod::track::isGlobalTrackSDD == (uint8_t)true)) && - (nabs(aod::track::dcaZ) < dcazmax) && - ifnode(enablePtDepDCAxy.node() == true, - nabs(aod::track::dcaXY) < (dcaXyConst + dcaXySlope / aod::track::pt), - nabs(aod::track::dcaXY) < dcaxymax); + (nabs(aod::track::dcaZ) < cfgDCA.dcazmax) && + ifnode(cfgDCA.enablePtDepDCAxy.node() == true, + nabs(aod::track::dcaXY) < (cfgDCA.dcaXyConst + cfgDCA.dcaXySlope / aod::track::pt), + nabs(aod::track::dcaXY) < cfgDCA.dcaxymax); Filter cfTrackFilter = (nabs(aod::cftrack::eta) < cfgGeneral.cfgCutEta) && (aod::cftrack::pt > cfgGeneral.cfgCutPt) && ncheckbit(aod::track::trackType, as(cfgTrackBitMask)); // MC filters @@ -370,16 +375,16 @@ struct TwoParticleCorrelationsMpi { (!(doprocessSameGenMC || doprocessMCSameDerived) || doprocessSameAOD || enabledDerivedSameProcesses > 0 || doprocessMixedAOD || enabledDerivedMixedProcesses > 0 || doprocessMCMixedDerived || - cfgGeneral.cfgCentBinsForMC != 0 || cfgFillAcceptanceWeights)) { + cfgGeneral.cfgCentBinsForMC != 0 || cfgCorrections.cfgFillAcceptanceWeights)) { LOGF(fatal, "cfgUserAxis=3 supports generated MC same events only: enable processSameGenMC or processMCSameDerived and disable all other same/mixed processes"); } - if (cfgFillAcceptanceWeights && !cfgAcceptance.value.empty()) { + if (cfgCorrections.cfgFillAcceptanceWeights && !cfgCorrections.cfgAcceptance.value.empty()) { LOGF(fatal, "cfgFillAcceptanceWeights and cfgAcceptance are mutually exclusive: produce and apply acceptance weights in separate jobs"); } - if (cfgFillAcceptanceWeights && !(doprocessSameDerived || doprocessSameDerivedCorrected || doprocessSameDerivedMultSet || doprocessSame DerivedMultSetCorrected || doprocessMCSameDerived)) { + if (cfgCorrections.cfgFillAcceptanceWeights && !(doprocessSameDerived || doprocessSameDerivedCorrected || doprocessSameDerivedMultSet || doprocessSameDerivedMultSetCorrected || doprocessMCSameDerived)) { LOGF(fatal, "cfgFillAcceptanceWeights requires a reconstructed derived same-event process"); } - if (cfgAcceptancePhiBins < 1 || cfgAcceptanceEtaBins < 1) { + if (cfgCorrections.cfgAcceptancePhiBins < 1 || cfgCorrections.cfgAcceptanceEtaBins < 1) { LOGF(fatal, "Acceptance-map bin counts must be positive"); } if (!cfgNuncSeedsTemplateFile.value.empty() && !cfgNuncSeedsTemplate.value.empty()) { @@ -540,9 +545,9 @@ struct TwoParticleCorrelationsMpi { registry.add("eventcount_mixed", "bin", {HistType::kTH1F, {{maxMixBin + 2, -2.5, -0.5 + maxMixBin, "bin"}}}); registry.add("trackcount_same", "bin", {HistType::kTH2F, {{maxMixBin + 2, -2.5, -0.5 + maxMixBin, "bin"}, {10, -0.5, 9.5}}}); registry.add("trackcount_mixed", "bin", {HistType::kTH3F, {{maxMixBin + 2, -2.5, -0.5 + maxMixBin, "bin"}, {10, -0.5, 9.5}, {10, -0.5, 9.5}}}); - if (cfgFillAcceptanceWeights && !cfgAcceptanceRunByRun) { - AxisSpec phiAxis{cfgAcceptancePhiBins, 0., o2::constants::math::TwoPI, "#varphi"}; - AxisSpec etaAxis{cfgAcceptanceEtaBins, -cfgGeneral.cfgCutEta.value, cfgGeneral.cfgCutEta.value, "#eta"}; + if (cfgCorrections.cfgFillAcceptanceWeights && !cfgCorrections.cfgAcceptanceRunByRun) { + AxisSpec phiAxis{cfgCorrections.cfgAcceptancePhiBins, 0., o2::constants::math::TwoPI, "#varphi"}; + AxisSpec etaAxis{cfgCorrections.cfgAcceptanceEtaBins, -cfgGeneral.cfgCutEta.value, cfgGeneral.cfgCutEta.value, "#eta"}; mAcceptanceWeights = registry.add("phi_eta_vtxz_ref", "Reference-track acceptance;#varphi;#eta;z_{vtx} (cm)", {HistType::kTH3D, {phiAxis, etaAxis, axisVertex}}); } @@ -615,7 +620,7 @@ struct TwoParticleCorrelationsMpi { same->setTrackEtaCut(cfgGeneral.cfgCutEta); mixed->setTrackEtaCut(cfgGeneral.cfgCutEta); - if (!cfgEfficiencyAssociated.value.empty()) { + if (!cfgCorrections.cfgEfficiencyAssociated.value.empty()) { efficiencyAssociatedCache.reserve(512); } @@ -664,7 +669,7 @@ struct TwoParticleCorrelationsMpi { ++nPtPtSubevents; } - if (!cfgFillAcceptanceWeights && (doprocessMCSameDerived || doprocessSameDerived || doprocessSameDerivedCorrected || doprocessSameDerivedMultSet || doprocessSameDerivedMultSetCorrected)) { + if (!cfgCorrections.cfgFillAcceptanceWeights && (doprocessMCSameDerived || doprocessSameDerived || doprocessSameDerivedCorrected || doprocessSameDerivedMultSet || doprocessSameDerivedMultSetCorrected)) { auto recoProfiles = std::make_unique(); addConfigObjectsToObjArray(recoProfiles.get(), mCorrConfigs, cfgUserAxis == EventSeedAxis && eventClassifierPercentileAxisEnabled); fFC.setObject(new FlowContainer("FlowContainer")); @@ -678,7 +683,7 @@ struct TwoParticleCorrelationsMpi { fFCpt->initialise(axisMultiplicity, MaxPtCorrelationOrder, cfgCorrConfig.value, FlowNBootstrap); fFCpt->initialiseSubevent(axisMultiplicity, MaxPtCorrelationOrder, nPtPtSubevents, FlowNBootstrap); } - if (!cfgFillAcceptanceWeights && (doprocessMCSameDerived || doprocessSameGenMC)) { + if (!cfgCorrections.cfgFillAcceptanceWeights && (doprocessMCSameDerived || doprocessSameGenMC)) { auto generatedProfiles = std::make_unique(); addConfigObjectsToObjArray(generatedProfiles.get(), mCorrConfigs, cfgUserAxis == NMPIAxis && eventClassifierPercentileAxisEnabled); fFCGen.setObject(new FlowContainer("FlowContainer_gen")); @@ -871,8 +876,8 @@ struct TwoParticleCorrelationsMpi { return existing->second; } - AxisSpec phiAxis{cfgAcceptancePhiBins, 0., o2::constants::math::TwoPI, "#varphi"}; - AxisSpec etaAxis{cfgAcceptanceEtaBins, -cfgGeneral.cfgCutEta.value, cfgGeneral.cfgCutEta.value, "#eta"}; + AxisSpec phiAxis{cfgCorrections.cfgAcceptancePhiBins, 0., o2::constants::math::TwoPI, "#varphi"}; + AxisSpec etaAxis{cfgCorrections.cfgAcceptanceEtaBins, -cfgGeneral.cfgCutEta.value, cfgGeneral.cfgCutEta.value, "#eta"}; const std::string histogramName = Form("%d/phi_eta_vtxz_ref", runNumber); const auto histogram = registry.add(histogramName.c_str(), "Reference-track acceptance;#varphi;#eta;z_{vtx} (cm)", {HistType::kTH3D, {phiAxis, etaAxis, axisVertex}}); mAcceptanceWeightsByRun.emplace(runNumber, histogram); @@ -885,7 +890,7 @@ struct TwoParticleCorrelationsMpi { if (track.pt() <= fPtAxis->GetXmin() || track.pt() >= fPtAxis->GetXmax()) { return; } - const auto histogram = cfgAcceptanceRunByRun ? getAcceptanceWeightsForRun(runNumber) : mAcceptanceWeights; + const auto histogram = cfgCorrections.cfgAcceptanceRunByRun ? getAcceptanceWeightsForRun(runNumber) : mAcceptanceWeights; histogram->Fill(track.phi(), track.eta(), posZ); } @@ -1992,46 +1997,46 @@ struct TwoParticleCorrelationsMpi { if (cfg.efficiencyLoaded) { return; } - if (!cfgEfficiencyTrigger.value.empty()) { + if (!cfgCorrections.cfgEfficiencyTrigger.value.empty()) { if (cfgGeneral.cfgLocalEfficiency > 0) { - TFile* fEfficiencyTrigger = TFile::Open(cfgEfficiencyTrigger.value.c_str(), "READ"); + TFile* fEfficiencyTrigger = TFile::Open(cfgCorrections.cfgEfficiencyTrigger.value.c_str(), "READ"); cfg.mEfficiencyTrigger = dynamic_cast(fEfficiencyTrigger->Get("ccdb_object")); } else { - cfg.mEfficiencyTrigger = ccdb->getForTimeStamp>(cfgEfficiencyTrigger, timestamp); + cfg.mEfficiencyTrigger = ccdb->getForTimeStamp>(cfgCorrections.cfgEfficiencyTrigger, timestamp); } if (cfg.mEfficiencyTrigger == nullptr) { - LOGF(fatal, "Could not load efficiency histogram for trigger particles from %s", cfgEfficiencyTrigger.value.c_str()); + LOGF(fatal, "Could not load efficiency histogram for trigger particles from %s", cfgCorrections.cfgEfficiencyTrigger.value.c_str()); } - LOGF(info, "Loaded efficiency histogram for trigger particles from %s", cfgEfficiencyTrigger.value.c_str()); + LOGF(info, "Loaded efficiency histogram for trigger particles from %s", cfgCorrections.cfgEfficiencyTrigger.value.c_str()); } - if (!cfgEfficiencyAssociated.value.empty()) { + if (!cfgCorrections.cfgEfficiencyAssociated.value.empty()) { if (cfgGeneral.cfgLocalEfficiency > 0) { - TFile* fEfficiencyAssociated = TFile::Open(cfgEfficiencyAssociated.value.c_str(), "READ"); + TFile* fEfficiencyAssociated = TFile::Open(cfgCorrections.cfgEfficiencyAssociated.value.c_str(), "READ"); cfg.mEfficiencyAssociated = dynamic_cast(fEfficiencyAssociated->Get("ccdb_object")); } else { - cfg.mEfficiencyAssociated = ccdb->getForTimeStamp>(cfgEfficiencyAssociated, timestamp); + cfg.mEfficiencyAssociated = ccdb->getForTimeStamp>(cfgCorrections.cfgEfficiencyAssociated, timestamp); } if (cfg.mEfficiencyAssociated == nullptr) { - LOGF(fatal, "Could not load efficiency histogram for associated particles from %s", cfgEfficiencyAssociated.value.c_str()); + LOGF(fatal, "Could not load efficiency histogram for associated particles from %s", cfgCorrections.cfgEfficiencyAssociated.value.c_str()); } - LOGF(info, "Loaded efficiency histogram for associated particles from %s", cfgEfficiencyAssociated.value.c_str()); + LOGF(info, "Loaded efficiency histogram for associated particles from %s", cfgCorrections.cfgEfficiencyAssociated.value.c_str()); } cfg.efficiencyLoaded = true; } void loadAcceptance(const uint64_t timestamp, const int runNumber) { - if (cfgFillAcceptanceWeights || cfgAcceptance.value.empty()) { + if (cfgCorrections.cfgFillAcceptanceWeights || cfgCorrections.cfgAcceptance.value.empty()) { cfg.mAcceptance = nullptr; cfg.acceptanceLoaded = true; return; } - if (cfg.acceptanceLoaded && (!cfgAcceptanceRunByRun || cfg.acceptanceRunNumber == runNumber)) { + if (cfg.acceptanceLoaded && (!cfgCorrections.cfgAcceptanceRunByRun || cfg.acceptanceRunNumber == runNumber)) { return; } - std::string path = cfgAcceptance.value; - if (cfgAcceptanceRunByRun) { + std::string path = cfgCorrections.cfgAcceptance.value; + if (cfgCorrections.cfgAcceptanceRunByRun) { if (path.back() != '/') { path += '/'; } @@ -2108,7 +2113,7 @@ struct TwoParticleCorrelationsMpi { soa::Filtered const& mcParticles, soa::SmallGroups const& collisions) { - if (cfgFillAcceptanceWeights) { + if (cfgCorrections.cfgFillAcceptanceWeights) { return; } if (cfgUserAxis == NMPIAxis && mcCollision.nMPI() < 0) { @@ -2177,7 +2182,7 @@ struct TwoParticleCorrelationsMpi { if (cfgVerbosity > 0) { LOGF(info, "processSameDerivedT: Tracks for collision: %d/%d | Vertex: %.1f | Multiplicity/Centrality: %.1f", tracks1.size(), tracks2.size(), collision.posZ(), multiplicity); } - if (cfgFillAcceptanceWeights) { + if (cfgCorrections.cfgFillAcceptanceWeights) { for (const auto& track : tracks2) { fillAcceptanceWeights(track, collision.posZ(), collision.runNumber()); } @@ -2442,7 +2447,7 @@ struct TwoParticleCorrelationsMpi { template void processMCSameDerivedT(McCollision const& mcCollision, Particles1 const& mcParticles1, Particles2 const& mcParticles2, soa::SmallGroups const& collisions) { - if (cfgFillAcceptanceWeights) { + if (cfgCorrections.cfgFillAcceptanceWeights) { return; } if (cfgUserAxis == NMPIAxis && mcCollision.nMPI() < 0) {