@@ -185,6 +185,7 @@ struct cascadeFlow {
185185
186186 // Output filling criteria
187187 struct : ConfigurableGroup {
188+ Configurable<bool > isFillNominalMass{" isFillNominalMass" , 1 , " " };
188189 Configurable<bool > isFillTree{" isFillTree" , 1 , " " };
189190 Configurable<bool > isFillTreeFull{" isFillTreeFull" , 0 , " " };
190191 Configurable<bool > isFillTHNXi{" isFillTHNXi" , 1 , " " };
@@ -702,7 +703,12 @@ struct cascadeFlow {
702703 double masses[nParticles]{o2::constants::physics::MassXiMinus, o2::constants::physics::MassOmegaMinus};
703704 ROOT ::Math::PxPyPzMVector cascadeVector[nParticles], lambdaVector, protonVector;
704705 float cosThetaStarLambda[nParticles], cosThetaStarProton;
705- lambdaVector.SetCoordinates (casc.pxlambda (), casc.pylambda (), casc.pzlambda (), o2::constants::physics::MassLambda);
706+
707+ double massLambda = casc.mLambda ();
708+ if (fillingConfigs.isFillNominalMass )
709+ massLambda = o2::constants::physics::MassLambda;
710+
711+ lambdaVector.SetCoordinates (casc.pxlambda (), casc.pylambda (), casc.pzlambda (), massLambda);
706712 ROOT ::Math::Boost lambdaBoost{lambdaVector.BoostToCM ()};
707713 if (casc.sign () > 0 ) {
708714 protonVector.SetCoordinates (casc.pxneg (), casc.pyneg (), casc.pzneg (), o2::constants::physics::MassProton);
@@ -1468,7 +1474,12 @@ struct cascadeFlow {
14681474 double masses[2 ]{o2::constants::physics::MassXiMinus, o2::constants::physics::MassOmegaMinus};
14691475 ROOT ::Math::PxPyPzMVector cascadeVector[2 ], lambdaVector, protonVector;
14701476 float cosThetaStarLambda[2 ], cosThetaStarProton;
1471- lambdaVector.SetCoordinates (casc.pxlambda (), casc.pylambda (), casc.pzlambda (), o2::constants::physics::MassLambda);
1477+
1478+ double massLambda = casc.mLambda ();
1479+ if (fillingConfigs.isFillNominalMass )
1480+ massLambda = o2::constants::physics::MassLambda;
1481+
1482+ lambdaVector.SetCoordinates (casc.pxlambda (), casc.pylambda (), casc.pzlambda (), massLambda);
14721483 ROOT ::Math::Boost lambdaBoost{lambdaVector.BoostToCM ()};
14731484 if (casc.sign () > 0 ) {
14741485 protonVector.SetCoordinates (casc.pxneg (), casc.pyneg (), casc.pzneg (), o2::constants::physics::MassProton);
@@ -1788,7 +1799,12 @@ struct cascadeFlow {
17881799 double masses[nParticles]{o2::constants::physics::MassXiMinus, o2::constants::physics::MassOmegaMinus};
17891800 ROOT ::Math::PxPyPzMVector cascadeVector[nParticles], lambdaVector, protonVector;
17901801 float cosThetaStarLambda[nParticles], cosThetaStarProton;
1791- lambdaVector.SetCoordinates (casc.pxlambda (), casc.pylambda (), casc.pzlambda (), o2::constants::physics::MassLambda);
1802+
1803+ double massLambda = casc.mLambda ();
1804+ if (fillingConfigs.isFillNominalMass )
1805+ massLambda = o2::constants::physics::MassLambda;
1806+
1807+ lambdaVector.SetCoordinates (casc.pxlambda (), casc.pylambda (), casc.pzlambda (), massLambda);
17921808 ROOT ::Math::Boost lambdaBoost{lambdaVector.BoostToCM ()};
17931809 if (casc.sign () > 0 ) {
17941810 protonVector.SetCoordinates (casc.pxneg (), casc.pyneg (), casc.pzneg (), o2::constants::physics::MassProton);
@@ -2176,7 +2192,10 @@ struct cascadeFlow {
21762192 ROOT ::Math::XYZVector lambdaUvec{std::cos (v0.phi ()), std::sin (v0.phi ()), 0 };
21772193
21782194 // polarization variables
2179- double massLambda = o2::constants::physics::MassLambda;
2195+ double massLambda = v0.mLambda ();
2196+ if (fillingConfigs.isFillNominalMass )
2197+ massLambda = o2::constants::physics::MassLambda;
2198+
21802199 float cosThetaStarProton[nCharges];
21812200 ROOT ::Math::PxPyPzMVector lambdaVector, protonVector[nCharges];
21822201 lambdaVector.SetCoordinates (v0.px (), v0.py (), v0.pz (), massLambda);
0 commit comments