Skip to content

Commit 50fa2ac

Browse files
authored
[PWGHF] Fix McParticles slicing in candidateCreatorMcGen (#10123)
1 parent 9f46144 commit 50fa2ac

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

PWGHF/TableProducer/candidateCreatorMcGen.cxx

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,20 @@ struct HfCandidateCreatorMcGen {
5151
Configurable<bool> createLc{"createLc", false, "Create Lc in 3 prong"};
5252
Configurable<bool> createXic{"createXic", false, "Create Xic in 3 prong"};
5353

54-
void process(aod::McCollision const&,
54+
Preslice<aod::McParticles> mcParticlesPerMcCollision = aod::mcparticle::mcCollisionId;
55+
56+
void process(aod::McCollisions const& mcCollisions,
5557
aod::McParticles const& mcParticles)
5658
{
57-
if (fill2Prong) {
58-
hf_mc_gen::fillMcMatchGen2Prong(mcParticles, mcParticles, rowMcMatchGen2Prong, rejectBackground2Prong);
59-
}
60-
if (fill3Prong) {
61-
hf_mc_gen::fillMcMatchGen3Prong(mcParticles, mcParticles, rowMcMatchGen3Prong, rejectBackground3Prong, createDplus, createDs, createLc, createXic);
59+
60+
for (const auto& mcCollision : mcCollisions) {
61+
const auto mcParticlesPerMcColl = mcParticles.sliceBy(mcParticlesPerMcCollision, mcCollision.globalIndex());
62+
if (fill2Prong) {
63+
hf_mc_gen::fillMcMatchGen2Prong(mcParticles, mcParticlesPerMcColl, rowMcMatchGen2Prong, rejectBackground2Prong);
64+
}
65+
if (fill3Prong) {
66+
hf_mc_gen::fillMcMatchGen3Prong(mcParticles, mcParticlesPerMcColl, rowMcMatchGen3Prong, rejectBackground3Prong, createDplus, createDs, createLc, createXic);
67+
}
6268
}
6369
if (fillBplus) {
6470
hf_mc_gen::fillMcMatchGenBplus(mcParticles, rowMcMatchGenBplus);

0 commit comments

Comments
 (0)