From 2b210e0e3a92f166ee3f509a962cf8eb12fa0e5b Mon Sep 17 00:00:00 2001 From: yuanzhe Date: Fri, 8 Aug 2025 16:35:35 +0200 Subject: [PATCH 1/2] Fix TOF PID selection and decay mode check for hypertriton kink analysis --- PWGLF/TableProducer/Nuspex/hyperkinkRecoTask.cxx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/PWGLF/TableProducer/Nuspex/hyperkinkRecoTask.cxx b/PWGLF/TableProducer/Nuspex/hyperkinkRecoTask.cxx index 9614d561dc0..21946344092 100644 --- a/PWGLF/TableProducer/Nuspex/hyperkinkRecoTask.cxx +++ b/PWGLF/TableProducer/Nuspex/hyperkinkRecoTask.cxx @@ -142,9 +142,9 @@ struct H3LDecay { if ((haveTriton && havePion0) || (haveAntiTriton && havePion0)) { return H3LDecay::k2bodyNeutral; - } else if ((haveHelium3 && havePion0) || (haveAntiHelium3 && havePion0)) { + } else if ((haveHelium3 && havePionMinus) || (haveAntiHelium3 && havePionPlus)) { return H3LDecay::k2bodyCharged; - } else if ((haveDeuteron && haveProton && havePionPlus) || (haveAntiDeuteron && haveAntiProton && havePionMinus)) { + } else if ((haveDeuteron && haveProton && havePionMinus) || (haveAntiDeuteron && haveAntiProton && havePionPlus)) { return H3LDecay::k3bodyCharged; } else { return kNChannel; @@ -408,6 +408,7 @@ struct HyperkinkRecoTask { Configurable maxZVertex{"maxZVertex", 10.0f, "Accepted z-vertex range (cm)"}; Configurable cutTPCNSigmaDaug{"cutTPCNSigmaDaug", 5, "TPC NSigma cut for daughter tracks"}; Configurable cutTOFNSigmaDaug{"cutTOFNSigmaDaug", 1000, "TOF NSigma cut for daughter tracks"}; + Configurable askTOFForDaug{"askTOFforDaug", false, "If true, ask for TOF signal"}; // CCDB options Configurable inputBz{"inputBz", -999, "bz field, -999 is automatic"}; @@ -671,7 +672,7 @@ struct HyperkinkRecoTask { auto originalDaugCol = daugTrack.collision_as(); nSigmaTOF = getTOFNSigma(mRespParamsV3, daugTrack, collision, originalDaugCol); } - if (std::abs(nSigmaTOF) > cutTOFNSigmaDaug) { + if ((daugTrack.hasTOF() || askTOFForDaug) && std::abs(nSigmaTOF) > cutTOFNSigmaDaug) { continue; } @@ -793,7 +794,7 @@ struct HyperkinkRecoTask { registry.fill(HIST("hDaugNewTOFNSigma_WrongCol"), nSigmaTOF); } } - if (std::abs(nSigmaTOF) > cutTOFNSigmaDaug) { + if ((daugTrack.hasTOF() || askTOFForDaug) && std::abs(nSigmaTOF) > cutTOFNSigmaDaug) { continue; } registry.fill(HIST("hCandidateCounter"), 3); From 856b8cb5b4dcfb8b2ec83d4a593bbd0e7251da8d Mon Sep 17 00:00:00 2001 From: yuanzhe Date: Fri, 8 Aug 2025 16:52:54 +0200 Subject: [PATCH 2/2] Fix o2linter error --- PWGLF/TableProducer/Nuspex/hyperkinkRecoTask.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGLF/TableProducer/Nuspex/hyperkinkRecoTask.cxx b/PWGLF/TableProducer/Nuspex/hyperkinkRecoTask.cxx index 21946344092..4c7ac865c18 100644 --- a/PWGLF/TableProducer/Nuspex/hyperkinkRecoTask.cxx +++ b/PWGLF/TableProducer/Nuspex/hyperkinkRecoTask.cxx @@ -408,7 +408,7 @@ struct HyperkinkRecoTask { Configurable maxZVertex{"maxZVertex", 10.0f, "Accepted z-vertex range (cm)"}; Configurable cutTPCNSigmaDaug{"cutTPCNSigmaDaug", 5, "TPC NSigma cut for daughter tracks"}; Configurable cutTOFNSigmaDaug{"cutTOFNSigmaDaug", 1000, "TOF NSigma cut for daughter tracks"}; - Configurable askTOFForDaug{"askTOFforDaug", false, "If true, ask for TOF signal"}; + Configurable askTOFForDaug{"askTOFForDaug", false, "If true, ask for TOF signal"}; // CCDB options Configurable inputBz{"inputBz", -999, "bz field, -999 is automatic"};