From 3bdb3e70b8ba1bb067f8294c22b8c9b8311de2e6 Mon Sep 17 00:00:00 2001 From: Yakiv Date: Sat, 22 Nov 2025 16:49:03 +0100 Subject: [PATCH] Fix dca determination for tracked cascades --- PWGLF/Tasks/Strangeness/strangeCascTrack.cxx | 22 +++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/PWGLF/Tasks/Strangeness/strangeCascTrack.cxx b/PWGLF/Tasks/Strangeness/strangeCascTrack.cxx index 2f03174760e..4274ca7a8cc 100644 --- a/PWGLF/Tasks/Strangeness/strangeCascTrack.cxx +++ b/PWGLF/Tasks/Strangeness/strangeCascTrack.cxx @@ -283,18 +283,24 @@ struct StrangeCascTrack { return false; return true; } - // checks general selection criteria for cascades + // checks general selection criteria for cascades - from std casc template - bool isValidCasc(TEvent collision, TCascade cascade, TString particle) + bool isValidCascGen(TEvent collision, TCascade cascade) { - if (cascade.dcaXYCascToPV() > selCuts.cutDCAtoPVxy) - return false; - if (cascade.dcaZCascToPV() > selCuts.cutDCAtoPVz) - return false; if (cascade.v0cosPA(collision.posX(), collision.posY(), collision.posZ()) < selCuts.cutV0CosPA) return false; if (cascade.bachBaryonCosPA() < selCuts.cutBachCosPA) return false; + return true; + } + // checks general selection criteria for cascades - from std or tracked casc + template + bool isValidCascSpec(TCascade cascade, TString particle) + { + if (cascade.dcaXYCascToPV() > selCuts.cutDCAtoPVxy) + return false; + if (cascade.dcaZCascToPV() > selCuts.cutDCAtoPVz) + return false; ROOT::Math::PxPyPzMVector momentum; if (particle == "xi") momentum.SetCoordinates(cascade.px(), cascade.py(), cascade.pz(), o2::constants::physics::MassXiMinus); @@ -603,11 +609,11 @@ struct StrangeCascTrack { } } if (doApplyGenCutsXi) { - if (!isValidCasc(collision, stdCasc, "xi")) + if (!isValidCascGen(collision, stdCasc) || !isValidCascSpec(cascade, "xi")) passedAllSelsXi = false; } if (doApplyGenCutsOmega) { - if (!isValidCasc(collision, stdCasc, "omega")) + if (!isValidCascGen(collision, stdCasc) || !isValidCascSpec(cascade, "omega")) passedAllSelsOmega = false; } // apply pt cuts