@@ -1982,18 +1982,29 @@ struct StrangenessBuilder {
19821982 straHelper.cascade .bachelorMomentum [1 ] + straHelper.cascade .positiveMomentum [1 ] + straHelper.cascade .negativeMomentum [1 ],
19831983 straHelper.cascade .bachelorMomentum [2 ] + straHelper.cascade .positiveMomentum [2 ] + straHelper.cascade .negativeMomentum [2 ]);
19841984
1985+ float lV0Ptot = RecoDecay::sqrtSumOfSquares (
1986+ straHelper.cascade .positiveMomentum [0 ] + straHelper.cascade .negativeMomentum [0 ],
1987+ straHelper.cascade .positiveMomentum [1 ] + straHelper.cascade .negativeMomentum [1 ],
1988+ straHelper.cascade .positiveMomentum [2 ] + straHelper.cascade .negativeMomentum [2 ]);
1989+
19851990 float lLengthTraveled = RecoDecay::sqrtSumOfSquares (
19861991 straHelper.cascade .cascadePosition [0 ] - pvX,
19871992 straHelper.cascade .cascadePosition [1 ] - pvY,
19881993 straHelper.cascade .cascadePosition [2 ] - pvZ);
19891994
1995+ float lV0LengthTraveled = RecoDecay::sqrtSumOfSquares (
1996+ straHelper.cascade .v0Position [0 ] - straHelper.cascade .cascadePosition [0 ],
1997+ straHelper.cascade .v0Position [1 ] - straHelper.cascade .cascadePosition [1 ],
1998+ straHelper.cascade .v0Position [2 ] - straHelper.cascade .cascadePosition [2 ]);
1999+
19902000 uint8_t maskCascadePreselection = 0 ;
19912001
19922002 if ( // XiMinus PID and mass selection
19932003 straHelper.cascade .charge < 0 &&
19942004 std::abs (posTrack.tpcNSigmaPr ()) < preSelectOpts.maxTPCpidNsigma &&
19952005 std::abs (negTrack.tpcNSigmaPi ()) < preSelectOpts.maxTPCpidNsigma &&
19962006 std::abs (bachTrack.tpcNSigmaPi ()) < preSelectOpts.maxTPCpidNsigma &&
2007+ o2::constants::physics::MassLambda * lV0LengthTraveled / (lV0Ptot + 1e-13 ) < preSelectOpts.lifetimeCut ->get (" lifetimeCutLambda" ) &&
19972008 o2::constants::physics::MassXiMinus * lLengthTraveled / (lPtot + 1e-13 ) < preSelectOpts.lifetimeCut ->get (" lifetimeCutXi" ) &&
19982009 std::abs (straHelper.cascade .massXi - o2::constants::physics::MassXiMinus) < preSelectOpts.massWindownumberOfSigmas * getMassSigmaXi (lPt) + preSelectOpts.massWindowSafetyMargin ) {
19992010 BITSET (maskCascadePreselection, selXiMinus);
@@ -2004,6 +2015,7 @@ struct StrangenessBuilder {
20042015 std::abs (posTrack.tpcNSigmaPi ()) < preSelectOpts.maxTPCpidNsigma &&
20052016 std::abs (negTrack.tpcNSigmaPr ()) < preSelectOpts.maxTPCpidNsigma &&
20062017 std::abs (bachTrack.tpcNSigmaPi ()) < preSelectOpts.maxTPCpidNsigma &&
2018+ o2::constants::physics::MassLambda * lV0LengthTraveled / (lV0Ptot + 1e-13 ) < preSelectOpts.lifetimeCut ->get (" lifetimeCutLambda" ) &&
20072019 o2::constants::physics::MassXiMinus * lLengthTraveled / (lPtot + 1e-13 ) < preSelectOpts.lifetimeCut ->get (" lifetimeCutXi" ) &&
20082020 std::abs (straHelper.cascade .massXi - o2::constants::physics::MassXiMinus) < preSelectOpts.massWindownumberOfSigmas * getMassSigmaXi (lPt) + preSelectOpts.massWindowSafetyMargin ) {
20092021 BITSET (maskCascadePreselection, selXiPlus);
@@ -2014,6 +2026,7 @@ struct StrangenessBuilder {
20142026 std::abs (posTrack.tpcNSigmaPr ()) < preSelectOpts.maxTPCpidNsigma &&
20152027 std::abs (negTrack.tpcNSigmaPi ()) < preSelectOpts.maxTPCpidNsigma &&
20162028 std::abs (bachTrack.tpcNSigmaKa ()) < preSelectOpts.maxTPCpidNsigma &&
2029+ o2::constants::physics::MassLambda * lV0LengthTraveled / (lV0Ptot + 1e-13 ) < preSelectOpts.lifetimeCut ->get (" lifetimeCutLambda" ) &&
20172030 o2::constants::physics::MassOmegaMinus * lLengthTraveled / (lPtot + 1e-13 ) < preSelectOpts.lifetimeCut ->get (" lifetimeCutOmega" ) &&
20182031 std::abs (straHelper.cascade .massOmega - o2::constants::physics::MassOmegaMinus) < preSelectOpts.massWindownumberOfSigmas * getMassSigmaOmega (lPt) + preSelectOpts.massWindowSafetyMargin ) {
20192032 BITSET (maskCascadePreselection, selOmegaMinus);
@@ -2024,6 +2037,7 @@ struct StrangenessBuilder {
20242037 std::abs (posTrack.tpcNSigmaPi ()) < preSelectOpts.maxTPCpidNsigma &&
20252038 std::abs (negTrack.tpcNSigmaPr ()) < preSelectOpts.maxTPCpidNsigma &&
20262039 std::abs (bachTrack.tpcNSigmaKa ()) < preSelectOpts.maxTPCpidNsigma &&
2040+ o2::constants::physics::MassLambda * lV0LengthTraveled / (lV0Ptot + 1e-13 ) < preSelectOpts.lifetimeCut ->get (" lifetimeCutLambda" ) &&
20272041 o2::constants::physics::MassOmegaMinus * lLengthTraveled / (lPtot + 1e-13 ) < preSelectOpts.lifetimeCut ->get (" lifetimeCutOmega" ) &&
20282042 std::abs (straHelper.cascade .massOmega - o2::constants::physics::MassOmegaMinus) < preSelectOpts.massWindownumberOfSigmas * getMassSigmaOmega (lPt) + preSelectOpts.massWindowSafetyMargin ) {
20292043 BITSET (maskCascadePreselection, selOmegaPlus);
0 commit comments