From c3c31eca30ea9f00e0716165c4261840a3237ccc Mon Sep 17 00:00:00 2001 From: skundu692 Date: Fri, 1 May 2026 15:59:11 +0200 Subject: [PATCH 1/5] Fix Lambda spin correlation selection --- .../Strangeness/lambdaspincorrderived.cxx | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx b/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx index 012685039f0..12fbd831149 100644 --- a/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx +++ b/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx @@ -856,7 +856,8 @@ struct lambdaspincorrderived { continue; } - auto poolA = V0s.sliceBy(tracksPerCollisionV0, collision1.index()); + // auto poolA = V0s.sliceBy(tracksPerCollisionV0, collision1.index()); + auto poolA = V0s.sliceBy(tracksPerCollisionV0, collision1.globalIndex()); // if pool empty, push and continue if (eventPools[bin].empty()) { @@ -1007,7 +1008,8 @@ struct lambdaspincorrderived { } // push current event into pool - auto sliced = V0s.sliceBy(tracksPerCollisionV0, collision1.index()); + // auto sliced = V0s.sliceBy(tracksPerCollisionV0, collision1.index()); + auto sliced = V0s.sliceBy(tracksPerCollisionV0, collision1.globalIndex()); eventPools[bin].emplace_back(collision1.index(), std::move(sliced)); if ((int)eventPools[bin].size() > nEvtMixing) { eventPools[bin].pop_front(); @@ -1457,7 +1459,8 @@ struct lambdaspincorrderived { continue; } - auto slice = V0s.sliceBy(tracksPerCollisionV0, col.index()); + // auto slice = V0s.sliceBy(tracksPerCollisionV0, col.index()); + auto slice = V0s.sliceBy(tracksPerCollisionV0, col.globalIndex()); for (auto const& t : slice) { if (!selectionV0(t)) { @@ -1660,7 +1663,8 @@ struct lambdaspincorrderived { } const int64_t curColIdx = static_cast(col1.index()); - auto poolA = V0s.sliceBy(tracksPerCollisionV0, col1.index()); + // auto poolA = V0s.sliceBy(tracksPerCollisionV0, col1.index()); + auto poolA = V0s.sliceBy(tracksPerCollisionV0, col1.globalIndex()); for (auto const& [t1, t2] : soa::combinations(o2::soa::CombinationsFullIndexPolicy(poolA, poolA))) { if (!selectionV0(t1) || !selectionV0(t2)) { @@ -1869,7 +1873,8 @@ struct lambdaspincorrderived { continue; } - auto slice = V0sMC.sliceBy(tracksPerCollisionV0mc, col.index()); + // auto slice = V0sMC.sliceBy(tracksPerCollisionV0mc, col.index()); + auto slice = V0sMC.sliceBy(tracksPerCollisionV0mc, col.globalIndex()); for (auto const& t : slice) { if (!selectionV0MC(t)) { @@ -2078,7 +2083,8 @@ struct lambdaspincorrderived { } const int64_t curColIdx = static_cast(col1.index()); - auto poolA = V0sMC.sliceBy(tracksPerCollisionV0mc, col1.index()); + // auto poolA = V0sMC.sliceBy(tracksPerCollisionV0mc, col1.index()); + auto poolA = V0sMC.sliceBy(tracksPerCollisionV0mc, col1.globalIndex()); for (auto const& [t1, t2] : soa::combinations(o2::soa::CombinationsFullIndexPolicy(poolA, poolA))) { if (!selectionV0MC(t1) || !selectionV0MC(t2)) { From 18d8d3de839709230115c1063f7a03abf1be4f6d Mon Sep 17 00:00:00 2001 From: skundu692 Date: Fri, 1 May 2026 16:07:49 +0200 Subject: [PATCH 2/5] Fix Lambda spin correlation selection --- .../Strangeness/lambdaspincorrderived.cxx | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx b/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx index 12fbd831149..012685039f0 100644 --- a/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx +++ b/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx @@ -856,8 +856,7 @@ struct lambdaspincorrderived { continue; } - // auto poolA = V0s.sliceBy(tracksPerCollisionV0, collision1.index()); - auto poolA = V0s.sliceBy(tracksPerCollisionV0, collision1.globalIndex()); + auto poolA = V0s.sliceBy(tracksPerCollisionV0, collision1.index()); // if pool empty, push and continue if (eventPools[bin].empty()) { @@ -1008,8 +1007,7 @@ struct lambdaspincorrderived { } // push current event into pool - // auto sliced = V0s.sliceBy(tracksPerCollisionV0, collision1.index()); - auto sliced = V0s.sliceBy(tracksPerCollisionV0, collision1.globalIndex()); + auto sliced = V0s.sliceBy(tracksPerCollisionV0, collision1.index()); eventPools[bin].emplace_back(collision1.index(), std::move(sliced)); if ((int)eventPools[bin].size() > nEvtMixing) { eventPools[bin].pop_front(); @@ -1459,8 +1457,7 @@ struct lambdaspincorrderived { continue; } - // auto slice = V0s.sliceBy(tracksPerCollisionV0, col.index()); - auto slice = V0s.sliceBy(tracksPerCollisionV0, col.globalIndex()); + auto slice = V0s.sliceBy(tracksPerCollisionV0, col.index()); for (auto const& t : slice) { if (!selectionV0(t)) { @@ -1663,8 +1660,7 @@ struct lambdaspincorrderived { } const int64_t curColIdx = static_cast(col1.index()); - // auto poolA = V0s.sliceBy(tracksPerCollisionV0, col1.index()); - auto poolA = V0s.sliceBy(tracksPerCollisionV0, col1.globalIndex()); + auto poolA = V0s.sliceBy(tracksPerCollisionV0, col1.index()); for (auto const& [t1, t2] : soa::combinations(o2::soa::CombinationsFullIndexPolicy(poolA, poolA))) { if (!selectionV0(t1) || !selectionV0(t2)) { @@ -1873,8 +1869,7 @@ struct lambdaspincorrderived { continue; } - // auto slice = V0sMC.sliceBy(tracksPerCollisionV0mc, col.index()); - auto slice = V0sMC.sliceBy(tracksPerCollisionV0mc, col.globalIndex()); + auto slice = V0sMC.sliceBy(tracksPerCollisionV0mc, col.index()); for (auto const& t : slice) { if (!selectionV0MC(t)) { @@ -2083,8 +2078,7 @@ struct lambdaspincorrderived { } const int64_t curColIdx = static_cast(col1.index()); - // auto poolA = V0sMC.sliceBy(tracksPerCollisionV0mc, col1.index()); - auto poolA = V0sMC.sliceBy(tracksPerCollisionV0mc, col1.globalIndex()); + auto poolA = V0sMC.sliceBy(tracksPerCollisionV0mc, col1.index()); for (auto const& [t1, t2] : soa::combinations(o2::soa::CombinationsFullIndexPolicy(poolA, poolA))) { if (!selectionV0MC(t1) || !selectionV0MC(t2)) { From 8e5c01af42847fa792c0555c39b3307448d657aa Mon Sep 17 00:00:00 2001 From: skundu692 Date: Tue, 12 May 2026 16:32:53 +0200 Subject: [PATCH 3/5] Fix event selection in MC table for spin correlation and add new process function for high mass resonance ananlysis --- PWGLF/Tasks/Resonances/doublephimeson.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/PWGLF/Tasks/Resonances/doublephimeson.cxx b/PWGLF/Tasks/Resonances/doublephimeson.cxx index 61b181646cf..f5c7f353be1 100644 --- a/PWGLF/Tasks/Resonances/doublephimeson.cxx +++ b/PWGLF/Tasks/Resonances/doublephimeson.cxx @@ -16,6 +16,7 @@ #include "PWGLF/DataModel/ReducedDoublePhiTables.h" #include + #include #include #include From 8c5f0fdbd907e80c75e612d29aa43034f39a5330 Mon Sep 17 00:00:00 2001 From: skundu692 Date: Wed, 13 May 2026 12:16:26 +0200 Subject: [PATCH 4/5] Fix bug in v0 loop for MC --- PWGLF/TableProducer/Strangeness/lambdaspincorrelation.cxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/PWGLF/TableProducer/Strangeness/lambdaspincorrelation.cxx b/PWGLF/TableProducer/Strangeness/lambdaspincorrelation.cxx index 33561ee14cd..b557053295c 100644 --- a/PWGLF/TableProducer/Strangeness/lambdaspincorrelation.cxx +++ b/PWGLF/TableProducer/Strangeness/lambdaspincorrelation.cxx @@ -283,6 +283,7 @@ struct lambdaspincorrelation { using EventCandidates = soa::Filtered>; using AllTrackCandidates = soa::Join; using ResoV0s = aod::V0Datas; + Preslice perCollisionV0s = aod::v0data::collisionId; using EventCandidatesMC = soa::Join; using AllTrackCandidatesMC = soa::Join; void processData(EventCandidates::iterator const& collision, AllTrackCandidates const&, ResoV0s const& V0s) @@ -555,8 +556,9 @@ struct lambdaspincorrelation { occupancy < cfgCutOccupancy) { histos.fill(HIST("hEvtSelInfo"), 2.5); + auto groupedV0s = V0s.sliceBy(perCollisionV0s, collision.globalIndex()); - for (const auto& v0 : V0s) { + for (const auto& v0 : groupedV0s) { histos.fill(HIST("hEvtSelInfo"), 3.5); // all V0s seen auto [lambdaTag, aLambdaTag, isValid] = getLambdaTagsMC(v0, collision); From 48c56904fb633e0bdea542e6019d4b117295e920 Mon Sep 17 00:00:00 2001 From: skundu692 Date: Wed, 13 May 2026 12:23:50 +0200 Subject: [PATCH 5/5] Fix clang-format --- PWGLF/Tasks/Resonances/doublephimeson.cxx | 1 - 1 file changed, 1 deletion(-) diff --git a/PWGLF/Tasks/Resonances/doublephimeson.cxx b/PWGLF/Tasks/Resonances/doublephimeson.cxx index f5c7f353be1..61b181646cf 100644 --- a/PWGLF/Tasks/Resonances/doublephimeson.cxx +++ b/PWGLF/Tasks/Resonances/doublephimeson.cxx @@ -16,7 +16,6 @@ #include "PWGLF/DataModel/ReducedDoublePhiTables.h" #include - #include #include #include