From 8d73012a85372b98ae72080e492147f5bae28ce0 Mon Sep 17 00:00:00 2001 From: "mingze.li" Date: Wed, 23 Jul 2025 16:50:21 +0200 Subject: [PATCH 1/8] Add two MC particle variables --- PWGHF/DataModel/DerivedTables.h | 7 +++ .../derivedDataCreatorDstarToD0Pi.cxx | 45 +++++++++++++++++++ PWGJE/DataModel/Jet.h | 2 +- 3 files changed, 53 insertions(+), 1 deletion(-) diff --git a/PWGHF/DataModel/DerivedTables.h b/PWGHF/DataModel/DerivedTables.h index 009dd02c14d..be71a278b9c 100644 --- a/PWGHF/DataModel/DerivedTables.h +++ b/PWGHF/DataModel/DerivedTables.h @@ -162,6 +162,7 @@ DECLARE_SOA_INDEX_COLUMN(McParticle, mcParticle); //! MC parti DECLARE_SOA_COLUMN(FlagMcMatchGen, flagMcMatchGen, int8_t); //! flag for generator level matching DECLARE_SOA_COLUMN(OriginMcGen, originMcGen, int8_t); //! particle origin, generator level DECLARE_SOA_COLUMN(FlagMcDecayChanGen, flagMcDecayChanGen, int8_t); //! resonant decay channel flag, generator level +DECLARE_SOA_COLUMN(PdgMother, pdgMother, int32_t); //! PDG code of the mother particle } // namespace hf_mc_particle // Declares the base table with candidates (Bases). @@ -492,6 +493,7 @@ DECLARE_SOA_COLUMN(MlScoreBkgCharm, mlScoreBkgCharm, float); // DECLARE_SOA_COLUMN(MlScorePromptCharm, mlScorePromptCharm, float); //! ML score for prompt class DECLARE_SOA_COLUMN(MlScoreNonPromptCharm, mlScoreNonPromptCharm, float); //! ML score for non-prompt class DECLARE_SOA_COLUMN(MlScoresCharm, mlScoresCharm, std::vector); //! vector of ML scores +DECLARE_SOA_COLUMN(FlagMcMatchGenCharm, flagMcMatchGenCharm, int8_t); //! flag for generator level matching } // namespace hf_cand_mc_charm // ---------------- @@ -935,6 +937,11 @@ DECLARE_SOA_TABLE_STAGED(HfDstarMcs, "HFDSTMC", //! Table with MC candidate info hf_cand::NTracksDecayed, o2::soa::Marker); +DECLARE_SOA_TABLE_STAGED(HfDstarGenMcs, "HFDSTGENMC", //! Table with MC candidate info for generated D*+ + hf_cand_mc_charm::FlagMcMatchGenCharm, + hf_mc_particle::PdgMother, + o2::soa::Marker); + // ---------------- // Ξc± → (Ξ∓ → (Λ → p π∓) π∓) π± π± // ---------------- diff --git a/PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx b/PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx index f1b14a5769f..a07134a62f4 100644 --- a/PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx +++ b/PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx @@ -70,6 +70,7 @@ struct HfDerivedDataCreatorDstarToD0Pi { Produces rowCandidateMl; Produces rowCandidateId; Produces rowCandidateMc; + Produces rowCandidateGenMc; // Switches for filling tables HfConfigurableDerivedData confDerData; @@ -79,6 +80,7 @@ struct HfDerivedDataCreatorDstarToD0Pi { Configurable fillCandidateMl{"fillCandidateMl", true, "Fill candidate selection ML scores"}; Configurable fillCandidateId{"fillCandidateId", true, "Fill original indices from the candidate table"}; Configurable fillCandidateMc{"fillCandidateMc", true, "Fill candidate MC info"}; + Configurable fillCandidateGenMc{"fillCandidateGenMc", true, "Fill candidate generator level MC info"}; // Parameters for production of training samples Configurable downSampleBkgFactor{"downSampleBkgFactor", 1., "Fraction of background candidates to keep for ML trainings"}; Configurable ptMaxForDownSample{"ptMaxForDownSample", 10., "Maximum pt for the application of the downsampling factor"}; @@ -204,6 +206,42 @@ struct HfDerivedDataCreatorDstarToD0Pi { } } + template + void processGenMc(CollisionType const& mcCollisions, + o2::framework::Preslice const& mcParticlesPerMcCollision, + ParticleType const& mcParticles, + MatchMap const& matchMap) + { + // Fill MC collision properties + for (const auto& mcCollision : mcCollisions) { + auto thisMcCollId = mcCollision.globalIndex(); + auto particlesThisMcColl = mcParticles.sliceBy(mcParticlesPerMcCollision, thisMcCollId); + auto sizeTablePart = particlesThisMcColl.size(); + LOGF(debug, "MC collision %d has %d MC particles", thisMcCollId, sizeTablePart); + // Skip MC collisions without HF particles (and without HF candidates in matched reconstructed collisions if saving indices of reconstructed collisions matched to MC collisions) + bool isEmpty = (matchMap.find(thisMcCollId) == matchMap.end()) || matchMap.find(thisMcCollId)->second.empty(); + if (sizeTablePart == 0 && isEmpty) { + LOGF(debug, "Skipping MC collision %d", thisMcCollId); + continue; + } + reserveTable(rowCandidateGenMc, fillCandidateGenMc, sizeTablePart); + if (fillCandidateGenMc) { + for (const auto& particle : particlesThisMcColl) { + auto origin = particle.originMcGen(); + int pdgMother = 0; + if (origin == RecoDecay::OriginType::NonPrompt) { + auto bHadMother = mcParticles.rawIteratorAt(particle.idxBhadMotherPart() - particlesThisMcColl.offset()); + pdgMother = std::abs(bHadMother.pdgCode()); + } + rowCandidateGenMc( + particle.flagMcMatchGenD0(), + pdgMother); + } + } + + } + } + template void processCandidates(CollType const& collisions, Partition& candidates, @@ -322,6 +360,7 @@ struct HfDerivedDataCreatorDstarToD0Pi { rowsCommon.preProcessMcCollisions(mcCollisions, mcParticlesPerMcCollision, mcParticles); processCandidates(collisions, candidatesMcSig, tracks, bcs); rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass); + processGenMc(mcCollisions, mcParticlesPerMcCollision, mcParticles, rowsCommon.matchedCollisions); } PROCESS_SWITCH(HfDerivedDataCreatorDstarToD0Pi, processMcSig, "Process MC only for signals", false); @@ -335,6 +374,7 @@ struct HfDerivedDataCreatorDstarToD0Pi { rowsCommon.preProcessMcCollisions(mcCollisions, mcParticlesPerMcCollision, mcParticles); processCandidates(collisions, candidatesMcBkg, tracks, bcs); rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass); + processGenMc(mcCollisions, mcParticlesPerMcCollision, mcParticles, rowsCommon.matchedCollisions); } PROCESS_SWITCH(HfDerivedDataCreatorDstarToD0Pi, processMcBkg, "Process MC only for background", false); @@ -348,6 +388,7 @@ struct HfDerivedDataCreatorDstarToD0Pi { rowsCommon.preProcessMcCollisions(mcCollisions, mcParticlesPerMcCollision, mcParticles); processCandidates(collisions, candidatesMcAll, tracks, bcs); rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass); + processGenMc(mcCollisions, mcParticlesPerMcCollision, mcParticles, rowsCommon.matchedCollisions); } PROCESS_SWITCH(HfDerivedDataCreatorDstarToD0Pi, processMcAll, "Process MC", false); @@ -372,6 +413,7 @@ struct HfDerivedDataCreatorDstarToD0Pi { rowsCommon.preProcessMcCollisions(mcCollisions, mcParticlesPerMcCollision, mcParticles); processCandidates(collisions, candidatesMcMlSig, tracks, bcs); rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass); + processGenMc(mcCollisions, mcParticlesPerMcCollision, mcParticles, rowsCommon.matchedCollisions); } PROCESS_SWITCH(HfDerivedDataCreatorDstarToD0Pi, processMcMlSig, "Process MC with ML only for signals", false); @@ -385,6 +427,7 @@ struct HfDerivedDataCreatorDstarToD0Pi { rowsCommon.preProcessMcCollisions(mcCollisions, mcParticlesPerMcCollision, mcParticles); processCandidates(collisions, candidatesMcMlBkg, tracks, bcs); rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass); + processGenMc(mcCollisions, mcParticlesPerMcCollision, mcParticles, rowsCommon.matchedCollisions); } PROCESS_SWITCH(HfDerivedDataCreatorDstarToD0Pi, processMcMlBkg, "Process MC with ML only for background", false); @@ -398,6 +441,7 @@ struct HfDerivedDataCreatorDstarToD0Pi { rowsCommon.preProcessMcCollisions(mcCollisions, mcParticlesPerMcCollision, mcParticles); processCandidates(collisions, candidatesMcMlAll, tracks, bcs); rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass); + processGenMc(mcCollisions, mcParticlesPerMcCollision, mcParticles, rowsCommon.matchedCollisions); } PROCESS_SWITCH(HfDerivedDataCreatorDstarToD0Pi, processMcMlAll, "Process MC with ML", false); @@ -405,6 +449,7 @@ struct HfDerivedDataCreatorDstarToD0Pi { MatchedGenCandidatesMc const& mcParticles) { rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass); + processGenMc(mcCollisions, mcParticlesPerMcCollision, mcParticles, rowsCommon.matchedCollisions); } PROCESS_SWITCH(HfDerivedDataCreatorDstarToD0Pi, processMcGenOnly, "Process MC gen. only", false); }; diff --git a/PWGJE/DataModel/Jet.h b/PWGJE/DataModel/Jet.h index 52939d0b16c..6fe8f4a8f51 100644 --- a/PWGJE/DataModel/Jet.h +++ b/PWGJE/DataModel/Jet.h @@ -237,7 +237,7 @@ using CandidatesDstarMCD = o2::soa::Join; -using CandidatesDstarMCP = o2::soa::Join; +using CandidatesDstarMCP = o2::soa::Join; using CollisionsLc = o2::soa::Join; using CandidatesLcData = o2::soa::Join; From c33fe2ca5cde97d35afb2d17c0f0e05eafffe68f Mon Sep 17 00:00:00 2001 From: "mingze.li" Date: Wed, 23 Jul 2025 16:53:34 +0200 Subject: [PATCH 2/8] update --- PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx | 1 - 1 file changed, 1 deletion(-) diff --git a/PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx b/PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx index a07134a62f4..86c5bfaab12 100644 --- a/PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx +++ b/PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx @@ -238,7 +238,6 @@ struct HfDerivedDataCreatorDstarToD0Pi { pdgMother); } } - } } From b89362aed8e16077b6241d5e0a626da55f07d1cf Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Wed, 23 Jul 2025 14:57:48 +0000 Subject: [PATCH 3/8] Please consider the following formatting changes --- PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx b/PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx index 86c5bfaab12..6a30ee4ccf8 100644 --- a/PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx +++ b/PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx @@ -208,9 +208,9 @@ struct HfDerivedDataCreatorDstarToD0Pi { template void processGenMc(CollisionType const& mcCollisions, - o2::framework::Preslice const& mcParticlesPerMcCollision, - ParticleType const& mcParticles, - MatchMap const& matchMap) + o2::framework::Preslice const& mcParticlesPerMcCollision, + ParticleType const& mcParticles, + MatchMap const& matchMap) { // Fill MC collision properties for (const auto& mcCollision : mcCollisions) { From 2ae379f76d9de24a27dcef58c7a488dc1a61de2a Mon Sep 17 00:00:00 2001 From: "mingze.li" Date: Thu, 24 Jul 2025 10:03:09 +0200 Subject: [PATCH 4/8] Add to Derived date writer --- PWGJE/TableProducer/derivedDataWriter.cxx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/PWGJE/TableProducer/derivedDataWriter.cxx b/PWGJE/TableProducer/derivedDataWriter.cxx index 4c382f9abdd..317796867a6 100644 --- a/PWGJE/TableProducer/derivedDataWriter.cxx +++ b/PWGJE/TableProducer/derivedDataWriter.cxx @@ -137,6 +137,7 @@ struct JetDerivedDataWriter { Produces storedDstarMcCollisionsMatchingTable; Produces storedDstarParticlesTable; Produces storedDstarParticleIdsTable; + Produces storedDstarGenMcsTable; } productsDstar; struct : ProducesGroup { @@ -653,6 +654,7 @@ struct JetDerivedDataWriter { for (const auto& DstarParticle : dstarParticlesPerMcCollision) { jethfutilities::fillHFCandidateMcTable(DstarParticle, products.productsDstar.storedDstarMcCollisionsTable.lastIndex(), products.productsDstar.storedDstarParticlesTable); products.productsDstar.storedDstarParticleIdsTable(mcCollisionMapping[mcCollision.globalIndex()], particleMapping[DstarParticle.mcParticleId()]); + products.productsDstar.storedDstarGenMcsTable(DstarParticle.flagMcMatchGenCharm(), DstarParticle.pdgMother()); } } } From d14ba41e9987f16576374cc2a30e3fc854c79518 Mon Sep 17 00:00:00 2001 From: "mingze.li" Date: Thu, 24 Jul 2025 12:17:27 +0200 Subject: [PATCH 5/8] add to JetSubHFOutput --- PWGJE/Tasks/jetSubstructureHFOutput.cxx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/PWGJE/Tasks/jetSubstructureHFOutput.cxx b/PWGJE/Tasks/jetSubstructureHFOutput.cxx index d1460d53fc9..a14d6a5bcd3 100644 --- a/PWGJE/Tasks/jetSubstructureHFOutput.cxx +++ b/PWGJE/Tasks/jetSubstructureHFOutput.cxx @@ -74,6 +74,8 @@ struct JetSubstructureHFOutputTask { Produces hfParticlesTable; } products; + Produces storedDstarGenMcsTable; + struct : ConfigurableGroup { Configurable jetPtMinData{"jetPtMinData", 0.0, "minimum jet pT cut for data jets"}; Configurable jetPtMinDataSub{"jetPtMinDataSub", 0.0, "minimum jet pT cut for eventwise constituent subtracted data jets"}; @@ -370,6 +372,9 @@ struct JetSubstructureHFOutputTask { } jetcandidateutilities::fillCandidateMcTable(candidate, candidateCollisionIndex, products.hfParticlesTable); candidateMap.insert(std::make_pair(candidate.globalIndex(), products.hfParticlesTable.lastIndex())); + if constexpr (jethfutilities::isDstarMcCandidate()) { + storedDstarGenMcsTable(candidate.flagMcMatchGenCharm(), candidate.pdgMother()); + } } else { auto hfCollisionIndex = candidateCollisionMapping.find(jetcandidateutilities::getCandidateCollisionId(candidate)); if (hfCollisionIndex != candidateCollisionMapping.end()) { From 070ec8ce60aec0b20a46e85561ea3bf96ec690d3 Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Thu, 24 Jul 2025 10:18:26 +0000 Subject: [PATCH 6/8] Please consider the following formatting changes --- PWGJE/Tasks/jetSubstructureHFOutput.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGJE/Tasks/jetSubstructureHFOutput.cxx b/PWGJE/Tasks/jetSubstructureHFOutput.cxx index a14d6a5bcd3..5f1465bc167 100644 --- a/PWGJE/Tasks/jetSubstructureHFOutput.cxx +++ b/PWGJE/Tasks/jetSubstructureHFOutput.cxx @@ -75,7 +75,7 @@ struct JetSubstructureHFOutputTask { } products; Produces storedDstarGenMcsTable; - + struct : ConfigurableGroup { Configurable jetPtMinData{"jetPtMinData", 0.0, "minimum jet pT cut for data jets"}; Configurable jetPtMinDataSub{"jetPtMinDataSub", 0.0, "minimum jet pT cut for eventwise constituent subtracted data jets"}; From c65eaf9ce3aefd6a28be31bf0f38c4da383fcd4a Mon Sep 17 00:00:00 2001 From: "mingze.li" Date: Thu, 24 Jul 2025 14:32:45 +0200 Subject: [PATCH 7/8] change pdg to idx --- PWGHF/DataModel/DerivedTables.h | 4 ++-- PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx | 7 +++---- PWGJE/TableProducer/derivedDataWriter.cxx | 2 +- PWGJE/Tasks/jetSubstructureHFOutput.cxx | 2 +- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/PWGHF/DataModel/DerivedTables.h b/PWGHF/DataModel/DerivedTables.h index be71a278b9c..583788f1f59 100644 --- a/PWGHF/DataModel/DerivedTables.h +++ b/PWGHF/DataModel/DerivedTables.h @@ -162,7 +162,7 @@ DECLARE_SOA_INDEX_COLUMN(McParticle, mcParticle); //! MC parti DECLARE_SOA_COLUMN(FlagMcMatchGen, flagMcMatchGen, int8_t); //! flag for generator level matching DECLARE_SOA_COLUMN(OriginMcGen, originMcGen, int8_t); //! particle origin, generator level DECLARE_SOA_COLUMN(FlagMcDecayChanGen, flagMcDecayChanGen, int8_t); //! resonant decay channel flag, generator level -DECLARE_SOA_COLUMN(PdgMother, pdgMother, int32_t); //! PDG code of the mother particle +DECLARE_SOA_COLUMN(IdxMotherPart, idxMotherPart, int32_t); //! index of the mother particle } // namespace hf_mc_particle // Declares the base table with candidates (Bases). @@ -939,7 +939,7 @@ DECLARE_SOA_TABLE_STAGED(HfDstarMcs, "HFDSTMC", //! Table with MC candidate info DECLARE_SOA_TABLE_STAGED(HfDstarGenMcs, "HFDSTGENMC", //! Table with MC candidate info for generated D*+ hf_cand_mc_charm::FlagMcMatchGenCharm, - hf_mc_particle::PdgMother, + hf_mc_particle::idxMotherPart, o2::soa::Marker); // ---------------- diff --git a/PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx b/PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx index 6a30ee4ccf8..494c18c1e85 100644 --- a/PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx +++ b/PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx @@ -228,14 +228,13 @@ struct HfDerivedDataCreatorDstarToD0Pi { if (fillCandidateGenMc) { for (const auto& particle : particlesThisMcColl) { auto origin = particle.originMcGen(); - int pdgMother = 0; + int idxMotherPart = 0; if (origin == RecoDecay::OriginType::NonPrompt) { - auto bHadMother = mcParticles.rawIteratorAt(particle.idxBhadMotherPart() - particlesThisMcColl.offset()); - pdgMother = std::abs(bHadMother.pdgCode()); + idxMotherPart = particle.idxBhadMotherPart() } rowCandidateGenMc( particle.flagMcMatchGenD0(), - pdgMother); + idxMotherPart); } } } diff --git a/PWGJE/TableProducer/derivedDataWriter.cxx b/PWGJE/TableProducer/derivedDataWriter.cxx index 317796867a6..2d401a9b789 100644 --- a/PWGJE/TableProducer/derivedDataWriter.cxx +++ b/PWGJE/TableProducer/derivedDataWriter.cxx @@ -654,7 +654,7 @@ struct JetDerivedDataWriter { for (const auto& DstarParticle : dstarParticlesPerMcCollision) { jethfutilities::fillHFCandidateMcTable(DstarParticle, products.productsDstar.storedDstarMcCollisionsTable.lastIndex(), products.productsDstar.storedDstarParticlesTable); products.productsDstar.storedDstarParticleIdsTable(mcCollisionMapping[mcCollision.globalIndex()], particleMapping[DstarParticle.mcParticleId()]); - products.productsDstar.storedDstarGenMcsTable(DstarParticle.flagMcMatchGenCharm(), DstarParticle.pdgMother()); + products.productsDstar.storedDstarGenMcsTable(DstarParticle.flagMcMatchGenCharm(), DstarParticle.idxMotherPart()); } } } diff --git a/PWGJE/Tasks/jetSubstructureHFOutput.cxx b/PWGJE/Tasks/jetSubstructureHFOutput.cxx index 5f1465bc167..4640191a9ad 100644 --- a/PWGJE/Tasks/jetSubstructureHFOutput.cxx +++ b/PWGJE/Tasks/jetSubstructureHFOutput.cxx @@ -373,7 +373,7 @@ struct JetSubstructureHFOutputTask { jetcandidateutilities::fillCandidateMcTable(candidate, candidateCollisionIndex, products.hfParticlesTable); candidateMap.insert(std::make_pair(candidate.globalIndex(), products.hfParticlesTable.lastIndex())); if constexpr (jethfutilities::isDstarMcCandidate()) { - storedDstarGenMcsTable(candidate.flagMcMatchGenCharm(), candidate.pdgMother()); + storedDstarGenMcsTable(candidate.flagMcMatchGenCharm(), candidate.idxMotherPart()); } } else { auto hfCollisionIndex = candidateCollisionMapping.find(jetcandidateutilities::getCandidateCollisionId(candidate)); From aca8f0ca936c386c8b20f373dfe3b61df65db216 Mon Sep 17 00:00:00 2001 From: "mingze.li" Date: Thu, 24 Jul 2025 14:51:05 +0200 Subject: [PATCH 8/8] update --- PWGHF/DataModel/DerivedTables.h | 2 +- PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/PWGHF/DataModel/DerivedTables.h b/PWGHF/DataModel/DerivedTables.h index 583788f1f59..13d3a670fe7 100644 --- a/PWGHF/DataModel/DerivedTables.h +++ b/PWGHF/DataModel/DerivedTables.h @@ -939,7 +939,7 @@ DECLARE_SOA_TABLE_STAGED(HfDstarMcs, "HFDSTMC", //! Table with MC candidate info DECLARE_SOA_TABLE_STAGED(HfDstarGenMcs, "HFDSTGENMC", //! Table with MC candidate info for generated D*+ hf_cand_mc_charm::FlagMcMatchGenCharm, - hf_mc_particle::idxMotherPart, + hf_mc_particle::IdxMotherPart, o2::soa::Marker); // ---------------- diff --git a/PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx b/PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx index 494c18c1e85..311cd2f241e 100644 --- a/PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx +++ b/PWGHF/TableProducer/derivedDataCreatorDstarToD0Pi.cxx @@ -230,7 +230,7 @@ struct HfDerivedDataCreatorDstarToD0Pi { auto origin = particle.originMcGen(); int idxMotherPart = 0; if (origin == RecoDecay::OriginType::NonPrompt) { - idxMotherPart = particle.idxBhadMotherPart() + idxMotherPart = particle.idxBhadMotherPart(); } rowCandidateGenMc( particle.flagMcMatchGenD0(),