From 4afa649b9e569d261a2e008207bbd6e96257f0d2 Mon Sep 17 00:00:00 2001 From: Chiara De Martin Date: Thu, 25 Sep 2025 15:00:06 +0200 Subject: [PATCH 1/2] add lambda eta in tree and add info of event plane computed with T0A and V0A --- PWGLF/DataModel/cascqaanalysis.h | 2 +- .../TableProducer/Strangeness/cascadeflow.cxx | 27 ++++++++++++++++--- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/PWGLF/DataModel/cascqaanalysis.h b/PWGLF/DataModel/cascqaanalysis.h index be74e5241bd..4cb9176f99e 100644 --- a/PWGLF/DataModel/cascqaanalysis.h +++ b/PWGLF/DataModel/cascqaanalysis.h @@ -181,7 +181,7 @@ DECLARE_SOA_TABLE(CascAnalysis, "AOD", "CascAnalysis", o2::soa::Index<>, cascadesflow::CentFT0C, cascadesflow::IsNoCollInTimeRange, cascadesflow::IsNoCollInRof, cascadesflow::HasEventPlane, cascadesflow::HasSpectatorPlane, cascadesflow::Sign, cascadesflow::Pt, cascadesflow::Eta, cascadesflow::Phi, cascadesflow::MassLambda, cascadesflow::MassXi, cascadesflow::MassOmega, cascadesflow::V2CSP, cascadesflow::V2CEP, cascadesflow::V1SPzdcA, cascadesflow::V1SPzdcC, cascadesflow::PsiT0C, cascadesflow::BDTResponseXi, cascadesflow::BDTResponseOmega, cascadesflow::CosThetaStarLambdaFromOmega, cascadesflow::CosThetaStarLambdaFromXi, cascadesflow::CosThetaStarProton, mycascades::McPdgCode); DECLARE_SOA_TABLE(LambdaAnalysis, "AOD", "LambdaAnalysis", o2::soa::Index<>, - cascadesflow::CentFT0C, cascadesflow::HasEventPlane, cascadesflow::HasSpectatorPlane, cascadesflow::Sign, cascadesflow::Pt, cascadesflow::Phi, cascadesflow::MassLambda, cascadesflow::V0Radius, cascadesflow::DcaPosToPV, cascadesflow::DcaNegToPV, cascadesflow::V0CosPA, cascadesflow::DcaV0Daughters, cascadesflow::V2CEP, cascadesflow::PsiT0C, cascadesflow::Pzs2Lambda, cascadesflow::Cos2ThetaLambda, cascadesflow::CosThetaLambda); + cascadesflow::CentFT0C, cascadesflow::HasEventPlane, cascadesflow::HasSpectatorPlane, cascadesflow::Sign, cascadesflow::Pt, cascadesflow::Phi, cascadesflow::Eta, cascadesflow::MassLambda, cascadesflow::V0Radius, cascadesflow::DcaPosToPV, cascadesflow::DcaNegToPV, cascadesflow::V0CosPA, cascadesflow::DcaV0Daughters, cascadesflow::V2CEP, cascadesflow::PsiT0C, cascadesflow::Pzs2Lambda, cascadesflow::Cos2ThetaLambda, cascadesflow::CosThetaLambda); namespace myMCcascades { diff --git a/PWGLF/TableProducer/Strangeness/cascadeflow.cxx b/PWGLF/TableProducer/Strangeness/cascadeflow.cxx index c4eb59956d2..b8bc280d1a1 100644 --- a/PWGLF/TableProducer/Strangeness/cascadeflow.cxx +++ b/PWGLF/TableProducer/Strangeness/cascadeflow.cxx @@ -47,7 +47,7 @@ using std::array; using DauTracks = soa::Join; using CollEventPlane = soa::Join::iterator; -using CollEventPlaneCentralFW = soa::Join::iterator; +using CollEventPlaneCentralFW = soa::Join::iterator; using CollEventAndSpecPlane = soa::Join::iterator; using CollEventAndSpecPlaneCentralFW = soa::Join::iterator; using MCCollisionsStra = soa::Join; @@ -153,6 +153,10 @@ static const std::vector labelsCutScore = {"Background score", "Sig struct cascadeFlow { + Configurable isQVecT0C{"isQVecT0C", 1, ""}; + Configurable isQVecT0M{"isQVecT0M", 0, ""}; + Configurable isQVecV0A{"isQVecV0A", 0, ""}; + // Output filling criteria struct : ConfigurableGroup { Configurable isFillTree{"isFillTree", 1, ""}; @@ -660,6 +664,7 @@ struct cascadeFlow { chargeIndex, v0.pt(), v0.phi(), + v0.eta(), invMassLambda, v0.v0radius(), v0.dcapostopv(), @@ -1651,9 +1656,23 @@ struct cascadeFlow { return; } + double qvecRe = 0; + double qvecIm = 0; + + if (isQVecT0C) { + qvecRe = coll.qvecFT0CRe(); + qvecIm = coll.qvecFT0CIm(); + } else if (isQVecT0M) { + qvecRe = coll.qvecFT0MRe(); + qvecIm = coll.qvecFT0MIm(); + } else if (isQVecV0A){ + qvecRe = coll.qvecFV0ARe(); + qvecIm = coll.qvecFV0AIm(); + } + // select only events used for the calibration of the event plane if (isGoodEventEP) { - if (std::abs(coll.qvecFT0CRe()) > 990 || std::abs(coll.qvecFT0CIm()) > 990 || std::abs(coll.qvecBNegRe()) > 990 || std::abs(coll.qvecBNegIm()) > 990 || std::abs(coll.qvecBPosRe()) > 990 || std::abs(coll.qvecBPosIm()) > 990) { + if (std::abs(qvecRe) > 990 || std::abs(qvecIm) > 990 || std::abs(coll.qvecBNegRe()) > 990 || std::abs(coll.qvecBNegIm()) > 990 || std::abs(coll.qvecBPosRe()) > 990 || std::abs(coll.qvecBPosIm()) > 990) { return; } } @@ -1669,11 +1688,11 @@ struct cascadeFlow { histos.fill(HIST("hEventCentrality"), coll.centFT0C()); histos.fill(HIST("hEventVertexZ"), coll.posZ()); - ROOT::Math::XYZVector eventplaneVecT0C{coll.qvecFT0CRe(), coll.qvecFT0CIm(), 0}; + ROOT::Math::XYZVector eventplaneVecT0C{qvecRe, qvecIm, 0}; ROOT::Math::XYZVector eventplaneVecTPCA{coll.qvecBPosRe(), coll.qvecBPosIm(), 0}; ROOT::Math::XYZVector eventplaneVecTPCC{coll.qvecBNegRe(), coll.qvecBNegIm(), 0}; - const float psiT0C = std::atan2(coll.qvecFT0CIm(), coll.qvecFT0CRe()) * 0.5f; + const float psiT0C = std::atan2(qvecIm, qvecRe) * 0.5f; const float psiTPCA = std::atan2(coll.qvecBPosIm(), coll.qvecBPosRe()) * 0.5f; const float psiTPCC = std::atan2(coll.qvecBNegIm(), coll.qvecBNegRe()) * 0.5f; float psiT0CCorr = psiT0C; From 1e4381cfd1f5f105eda0c39723d549e2234dedff Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Thu, 25 Sep 2025 13:01:22 +0000 Subject: [PATCH 2/2] Please consider the following formatting changes --- PWGLF/TableProducer/Strangeness/cascadeflow.cxx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/PWGLF/TableProducer/Strangeness/cascadeflow.cxx b/PWGLF/TableProducer/Strangeness/cascadeflow.cxx index b8bc280d1a1..ed94f919cdf 100644 --- a/PWGLF/TableProducer/Strangeness/cascadeflow.cxx +++ b/PWGLF/TableProducer/Strangeness/cascadeflow.cxx @@ -156,7 +156,7 @@ struct cascadeFlow { Configurable isQVecT0C{"isQVecT0C", 1, ""}; Configurable isQVecT0M{"isQVecT0M", 0, ""}; Configurable isQVecV0A{"isQVecV0A", 0, ""}; - + // Output filling criteria struct : ConfigurableGroup { Configurable isFillTree{"isFillTree", 1, ""}; @@ -664,7 +664,7 @@ struct cascadeFlow { chargeIndex, v0.pt(), v0.phi(), - v0.eta(), + v0.eta(), invMassLambda, v0.v0radius(), v0.dcapostopv(), @@ -1658,18 +1658,18 @@ struct cascadeFlow { double qvecRe = 0; double qvecIm = 0; - + if (isQVecT0C) { qvecRe = coll.qvecFT0CRe(); qvecIm = coll.qvecFT0CIm(); } else if (isQVecT0M) { qvecRe = coll.qvecFT0MRe(); qvecIm = coll.qvecFT0MIm(); - } else if (isQVecV0A){ + } else if (isQVecV0A) { qvecRe = coll.qvecFV0ARe(); qvecIm = coll.qvecFV0AIm(); } - + // select only events used for the calibration of the event plane if (isGoodEventEP) { if (std::abs(qvecRe) > 990 || std::abs(qvecIm) > 990 || std::abs(coll.qvecBNegRe()) > 990 || std::abs(coll.qvecBNegIm()) > 990 || std::abs(coll.qvecBPosRe()) > 990 || std::abs(coll.qvecBPosIm()) > 990) {