diff --git a/PWGLF/Tasks/Strangeness/phik0shortanalysis.cxx b/PWGLF/Tasks/Strangeness/phik0shortanalysis.cxx index df749d12a98..192cf31a370 100644 --- a/PWGLF/Tasks/Strangeness/phik0shortanalysis.cxx +++ b/PWGLF/Tasks/Strangeness/phik0shortanalysis.cxx @@ -181,6 +181,9 @@ struct Phik0shortanalysis { Configurable fillMethodSingleWeight{"fillMethodSingleWeight", false, "Fill method Single Weight"}; Configurable applyEfficiency{"applyEfficiency", false, "Use efficiency for filling histograms"}; + // Configurable for MCPhi filter + Configurable filterOnMcPhi{"filterOnMcPhi", true, "Filter on MC Phi"}; + // Configurable for event mixing Configurable cfgNoMixedEvents{"cfgNoMixedEvents", 5, "Number of mixed events per event"}; @@ -244,6 +247,9 @@ struct Phik0shortanalysis { // Cache for manual slicing SliceCache cache; + // Preslice for manual sicing + Preslice perMCColl = aod::mcparticle::mcCollisionId; + // Positive and negative tracks partitions Partition posTracks = aod::track::signed1Pt > trackConfigs.cfgCutCharge; Partition negTracks = aod::track::signed1Pt < trackConfigs.cfgCutCharge; @@ -2388,9 +2394,9 @@ struct Phik0shortanalysis { return; const auto& mcCollision = collision.mcCollision_as(); - auto mcParticlesThisColl = mcParticles.sliceByCached(aod::mcparticle::mcCollisionId, mcCollision.globalIndex(), cache); + auto mcParticlesThisColl = mcParticles.sliceBy(perMCColl, mcCollision.globalIndex()); - if (!eventHasMCPhi(mcParticlesThisColl)) + if (filterOnMcPhi && !eventHasMCPhi(mcParticlesThisColl)) return; float genmultiplicity = mcCollision.centFT0M(); @@ -2429,7 +2435,7 @@ struct Phik0shortanalysis { return; if (!pwglf::isINELgtNmc(mcParticles, 0, pdgDB)) return; - if (!eventHasMCPhi(mcParticles)) + if (filterOnMcPhi && !eventHasMCPhi(mcParticles)) return; float genmultiplicity = mcCollision.centFT0M();