@@ -180,10 +180,10 @@ struct HfHelper {
180180 if (useJpsiPdgMass) {
181181 return RecoDecay::m (std::array{RecoDecay::pVec (pVecMuPos, pVecMuNeg), pVecKa},
182182 std::array{o2::constants::physics::MassJPsi, o2::constants::physics::MassKPlus});
183- } else {
184- return RecoDecay::m (std::array{pVecMuPos, pVecMuNeg, pVecKa},
185- std::array{o2::constants::physics::MassMuon, o2::constants::physics::MassMuon, o2::constants::physics::MassKPlus});
186183 }
184+ // Do not use PDG mass for J/psi
185+ return RecoDecay::m (std::array{pVecMuPos, pVecMuNeg, pVecKa},
186+ std::array{o2::constants::physics::MassMuon, o2::constants::physics::MassMuon, o2::constants::physics::MassKPlus});
187187 }
188188
189189 template <typename T>
@@ -695,23 +695,25 @@ struct HfHelper {
695695 template <typename T>
696696 static auto invMassBsToJpsiPhi (const T& candidate, const bool useJpsiPdgMass, const bool usePhiPdgMass)
697697 {
698- const std::array pVecMuPos{candidate. pxProng0 (), candidate. pyProng0 (), candidate.pzProng0 ()} ;
699- const std::array pVecMuNeg{candidate. pxProng1 (), candidate. pyProng1 (), candidate.pzProng1 ()} ;
700- const std::array pVecKaPos{candidate. pxProng2 (), candidate. pyProng2 (), candidate.pzProng2 ()} ;
701- const std::array pVecKaNeg{candidate. pxProng3 (), candidate. pyProng3 (), candidate.pzProng3 ()} ;
698+ auto const pVecMuPos = candidate.pVectorProng0 () ;
699+ auto const pVecMuNeg = candidate.pVectorProng1 () ;
700+ auto const pVecKaPos = candidate.pVectorProng2 () ;
701+ auto const pVecKaNeg = candidate.pVectorProng3 () ;
702702 if (useJpsiPdgMass && usePhiPdgMass) {
703703 return RecoDecay::m (std::array{RecoDecay::pVec (pVecMuPos, pVecMuNeg), RecoDecay::pVec (pVecKaPos, pVecKaNeg)},
704704 std::array{o2::constants::physics::MassJPsi, o2::constants::physics::MassPhi});
705- } else if (useJpsiPdgMass && !usePhiPdgMass) {
705+ }
706+ if (useJpsiPdgMass && !usePhiPdgMass) {
706707 return RecoDecay::m (std::array{RecoDecay::pVec (pVecMuPos, pVecMuNeg), pVecKaPos, pVecKaNeg},
707708 std::array{o2::constants::physics::MassJPsi, o2::constants::physics::MassKPlus, o2::constants::physics::MassKPlus});
708- } else if (!useJpsiPdgMass && usePhiPdgMass) {
709+ }
710+ if (!useJpsiPdgMass && usePhiPdgMass) {
709711 return RecoDecay::m (std::array{pVecMuPos, pVecMuNeg, RecoDecay::pVec (pVecKaPos, pVecKaNeg)},
710712 std::array{o2::constants::physics::MassMuon, o2::constants::physics::MassMuon, o2::constants::physics::MassPhi});
711- } else {
712- return RecoDecay::m (std::array{pVecMuPos, pVecMuNeg, pVecKaPos, pVecKaNeg},
713- std::array{o2::constants::physics::MassMuon, o2::constants::physics::MassMuon, o2::constants::physics::MassKPlus, o2::constants::physics::MassKPlus});
714713 }
714+ // Do not use PDG mass for either J/psi or phi
715+ return RecoDecay::m (std::array{pVecMuPos, pVecMuNeg, pVecKaPos, pVecKaNeg},
716+ std::array{o2::constants::physics::MassMuon, o2::constants::physics::MassMuon, o2::constants::physics::MassKPlus, o2::constants::physics::MassKPlus});
715717 }
716718
717719 template <typename T>
@@ -937,9 +939,9 @@ struct HfHelper {
937939 {
938940 auto ptCandBp = candBp.pt ();
939941 auto mCandBp = invMassBplusToJpsiK (candBp, useJpsiPdgMass);
940- std::array< float , 3 > const pVecMu0 = { candBp.pxProng0 (), candBp. pyProng0 (), candBp. pzProng0 ()} ;
941- std::array< float , 3 > const pVecMu1 = { candBp.pxProng1 (), candBp. pyProng1 (), candBp. pzProng1 ()} ;
942- std::array< float , 3 > const pVecKa = { candBp.pxProng2 (), candBp. pyProng2 (), candBp. pzProng2 ()} ;
942+ auto const pVecMu0 = candBp.pVectorProng0 () ;
943+ auto const pVecMu1 = candBp.pVectorProng1 () ;
944+ auto const pVecKa = candBp.pVectorProng2 () ;
943945 auto ptJpsi = RecoDecay::pt (pVecMu0, pVecMu1);
944946 auto ptKa = RecoDecay::pt (pVecKa);
945947 auto candJpsi = candBp.jpsi ();
@@ -1127,10 +1129,10 @@ struct HfHelper {
11271129 {
11281130 auto ptCandBs = candBs.pt ();
11291131 auto mCandBs = invMassBsToJpsiPhi (candBs, useJpsiPdgMass, usePhiPdgMass);
1130- std::array< float , 3 > const pVecMu0 = { candBs.pxProng0 (), candBs. pyProng0 (), candBs. pzProng0 ()} ;
1131- std::array< float , 3 > const pVecMu1 = { candBs.pxProng1 (), candBs. pyProng1 (), candBs. pzProng1 ()} ;
1132- std::array< float , 3 > const pVecKa0 = { candBs.pxProng2 (), candBs. pyProng2 (), candBs. pzProng2 ()} ;
1133- std::array< float , 3 > const pVecKa1 = { candBs.pxProng3 (), candBs. pyProng3 (), candBs. pzProng3 ()} ;
1132+ auto const pVecMu0 = candBs.pVectorProng0 () ;
1133+ auto const pVecMu1 = candBs.pVectorProng1 () ;
1134+ auto const pVecKa0 = candBs.pVectorProng2 () ;
1135+ auto const pVecKa1 = candBs.pVectorProng3 () ;
11341136 auto mCandPhi = RecoDecay::m (std::array{pVecKa0, pVecKa1}, std::array{o2::constants::physics::MassKPlus, o2::constants::physics::MassKPlus});
11351137 auto ptJpsi = RecoDecay::pt (pVecMu0, pVecMu1);
11361138 auto ptKa0 = RecoDecay::pt (pVecKa0);
0 commit comments