@@ -288,6 +288,7 @@ constexpr float massJPsi = o2::constants::physics::MassJPsi;
288288
289289static const o2::framework::AxisSpec ptAxis{50 , 0 .f , 50 .f };
290290static const o2::framework::AxisSpec pAxis{50 , 0 .f , 10 .f };
291+ static const o2::framework::AxisSpec ctAxis{300 , 0 .f , 0 .3f };
291292static const o2::framework::AxisSpec kstarAxis{200 , 0 .f , 2 .f };
292293static const o2::framework::AxisSpec etaAxis{30 , -1 .5f , 1 .5f };
293294static const o2::framework::AxisSpec nSigmaAxis{100 , -10 .f , 10 .f };
@@ -718,7 +719,7 @@ class HfFilterHelper
718719 template <typename T, typename C, typename H2>
719720 bool isSelectedXiBach (T const & trackParCasc, T const & trackParBachelor, int8_t isSelBachelor, C const & collision, o2::vertexing::DCAFitterN<2 >& dcaFitter, const int & activateQA, H2 hMassVsPtXiPi, H2 hMassVsPtXiKa);
720721 template <int Nprongs, typename T, typename C, typename H2>
721- bool isSelectedXiBachBach (T const & trackParCasc, std::array<T, 2 > const & trackParBachelor, C const & collision, o2::vertexing::DCAFitterN<Nprongs>& dcaFitter, const int & activateQA, H2 hMassVsPtXiPiPi);
722+ bool isSelectedXiBachBach (T const & trackParCasc, std::array<T, 2 > const & trackParBachelor, C const & collision, o2::vertexing::DCAFitterN<Nprongs>& dcaFitter, const int & activateQA, H2 hMassVsPtXiPiPi, H2 hMassVsCtXiPiPi );
722723 template <bool is4ThetaC = false , typename T>
723724 bool isSelectedProtonFromLcResoOrThetaC (const T& track);
724725 // helpers
@@ -2506,8 +2507,9 @@ inline bool HfFilterHelper::isSelectedXiBach(T const& trackParCasc, T const& tra
25062507// / \param dcaFitter is the DCAFitter
25072508// / \param activateQA is the flag to activate the QA
25082509// / \param hMassVsPtXiPiPi is the 2D histogram with pT vs mass(XiPiPi)
2510+ // / \param hMassVsCtXiPiPi is the 2D histogram with ct vs mass(XiPiPi)
25092511template <int Nprongs, typename T, typename C, typename H2>
2510- inline bool HfFilterHelper::isSelectedXiBachBach (T const & trackParCasc, std::array<T, 2 > const & trackParBachelor, C const & collision, o2::vertexing::DCAFitterN<Nprongs>& dcaFitter, const int & activateQA, H2 hMassVsPtXiPiPi)
2512+ inline bool HfFilterHelper::isSelectedXiBachBach (T const & trackParCasc, std::array<T, 2 > const & trackParBachelor, C const & collision, o2::vertexing::DCAFitterN<Nprongs>& dcaFitter, const int & activateQA, H2 hMassVsPtXiPiPi, H2 hMassVsCtXiPiPi )
25112513{
25122514 // compute pT
25132515 std::array<float , 3 > pVecBachelorFirst{}, pVecBachelorSecond{}, pVecCascade{};
@@ -2570,13 +2572,15 @@ inline bool HfFilterHelper::isSelectedXiBachBach(T const& trackParCasc, std::arr
25702572 if (RecoDecay::cpa (primVtx, std::array{vtx[0 ], vtx[1 ], vtx[2 ]}, momXiBachBach) < mCosPaMinXiBach [1 ]) {
25712573 return false ;
25722574 }
2573-
2574- if (RecoDecay::distance (primVtx, vtx) < mDecLenMinXiBach [1 ]) {
2575+ auto decLenXiBachBach = RecoDecay::distance (primVtx, vtx);
2576+ if (decLenXiBachBach < mDecLenMinXiBach [1 ]) {
25752577 return false ;
25762578 }
25772579
2580+ auto ctXiBachBach = RecoDecay::ct (momXiBachBach, decLenXiBachBach, massXic);
25782581 if (activateQA) {
25792582 hMassVsPtXiPiPi->Fill (ptXiBachBach, massXiPiPi);
2583+ hMassVsCtXiPiPi->Fill (ctXiBachBach, massXiPiPi);
25802584 }
25812585 }
25822586
0 commit comments