diff --git a/PWGLF/Tasks/Resonances/deltaanalysis.cxx b/PWGLF/Tasks/Resonances/deltaanalysis.cxx index 487f57dd86d..46ae281f3f5 100644 --- a/PWGLF/Tasks/Resonances/deltaanalysis.cxx +++ b/PWGLF/Tasks/Resonances/deltaanalysis.cxx @@ -150,6 +150,15 @@ struct deltaAnalysis { histos.add("hDeltaZeroInvMassGen", "Invariant mass distribution for #Delta^{0} - generated", kTH2F, {ptAxis, deltaZeroAxis}); histos.add("hAntiDeltaZeroInvMassGen", "Invariant mass distribution for #bar{#Delta^{0}} - generated", kTH2F, {ptAxis, antiDeltaZeroAxis}); + + histos.add("hRecProtonAntiDeltaPlusPlus", "Proton from #bar{#Delta^{++}}", kTH1F, {ptAxis}); + histos.add("hRecProtonDeltaPlusPlus", "Proton from #Delta^{++}", kTH1F, {ptAxis}); + histos.add("hRecProtonAntiDeltaZero", "Proton from #bar{#Delta^{0}}", kTH1F, {ptAxis}); + histos.add("hRecProtonDeltaZero", "Proton from #Delta^{0}", kTH1F, {ptAxis}); + histos.add("hRecPionAntiDeltaPlusPlus", "Pion from #bar{#Delta^{++}}", kTH1F, {ptAxis}); + histos.add("hRecPionDeltaPlusPlus", "Pion from #Delta^{++}", kTH1F, {ptAxis}); + histos.add("hRecPionAntiDeltaZero", "Pion from #bar{#Delta^{0}}", kTH1F, {ptAxis}); + histos.add("hRecPionDeltaZero", "Pion from #Delta^{0}", kTH1F, {ptAxis}); } } @@ -405,6 +414,56 @@ struct deltaAnalysis { auto perColTracks = tracks.sliceBy(perColMC, collIdx); perColTracks.bindExternalIndices(&tracks); + for (auto& t0 : perColTracks) { + + if (!selectionTrack(t0)) { + continue; + } + if (!t0.has_mcParticle()) { + continue; + } + + const auto mcTrack = t0.mcParticle(); + + if (std::abs(mcTrack.pdgCode()) == protonPDG) { + if (selectionPIDProton(t0)) { + for (auto& motherTrackProton : mcTrack.mothers_as()) { + if (std::abs(motherTrackProton.pdgCode()) == deltaPlusPlusPDG) { + if (t0.sign() < 0) { + histos.fill(HIST("hRecProtonAntiDeltaPlusPlus"), t0.pt()); + } else { + histos.fill(HIST("hRecProtonDeltaPlusPlus"), t0.pt()); + } + } else if (std::abs(motherTrackProton.pdgCode()) == deltaZeroPDG) { + if (t0.sign() < 0) { + histos.fill(HIST("hRecProtonAntiDeltaZero"), t0.pt()); + } else { + histos.fill(HIST("hRecProtonDeltaZero"), t0.pt()); + } + } + } + } + } else if (std::abs(mcTrack.pdgCode()) == pionPDG) { + if (selectionPIDPion(t0)) { + for (auto& motherTrackPion : mcTrack.mothers_as()) { + if (std::abs(motherTrackPion.pdgCode()) == deltaPlusPlusPDG) { + if (t0.sign() < 0) { + histos.fill(HIST("hRecPionAntiDeltaPlusPlus"), t0.pt()); + } else { + histos.fill(HIST("hRecPionDeltaPlusPlus"), t0.pt()); + } + } else if (std::abs(motherTrackPion.pdgCode()) == deltaZeroPDG) { + if (t0.sign() < 0) { + histos.fill(HIST("hRecPionDeltaZero"), t0.pt()); + } else { + histos.fill(HIST("hRecPionAntiDeltaZero"), t0.pt()); + } + } + } + } + } + } + for (auto& [t0, t1] : o2::soa::combinations(o2::soa::CombinationsFullIndexPolicy(perColTracks, perColTracks))) { if (t0.globalIndex() == t1.globalIndex()) {