From c97df79cebcbae66157e9ab46d2f46d65716e347 Mon Sep 17 00:00:00 2001 From: creetz16 Date: Fri, 10 Jul 2026 12:16:07 +0200 Subject: [PATCH] Update LF strangenessbuilder KF cascade building to always store unconstrained V0 and cascade masses --- PWGLF/Utils/strangenessBuilderHelper.h | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/PWGLF/Utils/strangenessBuilderHelper.h b/PWGLF/Utils/strangenessBuilderHelper.h index c6e2674079d..0246e555f65 100644 --- a/PWGLF/Utils/strangenessBuilderHelper.h +++ b/PWGLF/Utils/strangenessBuilderHelper.h @@ -1059,6 +1059,11 @@ class strangenessBuilderHelper return false; } + // Calculate V0 mass before mass constraint + float MLambda, SigmaLambda; + KFV0.GetMass(MLambda, SigmaLambda); + cascade.kfMLambda = MLambda; + if (kfUseV0MassConstraint) { KFV0.SetNonlinearMassConstraint(o2::constants::physics::MassLambda); } @@ -1117,9 +1122,20 @@ class strangenessBuilderHelper cascade = {}; return false; } + + // Calculate masses a priori before potentially applying mass constraint + // --> this is the invariant mass of the decay products, not the mass-constrained value + float MXi, SigmaXi, MOmega, SigmaOmega; + KFXi.GetMass(MXi, SigmaXi); + KFOmega.GetMass(MOmega, SigmaOmega); + cascade.massXi = MXi; + cascade.massOmega = MOmega; + if (kfUseCascadeMassConstraint) { // set mass constraint if requested // WARNING: this is only adequate for decay chains, i.e. XiC -> Xi or OmegaC -> Omega + // WARNING: be aware of the fact that if enabled, the stored particle momentum and covariance matrix will be mass-constrained + // while the stored mass will be the invariant mass of the decay products (i.e. not mass-constrained) KFXi.SetNonlinearMassConstraint(o2::constants::physics::MassXiMinus); KFOmega.SetNonlinearMassConstraint(o2::constants::physics::MassOmegaMinus); } @@ -1215,15 +1231,6 @@ class strangenessBuilderHelper } cascade.pointingAngle = TMath::ACos(cosPA); - // Calculate masses a priori - float MLambda, SigmaLambda, MXi, SigmaXi, MOmega, SigmaOmega; - KFV0.GetMass(MLambda, SigmaLambda); - KFXi.GetMass(MXi, SigmaXi); - KFOmega.GetMass(MOmega, SigmaOmega); - cascade.kfMLambda = MLambda; - cascade.massXi = MXi; - cascade.massOmega = MOmega; - // KF Cascade covariance matrix std::array covCascKF; for (int i = 0; i < 21; i++) { // get covariance matrix elements (lower triangle)