@@ -59,6 +59,31 @@ using namespace o2::framework;
5959using namespace o2 ::framework::expressions;
6060using namespace o2 ::soa;
6161
62+ // Compute the competing mass under the K0s (pi+, pi-) hypothesis.
63+ template <typename T>
64+ static double getK0sCompetingMass (T const & v0)
65+ {
66+ const ROOT ::Math::PtEtaPhiMVector lambda (
67+ v0.lambdaPt (), v0.lambdaEta (), v0.lambdaPhi (), v0.lambdaMass ());
68+
69+ const ROOT ::Math::PtEtaPhiMVector posDaugh (
70+ v0.protonPt (), v0.protonEta (), v0.protonPhi (),
71+ o2::constants::physics::MassProton);
72+
73+ const auto negDaugh = lambda - posDaugh; // 反推 neg
74+
75+ //
76+ const ROOT ::Math::PtEtaPhiMVector pi1 (
77+ posDaugh.Pt (), posDaugh.Eta (), posDaugh.Phi (),
78+ o2::constants::physics::MassPionCharged);
79+
80+ const ROOT ::Math::PtEtaPhiMVector pi2 (
81+ negDaugh.Pt (), negDaugh.Eta (), negDaugh.Phi (),
82+ o2::constants::physics::MassPionCharged);
83+
84+ return (pi1 + pi2).M ();
85+ }
86+
6287template <typename Container, typename SelectionFunc>
6388static std::vector<int64_t > getCleanCandidateIndices (
6489 const Container& candidates,
@@ -388,6 +413,9 @@ struct lambdaspincorrderived {
388413 Configurable<float > dcaV0ToPV{" dcaV0ToPV" , 1.2 , " DCA V0 to PV cut on lambda" };
389414 Configurable<float > v0etaMixBuffer{" v0etaMixBuffer" , 0.5 , " Eta cut on mix event buffer" };
390415
416+ Configurable<bool > useK0sRejection{" useK0sRejection" , true , " Apply K0s competing mass rejection" };
417+ Configurable<float > confK0sMassWindow{" confK0sMassWindow" , 0 .01f , " K0s competing mass rejection window (GeV/c^2)" };
418+
391419 } v0Configurations;
392420
393421 // Event Mixing
@@ -896,6 +924,12 @@ struct lambdaspincorrderived {
896924 if (candidate.lambdaPt () > ptMax) {
897925 return false ;
898926 }
927+ if (v0Configurations.useK0sRejection ) {
928+ const double mK0s = getK0sCompetingMass (candidate);
929+ if (std::abs (mK0s - o2::constants::physics::MassK0Short) < v0Configurations.confK0sMassWindow ) {
930+ return false ;
931+ }
932+ }
899933
900934 return true ;
901935 }
0 commit comments