@@ -296,7 +296,13 @@ struct Alice3strangenessFinder {
296296 std::array{v0cand.pDau1 [0 ], v0cand.pDau1 [1 ], v0cand.pDau1 [2 ]}},
297297 std::array{o2::constants::physics::MassProton, o2::constants::physics::MassPionCharged});
298298
299- if (std::abs (lambdaMassHypothesis - o2::constants::physics::MassLambda0) > acceptedLambdaMassWindow) {
299+ const float antiLambdaMassHypothesis = RecoDecay::m (std::array{std::array{v0cand.pDau0 [0 ], v0cand.pDau0 [1 ], v0cand.pDau0 [2 ]},
300+ std::array{v0cand.pDau1 [0 ], v0cand.pDau1 [1 ], v0cand.pDau1 [2 ]}},
301+ std::array{o2::constants::physics::MassPionCharged, o2::constants::physics::MassProton});
302+
303+ const bool inLambdaMassWindow = std::abs (lambdaMassHypothesis - o2::constants::physics::MassLambda0) > acceptedLambdaMassWindow;
304+ const bool inAntiLambdaMassWindow = std::abs (antiLambdaMassHypothesis - o2::constants::physics::MassLambda0) > acceptedLambdaMassWindow;
305+ if (inLambdaMassWindow || inAntiLambdaMassWindow) {
300306 continue ; // Likely not a lambda, should not be considered for cascade building
301307 }
302308
@@ -305,6 +311,14 @@ struct Alice3strangenessFinder {
305311 continue ; // avoid using any track that was already used
306312 }
307313
314+ if (inLambdaMassWindow && bachTrack.sign () > 0 ) {
315+ continue ; // only consider lambda and neg bach track
316+ }
317+
318+ if (inAntiLambdaMassWindow && bachTrack.sign () < 0 ) {
319+ continue ; // only consider anti-lambda and pos bach track
320+ }
321+
308322 // TODO mc same mother check
309323
310324 Candidate cascCand;
0 commit comments