From 8e8f6b1c21a830e096f173d50a8d9736025fcca5 Mon Sep 17 00:00:00 2001 From: suyoupeng <109774812+15071832337@users.noreply.github.com> Date: Sat, 10 Oct 2026 15:28:54 +0800 Subject: [PATCH 1/3] Add files via upload --- .../Strangeness/lambdaspincorrderived.cxx | 38 ------------------- 1 file changed, 38 deletions(-) diff --git a/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx b/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx index ede587a496c..52e4f6cc6e5 100644 --- a/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx +++ b/PWGLF/Tasks/Strangeness/lambdaspincorrderived.cxx @@ -388,17 +388,6 @@ struct lambdaspincorrderived { Configurable dcaV0ToPV{"dcaV0ToPV", 1.2, "DCA V0 to PV cut on lambda"}; Configurable v0etaMixBuffer{"v0etaMixBuffer", 0.5, "Eta cut on mix event buffer"}; - // TPC crossed rows - Configurable minTpcNClsCrossedRows{"minTpcNClsCrossedRows", 70.f, "Minimum TPC crossed rows for daughter"}; - - // ctau (lifetime) - Configurable maxCtau{"maxCtau", 30.f, "Maximum ctau of Lambda candidate (cm)"}; - - // TPC nsigma - Configurable maxTpcNsigma{"maxTpcNsigma", 4.f, "Maximum |TPC nsigma| for Lambda daughters"}; - - Configurable confK0sMassWindow{"confK0sMassWindow", 0.01, "K0s competing mass rejection window (GeV/c2)"}; - } v0Configurations; // Event Mixing @@ -908,33 +897,6 @@ struct lambdaspincorrderived { return false; } - // additional cuts - if (candidate.v0Status() == 0 && (std::abs(candidate.tpcNsigmaPos()) > v0Configurations.maxTpcNsigma || std::abs(candidate.tpcNsigmaNeg()) > v0Configurations.maxTpcNsigma)) { - return false; - } - if (candidate.v0Status() == 1 && (std::abs(candidate.tpcNsigmaNeg()) > v0Configurations.maxTpcNsigma || std::abs(candidate.tpcNsigmaPos()) > v0Configurations.maxTpcNsigma)) { - return false; - } - - // ---- K0s competing mass rejection ---- - if (std::abs(candidate.mK0Short() - o2::constants::physics::MassK0Short) < v0Configurations.confK0sMassWindow) { - return false; - } - - /* - if (candidate.tpcPosNClsCrossedRows() < v0Configurations.minTpcNClsCrossedRows ) { - return false; - } - - if (candidate.tpcNegNClsCrossedRows() < v0Configurations.minTpcNClsCrossedRows ) { - return false; - } - - if (candidate.ctau() > v0Configurations.maxCtau ) { - return false; - } - */ - return true; } From d472550c84884b4e68daf637a8bbd38d00a9d083 Mon Sep 17 00:00:00 2001 From: suyoupeng <109774812+15071832337@users.noreply.github.com> Date: Sat, 10 Oct 2026 15:29:24 +0800 Subject: [PATCH 2/3] Add files via upload --- .../Strangeness/lambdaspincorrelation.cxx | 46 ++++++++----------- 1 file changed, 18 insertions(+), 28 deletions(-) diff --git a/PWGLF/TableProducer/Strangeness/lambdaspincorrelation.cxx b/PWGLF/TableProducer/Strangeness/lambdaspincorrelation.cxx index 615c4be269d..489de47422b 100644 --- a/PWGLF/TableProducer/Strangeness/lambdaspincorrelation.cxx +++ b/PWGLF/TableProducer/Strangeness/lambdaspincorrelation.cxx @@ -95,14 +95,21 @@ struct lambdaspincorrelation { Configurable cMaxV0DCA{"cMaxV0DCA", 1.2, "Maximum V0 DCA to PV"}; Configurable cMinV0DCAPr{"cMinV0DCAPr", 0.05, "Minimum V0 daughters DCA to PV for Pr"}; Configurable cMinV0DCAPi{"cMinV0DCAPi", 0.05, "Minimum V0 daughters DCA to PV for Pi"}; - Configurable cMaxV0LifeTime{"cMaxV0LifeTime", 50, "Maximum V0 life time"}; // config for V0 daughters Configurable confDaughEta{"confDaughEta", 0.8f, "V0 Daugh sel: max eta"}; Configurable cfgDaughPrPt{"cfgDaughPrPt", 0.2, "minimum daughter proton pt"}; Configurable cfgDaughPiPt{"cfgDaughPiPt", 0.2, "minimum daughter pion pt"}; Configurable confDaughTPCnclsMin{"confDaughTPCnclsMin", 50.f, "V0 Daugh sel: Min. nCls TPC"}; - Configurable confDaughPIDCuts{"confDaughPIDCuts", 3, "PID selections for Lambda daughters"}; + + struct : ConfigurableGroup { + std::string prefix = "v0Configuration"; + Configurable cfgDaughTPCCrossedRows{"cfgDaughTPCCrossedRows", 70, "Min. TPC crossed rows for V0 daughters"}; + Configurable confK0sMassWindow{"confK0sMassWindow", 0.01, "K0s competing mass rejection window (GeV/c2)"}; + Configurable cMaxV0LifeTime{"cMaxV0LifeTime", 30, "Maximum V0 life time"}; + Configurable confDaughPIDCuts{"confDaughPIDCuts", 4, "PID selections for Lambda daughters"}; + + } v0Configurations; Configurable iMNbins{"iMNbins", 50, "Number of bins in invariant mass"}; Configurable lbinIM{"lbinIM", 1.09, "lower bin value in IM histograms"}; @@ -149,7 +156,11 @@ struct lambdaspincorrelation { if (tranRad > confV0TranRadV0Max) { return false; } - if (std::abs(ctauLambda) > cMaxV0LifeTime) { + if (std::abs(ctauLambda) > v0Configurations.cMaxV0LifeTime) { + return false; + } + + if (std::abs(candidate.mK0Short() - o2::constants::physics::MassK0Short) < v0Configurations.confK0sMassWindow) { return false; } // if (std::abs(candidate.yLambda()) > confV0Rap) { @@ -162,10 +173,9 @@ struct lambdaspincorrelation { bool isSelectedV0Daughter(V0 const& candidate, T const& track, int pid) { const auto tpcNClsF = track.tpcNClsFound(); - const auto ncr = 70; const auto ncrfc = 0.8; - if (track.tpcNClsCrossedRows() < ncr) { + if (track.tpcNClsCrossedRows() < v0Configurations.cfgDaughTPCCrossedRows) { return false; } if (tpcNClsF < confDaughTPCnclsMin) { @@ -175,10 +185,10 @@ struct lambdaspincorrelation { return false; } - if (pid == 0 && std::abs(track.tpcNSigmaPr()) > confDaughPIDCuts) { + if (pid == 0 && std::abs(track.tpcNSigmaPr()) > v0Configurations.confDaughPIDCuts) { return false; } - if (pid == 1 && std::abs(track.tpcNSigmaPi()) > confDaughPIDCuts) { + if (pid == 1 && std::abs(track.tpcNSigmaPi()) > v0Configurations.confDaughPIDCuts) { return false; } if (pid == 0 && (candidate.positivept() < cfgDaughPrPt || candidate.negativept() < cfgDaughPiPt)) { @@ -299,13 +309,6 @@ struct lambdaspincorrelation { std::vector negativeIndex = {}; std::vector dcaBetweenDaughter = {}; std::vector dcaV0ToPV = {}; - std::vector tpcPosNClsCrossedRows = {}; - std::vector tpcNegNClsCrossedRows = {}; - std::vector ctau = {}; - std::vector tpcNsigmaPos = {}; - std::vector tpcNsigmaNeg = {}; - std::vector mK0Short = {}; - int numbV0 = 0; // LOGF(info, "event collisions: (%d)", collision.index()); auto centrality = collision.centFT0C(); @@ -357,9 +360,6 @@ struct lambdaspincorrelation { if (aLambdaTag) { histos.fill(HIST("hV0Info"), 3.5); } - - float ctauLambda = v0.distovertotmom(collision.posX(), collision.posY(), collision.posZ()) * (o2::constants::physics::MassLambda); - // LOGF(info, "v0 index2: (%d)", v0.index()); auto postrack1 = v0.template posTrack_as(); auto negtrack1 = v0.template negTrack_as(); @@ -367,16 +367,6 @@ struct lambdaspincorrelation { negativeIndex.push_back(negtrack1.globalIndex()); v0Cospa.push_back(v0.v0cosPA()); dcaV0ToPV.push_back(std::abs(v0.dcav0topv())); - - tpcPosNClsCrossedRows.push_back(postrack1.tpcNClsCrossedRows()); - tpcNegNClsCrossedRows.push_back(negtrack1.tpcNClsCrossedRows()); - ctau.push_back(ctauLambda); - - tpcNsigmaPos.push_back(std::abs(postrack1.tpcNSigmaPr())); - tpcNsigmaNeg.push_back(std::abs(negtrack1.tpcNSigmaPi())); - - mK0Short.push_back(v0.mK0Short()); - v0Radius.push_back(v0.v0radius()); dcaPositive.push_back(std::abs(v0.dcapostopv())); dcaNegative.push_back(std::abs(v0.dcanegtopv())); @@ -413,7 +403,7 @@ struct lambdaspincorrelation { lambdaDummy = lambdaMother.at(i5); protonDummy = protonDaughter.at(i5); pionDummy = pionDaughter.at(i5); - lambdaPair(indexEvent, v0Status.at(i5), doubleStatus.at(i5), v0Cospa.at(i5), v0Radius.at(i5), dcaPositive.at(i5), dcaNegative.at(i5), dcaBetweenDaughter.at(i5), lambdaDummy.Pt(), lambdaDummy.Eta(), lambdaDummy.Phi(), lambdaDummy.M(), protonDummy.Pt(), protonDummy.Eta(), protonDummy.Phi(), positiveIndex.at(i5), negativeIndex.at(i5), dcaV0ToPV.at(i5), tpcPosNClsCrossedRows.at(i5), tpcNegNClsCrossedRows.at(i5), ctau.at(i5), tpcNsigmaPos.at(i5), tpcNsigmaNeg.at(i5), mK0Short.at(i5)); + lambdaPair(indexEvent, v0Status.at(i5), doubleStatus.at(i5), v0Cospa.at(i5), v0Radius.at(i5), dcaPositive.at(i5), dcaNegative.at(i5), dcaBetweenDaughter.at(i5), lambdaDummy.Pt(), lambdaDummy.Eta(), lambdaDummy.Phi(), lambdaDummy.M(), protonDummy.Pt(), protonDummy.Eta(), protonDummy.Phi(), positiveIndex.at(i5), negativeIndex.at(i5), dcaV0ToPV.at(i5)); } } } From b8dbe83e958b823f1211f26decf2cba6124152f2 Mon Sep 17 00:00:00 2001 From: suyoupeng <109774812+15071832337@users.noreply.github.com> Date: Sat, 10 Oct 2026 15:30:00 +0800 Subject: [PATCH 3/3] Add files via upload --- PWGLF/DataModel/LFSpincorrelationTables.h | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/PWGLF/DataModel/LFSpincorrelationTables.h b/PWGLF/DataModel/LFSpincorrelationTables.h index fa7e2061f3e..d4fdffd2442 100644 --- a/PWGLF/DataModel/LFSpincorrelationTables.h +++ b/PWGLF/DataModel/LFSpincorrelationTables.h @@ -53,12 +53,6 @@ DECLARE_SOA_COLUMN(ProtonPhi, protonPhi, float); //! Proton Ph DECLARE_SOA_COLUMN(ProtonIndex, protonIndex, int); //! Proton index DECLARE_SOA_COLUMN(PionIndex, pionIndex, int); //! Pion index DECLARE_SOA_COLUMN(DcaV0ToPV, dcaV0ToPV, float); //! DCA of V0 to primary vertex -DECLARE_SOA_COLUMN(TpcPosNClsCrossedRows, tpcPosNClsCrossedRows, float); -DECLARE_SOA_COLUMN(TpcNegNClsCrossedRows, tpcNegNClsCrossedRows, float); -DECLARE_SOA_COLUMN(Ctau, ctau, float); -DECLARE_SOA_COLUMN(TpcNsigmaPos, tpcNsigmaPos, float); -DECLARE_SOA_COLUMN(TpcNsigmaNeg, tpcNsigmaNeg, float); -DECLARE_SOA_COLUMN(MK0Short, mK0Short, float); } // namespace lambdapair DECLARE_SOA_TABLE(LambdaPairs, "AOD", "LAMBDAPAIR", @@ -80,13 +74,7 @@ DECLARE_SOA_TABLE(LambdaPairs, "AOD", "LAMBDAPAIR", lambdapair::ProtonPhi, lambdapair::ProtonIndex, lambdapair::PionIndex, - lambdapair::DcaV0ToPV, - lambdapair::TpcPosNClsCrossedRows, - lambdapair::TpcNegNClsCrossedRows, - lambdapair::Ctau, - lambdapair::TpcNsigmaPos, - lambdapair::TpcNsigmaNeg, - lambdapair::MK0Short); + lambdapair::DcaV0ToPV); using LambdaPair = LambdaPairs::iterator; @@ -121,8 +109,6 @@ DECLARE_SOA_COLUMN(ProtonPhimc, protonPhimc, float); //! Proto DECLARE_SOA_COLUMN(ProtonIndexmc, protonIndexmc, int); //! Proton index in montecarlo DECLARE_SOA_COLUMN(PionIndexmc, pionIndexmc, int); //! Pion index in montecarlo DECLARE_SOA_COLUMN(DcaV0ToPVmc, dcaV0ToPVmc, float); //! DCA of V0 to primary vertex - -//! TPC n sigma } // namespace lambdapairmc DECLARE_SOA_TABLE(LambdaPairmcs, "AOD", "LAMBDAPAIRMC", o2::soa::Index<>,