From 2f87de4d9a59de31e55f9c4bf3b8b2ee14e045ca Mon Sep 17 00:00:00 2001 From: Sushanta Tripathy Date: Fri, 19 Jun 2026 15:14:34 +0200 Subject: [PATCH 1/2] Updating PID strategy --- .../Tasks/nucleibalance.cxx | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/PWGCF/TwoParticleCorrelations/Tasks/nucleibalance.cxx b/PWGCF/TwoParticleCorrelations/Tasks/nucleibalance.cxx index ded525fd309..7c3d11fc3c8 100644 --- a/PWGCF/TwoParticleCorrelations/Tasks/nucleibalance.cxx +++ b/PWGCF/TwoParticleCorrelations/Tasks/nucleibalance.cxx @@ -1710,6 +1710,7 @@ struct Lambdastarproxy { Configurable lstarCutNsigmaTOFKaon{"lstarCutNsigmaTOFKaon", float{NsigmaTOFDefault}, "|nSigma^{TOF}_{K}| cut"}; Configurable lstarCutNsigmaTPCDe{"lstarCutNsigmaTPCDe", float{NsigmaTPCDefault}, "|nSigma^{TPC}_{d}| cut"}; Configurable lstarCutNsigmaTOFDe{"lstarCutNsigmaTOFDe", float{NsigmaTOFDefault}, "|nSigma^{TOF}_{d}| cut"}; + Configurable lstarEnableTOFNsigmaCutDe{"lstarEnableTOFNsigmaCutDe", 0, "Enable deuteron-only TOF nSigma cut in PID strategy 2"}; // Optional deuteron-only TOF auxiliary selections. // Defaults are OFF, so strategy 2 remains TPC nSigma only for deuterons. Configurable lstarEnableBetaCutDe{"lstarEnableBetaCutDe", 0, "Enable deuteron-only TOF beta cut using beta() > lstarBetaCutDe"}; @@ -1956,7 +1957,7 @@ struct Lambdastarproxy { // This bypasses the extra explicit ITS/TPC/DCA/chi2 cuts below. if (lstarOnlyGlobalTrackCuts.value != 0) { return true; - } + } if constexpr (requires { trk.itsNCls(); }) { if (lstarITSNClusters.value > 0 && trk.itsNCls() < lstarITSNClusters.value) { @@ -2433,8 +2434,8 @@ struct Lambdastarproxy { } bool passFinalCandidatePID(float pt, float nsTPC, float nsTOF, bool hasTof, - float tpcCut, float tofCut, float circularCut, - float ptRef, bool isDeuteron = false) const + float tpcCut, float tofCut, float circularCut, + float ptRef, bool isDeuteron = false) const { // Strategy 1: analysis-note style circular TPC+TOF cut if (lstarPidStrategy.value == PidStrategyCircularTPCAndTOF) { @@ -2453,7 +2454,16 @@ struct Lambdastarproxy { // For deuterons, follow the default idea of the official nuclei task: // use TPC nσ as the main hard PID selection. if (isDeuteron) { - return std::abs(nsTPC) < tpcCut; + if (std::abs(nsTPC) >= tpcCut) { + return false; + } + if (lstarEnableTOFNsigmaCutDe.value != 0) { + if (!hasTof) { + return false; + } + return std::abs(nsTOF) < tofCut; + } + return true; } // For kaons/protons, use the Lambda(1520)-like pT-ref circular TPC+TOF logic. From 0cc2e9b26b2f56afeed97f9975160921df17d366 Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Fri, 19 Jun 2026 13:16:25 +0000 Subject: [PATCH 2/2] Please consider the following formatting changes --- PWGCF/TwoParticleCorrelations/Tasks/nucleibalance.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/PWGCF/TwoParticleCorrelations/Tasks/nucleibalance.cxx b/PWGCF/TwoParticleCorrelations/Tasks/nucleibalance.cxx index 7c3d11fc3c8..ee466081ddb 100644 --- a/PWGCF/TwoParticleCorrelations/Tasks/nucleibalance.cxx +++ b/PWGCF/TwoParticleCorrelations/Tasks/nucleibalance.cxx @@ -1957,7 +1957,7 @@ struct Lambdastarproxy { // This bypasses the extra explicit ITS/TPC/DCA/chi2 cuts below. if (lstarOnlyGlobalTrackCuts.value != 0) { return true; - } + } if constexpr (requires { trk.itsNCls(); }) { if (lstarITSNClusters.value > 0 && trk.itsNCls() < lstarITSNClusters.value) { @@ -2434,8 +2434,8 @@ struct Lambdastarproxy { } bool passFinalCandidatePID(float pt, float nsTPC, float nsTOF, bool hasTof, - float tpcCut, float tofCut, float circularCut, - float ptRef, bool isDeuteron = false) const + float tpcCut, float tofCut, float circularCut, + float ptRef, bool isDeuteron = false) const { // Strategy 1: analysis-note style circular TPC+TOF cut if (lstarPidStrategy.value == PidStrategyCircularTPCAndTOF) {