diff --git a/PWGLF/TableProducer/Nuspex/hyperkinkRecoTask.cxx b/PWGLF/TableProducer/Nuspex/hyperkinkRecoTask.cxx index 9614d561dc0..4c7ac865c18 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);