Skip to content

Commit 92bff8e

Browse files
authored
[PWGLF] perMCColl preslice + config for MCPhi filter (#12113)
1 parent 53fbe7a commit 92bff8e

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

PWGLF/Tasks/Strangeness/phik0shortanalysis.cxx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,9 @@ struct Phik0shortanalysis {
181181
Configurable<bool> fillMethodSingleWeight{"fillMethodSingleWeight", false, "Fill method Single Weight"};
182182
Configurable<bool> applyEfficiency{"applyEfficiency", false, "Use efficiency for filling histograms"};
183183

184+
// Configurable for MCPhi filter
185+
Configurable<bool> filterOnMcPhi{"filterOnMcPhi", true, "Filter on MC Phi"};
186+
184187
// Configurable for event mixing
185188
Configurable<int> cfgNoMixedEvents{"cfgNoMixedEvents", 5, "Number of mixed events per event"};
186189

@@ -244,6 +247,9 @@ struct Phik0shortanalysis {
244247
// Cache for manual slicing
245248
SliceCache cache;
246249

250+
// Preslice for manual sicing
251+
Preslice<aod::McParticles> perMCColl = aod::mcparticle::mcCollisionId;
252+
247253
// Positive and negative tracks partitions
248254
Partition<FullTracks> posTracks = aod::track::signed1Pt > trackConfigs.cfgCutCharge;
249255
Partition<FullTracks> negTracks = aod::track::signed1Pt < trackConfigs.cfgCutCharge;
@@ -2388,9 +2394,9 @@ struct Phik0shortanalysis {
23882394
return;
23892395
const auto& mcCollision = collision.mcCollision_as<MCCollisions>();
23902396

2391-
auto mcParticlesThisColl = mcParticles.sliceByCached(aod::mcparticle::mcCollisionId, mcCollision.globalIndex(), cache);
2397+
auto mcParticlesThisColl = mcParticles.sliceBy(perMCColl, mcCollision.globalIndex());
23922398

2393-
if (!eventHasMCPhi(mcParticlesThisColl))
2399+
if (filterOnMcPhi && !eventHasMCPhi(mcParticlesThisColl))
23942400
return;
23952401

23962402
float genmultiplicity = mcCollision.centFT0M();
@@ -2429,7 +2435,7 @@ struct Phik0shortanalysis {
24292435
return;
24302436
if (!pwglf::isINELgtNmc(mcParticles, 0, pdgDB))
24312437
return;
2432-
if (!eventHasMCPhi(mcParticles))
2438+
if (filterOnMcPhi && !eventHasMCPhi(mcParticles))
24332439
return;
24342440

24352441
float genmultiplicity = mcCollision.centFT0M();

0 commit comments

Comments
 (0)