From de4fc616f3288c7081e87786d7e9944c54476e1a Mon Sep 17 00:00:00 2001 From: skundu692 Date: Fri, 30 Jan 2026 18:52:54 +0100 Subject: [PATCH 01/11] Add process function for systematic --- PWGLF/Tasks/Resonances/f1protoncorrelation.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/PWGLF/Tasks/Resonances/f1protoncorrelation.cxx b/PWGLF/Tasks/Resonances/f1protoncorrelation.cxx index 63568887fab..2627cb00e01 100644 --- a/PWGLF/Tasks/Resonances/f1protoncorrelation.cxx +++ b/PWGLF/Tasks/Resonances/f1protoncorrelation.cxx @@ -952,6 +952,7 @@ struct f1protoncorrelation { { const float maxMomPi = maxMomentumPion; const float maxMomK = maxMomentumKaon; + // const float pTofPiMin = momentumTOFPionMin; // const float pTofPiMax = momentumTOFPionMax; // const float pTofKMin = momentumTOFKaonMin; From d3aab0413cb00d4426671d5140f04b92dbdc773e Mon Sep 17 00:00:00 2001 From: skundu692 Date: Sun, 1 Feb 2026 11:04:28 +0100 Subject: [PATCH 02/11] Fix clang issue --- PWGLF/Tasks/Resonances/f1protoncorrelation.cxx | 1 - 1 file changed, 1 deletion(-) diff --git a/PWGLF/Tasks/Resonances/f1protoncorrelation.cxx b/PWGLF/Tasks/Resonances/f1protoncorrelation.cxx index 2627cb00e01..63568887fab 100644 --- a/PWGLF/Tasks/Resonances/f1protoncorrelation.cxx +++ b/PWGLF/Tasks/Resonances/f1protoncorrelation.cxx @@ -952,7 +952,6 @@ struct f1protoncorrelation { { const float maxMomPi = maxMomentumPion; const float maxMomK = maxMomentumKaon; - // const float pTofPiMin = momentumTOFPionMin; // const float pTofPiMax = momentumTOFPionMax; // const float pTofKMin = momentumTOFKaonMin; From e8167c7358b3fed329b2c20975b7735943f5b42b Mon Sep 17 00:00:00 2001 From: skundu692 Date: Wed, 25 Feb 2026 19:58:49 +0100 Subject: [PATCH 03/11] Old process function --- PWGLF/Tasks/Resonances/f1protoncorrelation.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGLF/Tasks/Resonances/f1protoncorrelation.cxx b/PWGLF/Tasks/Resonances/f1protoncorrelation.cxx index 63568887fab..e96cc342fdc 100644 --- a/PWGLF/Tasks/Resonances/f1protoncorrelation.cxx +++ b/PWGLF/Tasks/Resonances/f1protoncorrelation.cxx @@ -1056,7 +1056,7 @@ struct f1protoncorrelation { histos.fill(HIST("hPhaseSpaceProtonKaonSame"), Proton.Eta() - Kaon.Eta(), PhiAtSpecificRadiiTPC(Proton, Kaon, protontrack.protonCharge(), kaonCharge, bz, bz), relative_momentum); // Phase Space Proton kaon if (pionCharge == protontrack.protonCharge()) histos.fill(HIST("hPhaseSpaceProtonPionSame"), Proton.Eta() - Pion.Eta(), PhiAtSpecificRadiiTPC(Proton, Pion, protontrack.protonCharge(), pionCharge, bz, bz), relative_momentum); // Phase Space Proton Pion - histos.fill(HIST("h2SameEventf1pptCorrelation"), F1.M(), relative_momentum, Proton.Pt()); + histos.fill(HIST("h2SameEventf1pptCorrelation"), F1.M(), relative_momentum, Proton.Pt()); } activePair.push_back(sysId); } From a5c2353a259348c8f948d02a538e07d61023fa03 Mon Sep 17 00:00:00 2001 From: skundu692 Date: Mon, 2 Mar 2026 18:33:50 +0100 Subject: [PATCH 04/11] Add Event loss in phi meson task and add MC process function for spincorrelation task --- .../Strangeness/lambdaspincorrderived.cxx | 55 ++++++++++++++++--- 1 file changed, 46 insertions(+), 9 deletions(-) diff --git a/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx b/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx index 0ff87544f97..29ab35cc8b4 100644 --- a/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx +++ b/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx @@ -1215,19 +1215,36 @@ struct lambdaspincorrderived { if (ptB < 0 || etaB < 0 || phiB < 0 || mB < 0) continue; - // Collect partners from nominal key, plus wrapped neighbor only for φ-edge bins std::vector matches; - matches.reserve(128); // or keep binVec.size() if you prefer + const int maxKeep = maxMatchesPerPair.value; // default 25 + matches.reserve(std::max(64, maxKeep > 0 ? maxKeep : 64)); + const int64_t curColIdx = static_cast(collision1.index()); + std::unordered_set seenRow; + seenRow.reserve(static_cast(std::max(256, 4 * (maxKeep > 0 ? maxKeep : 64)))); - auto collectFrom = [&](int phiBinUse) { - const size_t keyUse = linearKey(colBin, status, ptB, etaB, phiBinUse, mB, + auto collectFrom = [&](int ptUse, int etaUse, int phiUse) { + if (maxKeep > 0 && static_cast(matches.size()) >= maxKeep) { + return; // early stop + } + + const size_t keyUse = linearKey(colBin, status, ptUse, etaUse, phiUse, mB, nStat, nPt, nEta, nPhi, nM); auto const& vec = buffer[keyUse]; + for (const auto& bc : vec) { + if (maxKeep > 0 && static_cast(matches.size()) >= maxKeep) { + break; + } if (bc.collisionIdx == curColIdx) { continue; // must be from different event } + + // dedupe first + if (!seenRow.insert(bc.rowIndex).second) { + continue; + } + auto tX = V0s.iteratorAt(static_cast(bc.rowIndex)); if (!selectionV0(tX)) { continue; @@ -1235,17 +1252,37 @@ struct lambdaspincorrderived { if (!checkKinematics(t1, tX)) { continue; } + matches.push_back(MatchRef{bc.collisionIdx, bc.rowIndex}); } }; // 1) nominal φ-bin collectFrom(phiB); - // 2) wrap only at boundaries: 0 <-> nPhi-1 - if (phiB == 0) { - collectFrom(nPhi - 1); - } else if (phiB == nPhi - 1) { - collectFrom(0); + // scan pt±1, eta±1, phi±1 (wrapped) + for (int dpt = -1; dpt <= 1; ++dpt) { + const int ptUse = ptB + dpt; + if (ptUse < 0 || ptUse >= nPt) { + continue; + } + for (int deta = -1; deta <= 1; ++deta) { + const int etaUse = etaB + deta; + if (etaUse < 0 || etaUse >= nEta) { + continue; + } + for (int phiUse : phiBins) { + collectFrom(ptUse, etaUse, phiUse); + if (maxKeep > 0 && static_cast(matches.size()) >= maxKeep) { + break; + } + } + if (maxKeep > 0 && static_cast(matches.size()) >= maxKeep) { + break; + } + } + if (maxKeep > 0 && static_cast(matches.size()) >= maxKeep) { + break; + } } if (matches.empty()) { From 3493d419cef427837de9213c231319863059153f Mon Sep 17 00:00:00 2001 From: skundu692 Date: Mon, 2 Mar 2026 20:29:09 +0100 Subject: [PATCH 05/11] Add new MC process function for mixing --- .../Strangeness/lambdaspincorrderived.cxx | 26 +++---------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx b/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx index 29ab35cc8b4..c5ca79f145b 100644 --- a/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx +++ b/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx @@ -1215,36 +1215,19 @@ struct lambdaspincorrderived { if (ptB < 0 || etaB < 0 || phiB < 0 || mB < 0) continue; + // Collect partners from nominal key, plus wrapped neighbor only for φ-edge bins std::vector matches; - const int maxKeep = maxMatchesPerPair.value; // default 25 - matches.reserve(std::max(64, maxKeep > 0 ? maxKeep : 64)); - + matches.reserve(128); // or keep binVec.size() if you prefer const int64_t curColIdx = static_cast(collision1.index()); - std::unordered_set seenRow; - seenRow.reserve(static_cast(std::max(256, 4 * (maxKeep > 0 ? maxKeep : 64)))); - - auto collectFrom = [&](int ptUse, int etaUse, int phiUse) { - if (maxKeep > 0 && static_cast(matches.size()) >= maxKeep) { - return; // early stop - } - const size_t keyUse = linearKey(colBin, status, ptUse, etaUse, phiUse, mB, + auto collectFrom = [&](int phiBinUse) { + const size_t keyUse = linearKey(colBin, status, ptB, etaB, phiBinUse, mB, nStat, nPt, nEta, nPhi, nM); auto const& vec = buffer[keyUse]; - for (const auto& bc : vec) { - if (maxKeep > 0 && static_cast(matches.size()) >= maxKeep) { - break; - } if (bc.collisionIdx == curColIdx) { continue; // must be from different event } - - // dedupe first - if (!seenRow.insert(bc.rowIndex).second) { - continue; - } - auto tX = V0s.iteratorAt(static_cast(bc.rowIndex)); if (!selectionV0(tX)) { continue; @@ -1252,7 +1235,6 @@ struct lambdaspincorrderived { if (!checkKinematics(t1, tX)) { continue; } - matches.push_back(MatchRef{bc.collisionIdx, bc.rowIndex}); } }; From c532592d5950c11a87caf2e345fb503daec77ca3 Mon Sep 17 00:00:00 2001 From: skundu692 Date: Mon, 2 Mar 2026 20:55:25 +0100 Subject: [PATCH 06/11] Fix clang error --- PWGLF/Tasks/Resonances/f1protoncorrelation.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGLF/Tasks/Resonances/f1protoncorrelation.cxx b/PWGLF/Tasks/Resonances/f1protoncorrelation.cxx index e96cc342fdc..63568887fab 100644 --- a/PWGLF/Tasks/Resonances/f1protoncorrelation.cxx +++ b/PWGLF/Tasks/Resonances/f1protoncorrelation.cxx @@ -1056,7 +1056,7 @@ struct f1protoncorrelation { histos.fill(HIST("hPhaseSpaceProtonKaonSame"), Proton.Eta() - Kaon.Eta(), PhiAtSpecificRadiiTPC(Proton, Kaon, protontrack.protonCharge(), kaonCharge, bz, bz), relative_momentum); // Phase Space Proton kaon if (pionCharge == protontrack.protonCharge()) histos.fill(HIST("hPhaseSpaceProtonPionSame"), Proton.Eta() - Pion.Eta(), PhiAtSpecificRadiiTPC(Proton, Pion, protontrack.protonCharge(), pionCharge, bz, bz), relative_momentum); // Phase Space Proton Pion - histos.fill(HIST("h2SameEventf1pptCorrelation"), F1.M(), relative_momentum, Proton.Pt()); + histos.fill(HIST("h2SameEventf1pptCorrelation"), F1.M(), relative_momentum, Proton.Pt()); } activePair.push_back(sysId); } From 973a39325d8cfe91b581185eea3a87354a9f1d79 Mon Sep 17 00:00:00 2001 From: skundu692 Date: Tue, 3 Mar 2026 21:19:20 +0100 Subject: [PATCH 07/11] Add new process function for mixing --- PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx b/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx index c5ca79f145b..36e4b8a4917 100644 --- a/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx +++ b/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx @@ -204,6 +204,7 @@ struct lambdaspincorrderived { Configurable ConfWeightPathLAL2{"ConfWeightPathLAL2", "Users/s/skundu/My/Object/spincorr/cent010LL", "Weight path 2"}; Configurable ConfWeightPathALL2{"ConfWeightPathALL2", "Users/s/skundu/My/Object/spincorr/cent010LL", "Weight path 2"}; + // Mixing ///////// Configurable cfgV5NeighborPt{"cfgV5NeighborPt", 0, "v5: neighbor bins in pT (use symmetric ±N, edge-safe)"}; @@ -1800,6 +1801,7 @@ struct lambdaspincorrderived { out.erase(std::unique(out.begin(), out.end()), out.end()); } + static inline void collectNeighborBinsClamp(int b, int nBins, int nNeighbor, std::vector& out) { out.clear(); @@ -1940,7 +1942,6 @@ struct lambdaspincorrderived { continue; // same-event ordering } - // no shared daughters (same-event) if (t1.protonIndex() == t2.protonIndex()) continue; if (t1.pionIndex() == t2.pionIndex()) @@ -2184,6 +2185,7 @@ struct lambdaspincorrderived { continue; const int status = mcacc::v0Status(t1); + if (status < 0 || status >= nStat) { continue; } From 47f306fa07209602c170d46577fdd0c07da6a76a Mon Sep 17 00:00:00 2001 From: skundu692 Date: Thu, 5 Mar 2026 18:19:17 +0100 Subject: [PATCH 08/11] Add new process function for spin correlation --- .../Strangeness/lambdaspincorrderived.cxx | 29 ++++--------------- 1 file changed, 5 insertions(+), 24 deletions(-) diff --git a/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx b/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx index 36e4b8a4917..38c1b575da0 100644 --- a/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx +++ b/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx @@ -1242,30 +1242,11 @@ struct lambdaspincorrderived { // 1) nominal φ-bin collectFrom(phiB); - // scan pt±1, eta±1, phi±1 (wrapped) - for (int dpt = -1; dpt <= 1; ++dpt) { - const int ptUse = ptB + dpt; - if (ptUse < 0 || ptUse >= nPt) { - continue; - } - for (int deta = -1; deta <= 1; ++deta) { - const int etaUse = etaB + deta; - if (etaUse < 0 || etaUse >= nEta) { - continue; - } - for (int phiUse : phiBins) { - collectFrom(ptUse, etaUse, phiUse); - if (maxKeep > 0 && static_cast(matches.size()) >= maxKeep) { - break; - } - } - if (maxKeep > 0 && static_cast(matches.size()) >= maxKeep) { - break; - } - } - if (maxKeep > 0 && static_cast(matches.size()) >= maxKeep) { - break; - } + // 2) wrap only at boundaries: 0 <-> nPhi-1 + if (phiB == 0) { + collectFrom(nPhi - 1); + } else if (phiB == nPhi - 1) { + collectFrom(0); } if (matches.empty()) { From bd7b48824f2efe7aa34e163fafc6cf2c8cc6936e Mon Sep 17 00:00:00 2001 From: skundu692 Date: Sat, 7 Mar 2026 13:16:21 +0100 Subject: [PATCH 09/11] Fix event mixing sliding for spin correlation --- PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx b/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx index 38c1b575da0..432053c8cb0 100644 --- a/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx +++ b/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx @@ -1923,6 +1923,7 @@ struct lambdaspincorrderived { continue; // same-event ordering } + // no shared daughters (same-event) if (t1.protonIndex() == t2.protonIndex()) continue; if (t1.pionIndex() == t2.pionIndex()) @@ -2166,7 +2167,6 @@ struct lambdaspincorrderived { continue; const int status = mcacc::v0Status(t1); - if (status < 0 || status >= nStat) { continue; } From b4163a268c884eae2b7424083ccb450ac6cc01d5 Mon Sep 17 00:00:00 2001 From: skundu692 Date: Sat, 7 Mar 2026 13:24:50 +0100 Subject: [PATCH 10/11] Apply clang-format --- PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx | 2 -- 1 file changed, 2 deletions(-) diff --git a/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx b/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx index 432053c8cb0..0ff87544f97 100644 --- a/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx +++ b/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx @@ -204,7 +204,6 @@ struct lambdaspincorrderived { Configurable ConfWeightPathLAL2{"ConfWeightPathLAL2", "Users/s/skundu/My/Object/spincorr/cent010LL", "Weight path 2"}; Configurable ConfWeightPathALL2{"ConfWeightPathALL2", "Users/s/skundu/My/Object/spincorr/cent010LL", "Weight path 2"}; - // Mixing ///////// Configurable cfgV5NeighborPt{"cfgV5NeighborPt", 0, "v5: neighbor bins in pT (use symmetric ±N, edge-safe)"}; @@ -1782,7 +1781,6 @@ struct lambdaspincorrderived { out.erase(std::unique(out.begin(), out.end()), out.end()); } - static inline void collectNeighborBinsClamp(int b, int nBins, int nNeighbor, std::vector& out) { out.clear(); From 61e7c6222cc6de1c98213d2dab826d95d385132b Mon Sep 17 00:00:00 2001 From: skundu692 Date: Wed, 11 Mar 2026 20:49:47 +0100 Subject: [PATCH 11/11] Change PID cut for f1p correlation --- .../Tasks/Resonances/f1protoncorrelation.cxx | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/PWGLF/Tasks/Resonances/f1protoncorrelation.cxx b/PWGLF/Tasks/Resonances/f1protoncorrelation.cxx index 63568887fab..eb563fd9970 100644 --- a/PWGLF/Tasks/Resonances/f1protoncorrelation.cxx +++ b/PWGLF/Tasks/Resonances/f1protoncorrelation.cxx @@ -292,9 +292,9 @@ struct f1protoncorrelation { if (f1track.f1d1TOFHit() != 1) { return (std::abs(nsTPC) < cutNoTOF); } - - const float comb = std::sqrt(nsTPC * nsTPC + nsTOF * nsTOF); - return (comb < cutWithTOF); + return (std::abs(nsTPC) < cutNoTOF && std::abs(nsTOF) < cutWithTOF); + // const float comb = std::sqrt(nsTPC * nsTPC + nsTOF * nsTOF); + // return (comb < cutWithTOF); } inline bool passKaonPID(int pidMode, const aod::F1Tracks::iterator& f1track, @@ -340,10 +340,10 @@ struct f1protoncorrelation { } return true; } - + return (std::abs(nsTPC) < cutNoTOFBase && std::abs(nsTOF) < cutWithTOF); // --- TOF available: circular cut in (TPC,TOF) nσ plane - const float comb = std::sqrt(nsTPC * nsTPC + nsTOF * nsTOF); - return (comb < cutWithTOF); + // const float comb = std::sqrt(nsTPC * nsTPC + nsTOF * nsTOF); + // return (comb < cutWithTOF); } inline bool passProtonPID(int pidMode, const aod::ProtonTracks::iterator& ptrack, @@ -379,8 +379,9 @@ struct f1protoncorrelation { // circular cut in (TPC,TOF) const float nsTPC = ptrack.protonNsigmaTPC(); const float nsTOF = ptrack.protonNsigmaTOF(); - const float comb = std::sqrt(nsTPC * nsTPC + nsTOF * nsTOF); - return (comb < cutCircle); + return (std::abs(nsTPC) < cutTPC && std::abs(nsTOF) < cutCircle); + // const float comb = std::sqrt(nsTPC * nsTPC + nsTOF * nsTOF); + // return (comb < cutCircle); } // Initialize the ananlysis task @@ -610,7 +611,7 @@ struct f1protoncorrelation { histos.fill(HIST("hNsigmaProtonTPC"), protontrack.protonNsigmaTPC(), protontrack.protonNsigmaTOF(), Proton.Pt()); } histos.fill(HIST("h2SameEventPtCorrelation"), relative_momentum, F1.Pt(), Proton.Pt()); - + auto mT = getmT(F1, Proton); if (f1track.f1SignalStat() > 0) { // check charge float pairCharge = f1track.f1SignalStat() * protontrack.protonCharge(); @@ -625,7 +626,9 @@ struct f1protoncorrelation { histos.fill(HIST("hPhaseSpaceProtonKaonSame"), Proton.Eta() - Kaon.Eta(), PhiAtSpecificRadiiTPC(Proton, Kaon, protontrack.protonCharge(), kaonCharge, bz, bz), relative_momentum); // Phase Space Proton kaon if (pionCharge == protontrack.protonCharge()) histos.fill(HIST("hPhaseSpaceProtonPionSame"), Proton.Eta() - Pion.Eta(), PhiAtSpecificRadiiTPC(Proton, Pion, protontrack.protonCharge(), pionCharge, bz, bz), relative_momentum); // Phase Space Proton Pionsyst - histos.fill(HIST("h2SameEventInvariantMassUnlike_mass"), relative_momentum, F1.Pt(), F1.M(), pairCharge, collision.numContrib()); // F1 sign = 1 unlike, F1 sign = -1 like + + histos.fill(HIST("h2SameEventInvariantMassUnlike_mass"), relative_momentum, F1.Pt(), F1.M(), pairCharge, collision.numContrib()); // F1 sign = 1 unlike, F1 sign = -1 like + histos.fill(HIST("h2SameEventInvariantMassUnlike_mass_SYS"), 0, relative_momentum, mT, F1.M(), collision.numContrib()); if (fillSparse) { histos.fill(HIST("SEMassUnlike"), F1.M(), F1.Pt(), Proton.Pt(), relative_momentum, combinedTPC, pairCharge); } @@ -651,6 +654,7 @@ struct f1protoncorrelation { } } if (f1track.f1SignalStat() == -1) { + histos.fill(HIST("h2SameEventInvariantMassLike_mass_SYS"), 0, relative_momentum, mT, F1.M(), collision.numContrib()); histos.fill(HIST("h2SameEventInvariantMassLike_mass"), relative_momentum, F1.Pt(), F1.M(), protontrack.protonCharge(), collision.numContrib()); if (fillSparse) { histos.fill(HIST("SEMassLike"), F1.M(), F1.Pt(), Proton.Pt(), relative_momentum, combinedTPC, protontrack.protonCharge()); @@ -896,6 +900,7 @@ struct f1protoncorrelation { continue; } auto relative_momentum = getkstar(F1, Proton); + auto mT = getmT(F1, Proton); if (t1.f1SignalStat() > 0) { float pairCharge = t1.f1SignalStat() * t2.protonCharge(); int f1Charge = t1.f1SignalStat(); @@ -905,6 +910,7 @@ struct f1protoncorrelation { pionCharge = 1; kaonCharge = -1; } + histos.fill(HIST("h2MixEventInvariantMassUnlike_mass_SYS"), 0, relative_momentum, mT, F1.M(), collision1.numContrib()); histos.fill(HIST("h2MixEventInvariantMassUnlike_mass"), relative_momentum, F1.Pt(), F1.M(), pairCharge, collision1.numContrib()); // F1 sign = 1 unlike, F1 sign = -1 like histos.fill(HIST("hPhaseSpaceProtonKaonMix"), Proton.Eta() - Kaon.Eta(), PhiAtSpecificRadiiTPC(Proton, Kaon, t2.protonCharge(), kaonCharge, bz, bz2), relative_momentum); // Phase Space Proton kaon histos.fill(HIST("hPhaseSpaceProtonPionMix"), Proton.Eta() - Pion.Eta(), PhiAtSpecificRadiiTPC(Proton, Pion, t2.protonCharge(), pionCharge, bz, bz2), relative_momentum); // Phase Space Proton Pion @@ -936,6 +942,7 @@ struct f1protoncorrelation { } } if (t1.f1SignalStat() == -1) { + histos.fill(HIST("h2MixEventInvariantMassLike_mass_SYS"), 0, relative_momentum, mT, F1.M(), collision1.numContrib()); histos.fill(HIST("h2MixEventInvariantMassLike_mass"), relative_momentum, F1.Pt(), F1.M(), t2.protonCharge(), collision1.numContrib()); if (fillSparse) { histos.fill(HIST("MEMassLike"), F1.M(), F1.Pt(), Proton.Pt(), relative_momentum, combinedTPC, t2.protonCharge());