From 1f2942edf1f9744ac5eb5b374a2583d28a4ee124 Mon Sep 17 00:00:00 2001 From: Maximiliano Puccio Date: Wed, 16 Jul 2025 15:29:43 +0200 Subject: [PATCH 1/2] Fix indexing and add invariant mass plot --- .../TableProducer/Nuspex/he3LambdaAnalysis.cxx | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/PWGLF/TableProducer/Nuspex/he3LambdaAnalysis.cxx b/PWGLF/TableProducer/Nuspex/he3LambdaAnalysis.cxx index aa05bd206f5..dc1665c3b03 100644 --- a/PWGLF/TableProducer/Nuspex/he3LambdaAnalysis.cxx +++ b/PWGLF/TableProducer/Nuspex/he3LambdaAnalysis.cxx @@ -106,6 +106,7 @@ std::shared_ptr hTPCnSigmaAll; std::shared_ptr hTPCnSigmaHe3; std::shared_ptr hArmenterosPodolanskiAll; std::shared_ptr hArmenterosPodolanskiSelected; +std::shared_ptr hInvariantMass; }; // namespace @@ -204,7 +205,6 @@ struct he3LambdaAnalysis { float mBz = 0.0f; // Magnetic field in T HistogramRegistry mRegistry{"He3LambdaAnalysis"}; int mRunNumber = 0; // Current run number - int mEventIndex = 0; // Current event index void init(InitContext const&) { @@ -248,6 +248,9 @@ struct he3LambdaAnalysis { hArmenterosPodolanskiAll = mRegistry.add("hArmenterosPodolanskiAll", "Armenteros-Podolanski All", {HistType::kTH2D, {{100, -1., 1.}, {100, 0., 0.5}}}); hArmenterosPodolanskiSelected = mRegistry.add("hArmenterosPodolanskiSelected", "Armenteros-Podolanski Selected", {HistType::kTH2D, {{100, -1., 1.}, {100, 0., 0.5}}}); + constexpr double ConstituentsMass = o2::constants::physics::MassProton + o2::constants::physics::MassNeutron * 2 + o2::constants::physics::MassSigmaPlus; + hInvariantMass = mRegistry.add("hInvariantMass", "Invariant Mass", {HistType::kTH2D, {{45, 1., 10}, {100, ConstituentsMass - 0.05, ConstituentsMass + 0.05}}}); + LOGF(info, "He3-Lambda analysis initialized"); } @@ -426,14 +429,20 @@ struct he3LambdaAnalysis { // Fill output tables lfHe3V0Collision(collision.posZ(), collision.centFT0C()); for (const auto& he3 : he3Candidates) { - lfHe3(mEventIndex, he3.momentum.Pt(), he3.momentum.Eta(), he3.momentum.Phi(), + lfHe3(lfHe3V0Collision.lastIndex(), he3.momentum.Pt(), he3.momentum.Eta(), he3.momentum.Phi(), he3.dcaXY, he3.dcaZ, he3.tpcNClsFound, he3.itsClusterSizes, he3.nSigmaTPC, he3.sign); } for (const auto& lambda : lambdaCandidates) { - lfLambda(mEventIndex, lambda.momentum.Pt(), lambda.momentum.Eta(), lambda.momentum.Phi(), + lfLambda(lfHe3V0Collision.lastIndex(), lambda.momentum.Pt(), lambda.momentum.Eta(), lambda.momentum.Phi(), lambda.mass, lambda.cosPA, lambda.dcaV0Daughters, lambda.dcaProtonToPV, lambda.dcaPionToPV, lambda.v0Radius, lambda.sign); } - mEventIndex++; + + for (const auto& he3 : he3Candidates) { + for (const auto& lambda : lambdaCandidates) { + auto pairMomentum = lambda.momentum + he3.momentum; // Calculate invariant mass + hInvariantMass->Fill(pairMomentum.Pt(), pairMomentum.M()); + } + } } PROCESS_SWITCH(he3LambdaAnalysis, processData, "Process data", true); }; From 694f37be807d5c21607a45734a670b025ef7327b Mon Sep 17 00:00:00 2001 From: ALICE Builder Date: Wed, 16 Jul 2025 16:04:10 +0200 Subject: [PATCH 2/2] Please consider the following formatting changes to #12086 (#12087) --- PWGLF/TableProducer/Nuspex/he3LambdaAnalysis.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGLF/TableProducer/Nuspex/he3LambdaAnalysis.cxx b/PWGLF/TableProducer/Nuspex/he3LambdaAnalysis.cxx index dc1665c3b03..696225c0e9b 100644 --- a/PWGLF/TableProducer/Nuspex/he3LambdaAnalysis.cxx +++ b/PWGLF/TableProducer/Nuspex/he3LambdaAnalysis.cxx @@ -204,7 +204,7 @@ struct he3LambdaAnalysis { std::array mBBparamsHe; float mBz = 0.0f; // Magnetic field in T HistogramRegistry mRegistry{"He3LambdaAnalysis"}; - int mRunNumber = 0; // Current run number + int mRunNumber = 0; // Current run number void init(InitContext const&) {