diff --git a/PWGHF/Tasks/taskPidStudies.cxx b/PWGHF/Tasks/taskPidStudies.cxx index 8b905524fb0..477bc3cad6a 100644 --- a/PWGHF/Tasks/taskPidStudies.cxx +++ b/PWGHF/Tasks/taskPidStudies.cxx @@ -146,6 +146,10 @@ struct HfTaskPidStudies { Configurable massOmegaMin{"massOmegaMin", 1.5, "Minimum mass for omega"}; Configurable massOmegaMax{"massOmegaMax", 1.8, "Maximum mass for omega"}; Configurable radiusMax{"radiusMax", 2.3, "Maximum decay radius (cm)"}; + Configurable cpaMin{"cpaMin", 0.9, "Minimum value for cpa"}; + Configurable v0CpaMin{"v0CpaMin", 0.9, "Minimum value for cpa of V0 daug of casc"}; + Configurable dcaV0DaughtersMax{"dcaV0DaughtersMax", 0.9, "Max DCA for v0 daughters"}; + Configurable dcaV0ToPvMin{"dcaV0ToPvMin", 0.9, "Min DCA of the v0 wrt. PV"}; Configurable qtArmenterosMinForK0{"qtArmenterosMinForK0", 0.12, "Minimum Armenteros' qt for K0"}; Configurable qtArmenterosMaxForLambda{"qtArmenterosMaxForLambda", 0.12, "Minimum Armenteros' qt for (anti)Lambda"}; Configurable downSampleBkgFactor{"downSampleBkgFactor", 1., "Fraction of candidates to keep"}; @@ -282,6 +286,15 @@ struct HfTaskPidStudies { if (v0.v0radius() > radiusMax) { return false; } + if (v0.v0cosPA() < v0CpaMin) { + return false; + } + if (v0.dcaV0daughters() > dcaV0DaughtersMax) { + return false; + } + if (v0.dcav0topv() < dcaV0ToPvMin) { + return false; + } return true; } @@ -298,6 +311,15 @@ struct HfTaskPidStudies { if (v0.v0radius() > radiusMax) { return false; } + if (v0.v0cosPA() < v0CpaMin) { + return false; + } + if (v0.dcaV0daughters() > dcaV0DaughtersMax) { + return false; + } + if (v0.dcav0topv() < dcaV0ToPvMin) { + return false; + } return true; } @@ -313,6 +335,19 @@ struct HfTaskPidStudies { if (casc.cascradius() > radiusMax) { return false; } + const auto& coll = casc.template collision_as(); + if (casc.casccosPA(coll.posX(), coll.posY(), coll.posZ()) < cpaMin) { + return false; + } + if (casc.v0cosPA(coll.posX(), coll.posY(), coll.posZ()) < v0CpaMin) { + return false; + } + if (casc.dcaV0daughters() > dcaV0DaughtersMax) { + return false; + } + if (casc.dcav0topv(coll.posX(), coll.posY(), coll.posZ()) < dcaV0ToPvMin) { + return false; + } return true; }