diff --git a/PWGCF/FemtoUniverse/TableProducer/femtoUniverseProducerTask.cxx b/PWGCF/FemtoUniverse/TableProducer/femtoUniverseProducerTask.cxx index af0370625ca..d10a1fc3d28 100644 --- a/PWGCF/FemtoUniverse/TableProducer/femtoUniverseProducerTask.cxx +++ b/PWGCF/FemtoUniverse/TableProducer/femtoUniverseProducerTask.cxx @@ -884,6 +884,9 @@ struct FemtoUniverseProducerTask { if (particle.isPhysicalPrimary()) { return 0; } else if (particle.has_mothers()) { + if (particle.getProcess() == 20 || particle.getProcess() == 23) { // treat particles from hadronic scattering (20, 23) as primary + return 0; + } auto motherparticlesMC = particle.template mothers_as(); auto motherparticleMC = motherparticlesMC.front(); return motherparticleMC.pdgCode(); @@ -2142,6 +2145,7 @@ struct FemtoUniverseProducerTask { // instead of the bitmask, the PDG of the particle is stored as uint32_t int32_t variablePDG = confStoreMCmothers ? getMotherPDG(particle) : particle.pdgCode(); + int32_t variableCut = confStoreMCmothers ? particle.getProcess() : 0; // now the table is filled if constexpr (resolveDaughs) { @@ -2156,7 +2160,7 @@ struct FemtoUniverseProducerTask { particle.eta(), particle.phi(), aod::femtouniverseparticle::ParticleType::kMCTruthTrack, - 0, + variableCut, pdgCode, variablePDG, childIDs, @@ -2195,13 +2199,14 @@ struct FemtoUniverseProducerTask { } int32_t variablePDG = confStoreMCmothers ? getMotherPDG(particle) : particle.pdgCode(); + int32_t variableCut = confStoreMCmothers ? particle.getProcess() : 0; outputParts(outputCollision.lastIndex(), particle.pt(), particle.eta(), particle.phi(), aod::femtouniverseparticle::ParticleType::kMCTruthTrack, - 0, + variableCut, static_cast(particle.pdgCode()), variablePDG, childIDs, diff --git a/PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackTrackMultKtExtended.cxx b/PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackTrackMultKtExtended.cxx index 2fc0a3543b9..840f66fc56e 100644 --- a/PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackTrackMultKtExtended.cxx +++ b/PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackTrackMultKtExtended.cxx @@ -366,6 +366,7 @@ struct FemtoUniversePairTaskTrackTrackMultKtExtended { } if (doprocessFractionsMCTruth) { mixedMultRegistryPM.add("MCtruth/motherParticle", "pair fractions; part1 mother PDG; part2 mother PDG", {HistType::kTH2F, {{8001, -4000, 4000}, {8001, -4000, 4000}}}); + mixedMultRegistryPM.add("MCtruth/mcProcess", "pair ; part1 VMC physics code; part2 VMC physics code", {HistType::kTH2F, {{50, 0, 50}, {50, 0, 50}}}); } } @@ -376,6 +377,7 @@ struct FemtoUniversePairTaskTrackTrackMultKtExtended { } if (doprocessFractionsMCTruth) { mixedMultRegistryPP.add("MCtruth/motherParticle", "pair fractions; part1 mother PDG; part2 mother PDG", {HistType::kTH2F, {{8001, -4000, 4000}, {8001, -4000, 4000}}}); + mixedMultRegistryPP.add("MCtruth/mcProcess", "pair ; part1 VMC physics code; part2 VMC physics code", {HistType::kTH2F, {{50, 0, 50}, {50, 0, 50}}}); } sameEventContPP.init(&resultRegistryPP, confkstarBins, confMultBins, confkTBins, confmTBins, confmultBins3D, confmTBins3D, twotracksconfigs.confIsMC, twotracksconfigs.confUse3D); mixedEventContPP.init(&resultRegistryPP, confkstarBins, confMultBins, confkTBins, confmTBins, confmultBins3D, confmTBins3D, twotracksconfigs.confIsMC, twotracksconfigs.confUse3D); @@ -395,6 +397,7 @@ struct FemtoUniversePairTaskTrackTrackMultKtExtended { } if (doprocessFractionsMCTruth) { mixedMultRegistryMM.add("MCtruth/motherParticle", "pair fractions; part1 mother PDG; part2 mother PDG", {HistType::kTH2F, {{8001, -4000, 4000}, {8001, -4000, 4000}}}); + mixedMultRegistryMM.add("MCtruth/mcProcess", "pair ; part1 VMC physics code; part2 VMC physics code", {HistType::kTH2F, {{50, 0, 50}, {50, 0, 50}}}); } sameEventContMM.init(&resultRegistryMM, confkstarBins, confMultBins, confkTBins, confmTBins, confmultBins3D, confmTBins3D, twotracksconfigs.confIsMC, twotracksconfigs.confUse3D); mixedEventContMM.init(&resultRegistryMM, confkstarBins, confMultBins, confkTBins, confmTBins, confmultBins3D, confmTBins3D, twotracksconfigs.confIsMC, twotracksconfigs.confUse3D); @@ -955,6 +958,7 @@ struct FemtoUniversePairTaskTrackTrackMultKtExtended { const auto& pdgParticleTwo = pdg->GetParticle(pdgCodePartTwo); if (pdgParticleOne && pdgParticleTwo && (pdgCodePartOne == trackonefilter.confPDGCodePartOne) && (pdgCodePartTwo == tracktwofilter.confPDGCodePartTwo)) { mixedMultRegistryPM.fill(HIST("MCtruth/motherParticle"), p1.tempFitVar(), p2.tempFitVar()); + mixedMultRegistryPM.fill(HIST("MCtruth/mcProcess"), p1.cut(), p2.cut()); } } break; @@ -967,6 +971,7 @@ struct FemtoUniversePairTaskTrackTrackMultKtExtended { const auto& pdgParticleTwo = pdg->GetParticle(pdgCodePartTwo); if (pdgParticleOne && pdgParticleTwo && (pdgCodePartOne == trackonefilter.confPDGCodePartOne) && (pdgCodePartTwo == trackonefilter.confPDGCodePartOne)) { mixedMultRegistryPP.fill(HIST("MCtruth/motherParticle"), p1.tempFitVar(), p2.tempFitVar()); + mixedMultRegistryPP.fill(HIST("MCtruth/mcProcess"), p1.cut(), p2.cut()); } } break; @@ -979,6 +984,7 @@ struct FemtoUniversePairTaskTrackTrackMultKtExtended { const auto& pdgParticleTwo = pdg->GetParticle(pdgCodePartTwo); if (pdgParticleOne && pdgParticleTwo && (pdgCodePartOne == tracktwofilter.confPDGCodePartTwo) && (pdgCodePartTwo == tracktwofilter.confPDGCodePartTwo)) { mixedMultRegistryMM.fill(HIST("MCtruth/motherParticle"), p1.tempFitVar(), p2.tempFitVar()); + mixedMultRegistryMM.fill(HIST("MCtruth/mcProcess"), p1.cut(), p2.cut()); } } break; diff --git a/PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackV0Extended.cxx b/PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackV0Extended.cxx index b49b9b98119..283f9b463d0 100644 --- a/PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackV0Extended.cxx +++ b/PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackV0Extended.cxx @@ -336,6 +336,7 @@ struct FemtoUniversePairTaskTrackV0Extended { if (doprocessPairFractionsMCTruthV0 || doprocessPairFractionsMCTruth) { registryMCtruth.add("mothersTruth/motherParticle", "pair fractions;part1 mother PDG;part2 mother PDG", {HistType::kTH2F, {confMotherPDGBins, confMotherPDGBins}}); + registryMCtruth.add("mothersTruth/mcProcess", "pair ; part1 VMC physics code; part2 VMC physics code", {HistType::kTH2F, {{50, 0, 50}, {50, 0, 50}}}); } // MC reco @@ -1547,6 +1548,7 @@ struct FemtoUniversePairTaskTrackV0Extended { continue; registryMCtruth.fill(HIST("mothersTruth/motherParticle"), p1.tempFitVar(), p2.tempFitVar()); + registryMCtruth.fill(HIST("mothersTruth/mcProcess"), p1.cut(), p2.cut()); } }; @@ -1580,6 +1582,7 @@ struct FemtoUniversePairTaskTrackV0Extended { continue; registryMCtruth.fill(HIST("mothersTruth/motherParticle"), p1.tempFitVar(), p2.tempFitVar()); + registryMCtruth.fill(HIST("mothersTruth/mcProcess"), p1.cut(), p2.cut()); } };