Skip to content

Commit 6324594

Browse files
Add Lambda lifetime preselection for cascades
1 parent 5fda9dc commit 6324594

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

PWGLF/TableProducer/Strangeness/strangenessbuilder.cxx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)