@@ -285,7 +285,7 @@ static const o2::framework::AxisSpec qtAxis{100, 0.f, 0.25f};
285285static const o2::framework::AxisSpec bdtAxis{100 , 0 .f , 1 .f };
286286static const o2::framework::AxisSpec phiAxis{36 , 0 ., o2::constants::math::TwoPI};
287287static const std::array<o2::framework::AxisSpec, kNCharmParticles + 23> massAxisC = {o2::framework::AxisSpec{250, 1.65f, 2.15f}, o2::framework::AxisSpec{250, 1.65f, 2.15f}, o2::framework::AxisSpec{250, 1.75f, 2.25f}, o2::framework::AxisSpec{250, 2.05f, 2.55f}, o2::framework::AxisSpec{250, 2.25f, 2.75f}, o2::framework::AxisSpec{200, 0.139f, 0.159f}, o2::framework::AxisSpec{250, 0.f, 0.25f}, o2::framework::AxisSpec{250, 0.f, 0.25f}, o2::framework::AxisSpec{200, 0.48f, 0.88f}, o2::framework::AxisSpec{200, 0.48f, 0.88f}, o2::framework::AxisSpec{200, 1.1f, 1.4f}, o2::framework::AxisSpec{200, 1.1f, 1.4f}, o2::framework::AxisSpec{200, 1.1f, 1.4f}, o2::framework::AxisSpec{200, 1.1f, 1.4f}, o2::framework::AxisSpec{170, 0.13f, 0.3f}, o2::framework::AxisSpec{170, 0.13f, 0.3f}, o2::framework::AxisSpec{200, 0.4f, 0.8f}, o2::framework::AxisSpec{200, 0.4f, 0.8f}, o2::framework::AxisSpec{200, 0.4f, 0.8f}, o2::framework::AxisSpec{200, 0.4f, 0.8f}, o2::framework::AxisSpec{350, 2.3f, 3.0f}, o2::framework::AxisSpec{350, 2.3f, 3.0f}, o2::framework::AxisSpec{350, 2.3f, 3.0f}, o2::framework::AxisSpec{240, 2.4f, 3.6f}, o2::framework::AxisSpec{300, 0.7f, 1.3f}, o2::framework::AxisSpec{300, 0.7f, 1.3f}, o2::framework::AxisSpec{300, 0.7f, 1.3f}, o2::framework::AxisSpec{300, 0.7f, 1.3f}};
288- static const std::array<o2::framework::AxisSpec, nTotBeautyParts> massAxisB = {o2::framework::AxisSpec{500 , 4 .2f , 6 .2f }, o2::framework::AxisSpec{500 , 4 .2f , 6 .2f }, o2::framework::AxisSpec{500 , 4 .2f , 6 .2f }, o2::framework::AxisSpec{500 , 4 .2f , 6 .2f }, o2::framework::AxisSpec{240 , 5 .0f , 6 .2f }, o2::framework::AxisSpec{500 , 4 .2f , 6 .2f }, o2::framework::AxisSpec{500 , 4 .2f , 6 .2f }, o2::framework::AxisSpec{500 , 4 .2f , 6 .2f }, o2::framework::AxisSpec{500 , 4 .2f , 6 .2f }, o2::framework::AxisSpec{240 , 5 .0f , 6 .2f }, o2::framework::AxisSpec{240 , 5 .8f , 7 .0f }};
288+ static const std::array<o2::framework::AxisSpec, nTotBeautyParts> massAxisB = {o2::framework::AxisSpec{500 , 4 .2f , 6 .2f }, o2::framework::AxisSpec{500 , 4 .2f , 6 .2f }, o2::framework::AxisSpec{500 , 4 .2f , 6 .2f }, o2::framework::AxisSpec{500 , 4 .4f , 6 .4f }, o2::framework::AxisSpec{400 , 5 .0f , 6 .6f }, o2::framework::AxisSpec{500 , 4 .2f , 6 .2f }, o2::framework::AxisSpec{500 , 4 .2f , 6 .2f }, o2::framework::AxisSpec{500 , 4 .2f , 6 .2f }, o2::framework::AxisSpec{500 , 4 .2f , 6 .2f }, o2::framework::AxisSpec{400 , 5 .0f , 6 .6f }, o2::framework::AxisSpec{240 , 5 .8f , 7 .0f }};
289289
290290// default values for configurables
291291// channels to trigger on for femto
@@ -361,8 +361,8 @@ static const std::vector<std::string> labelsColumnsV0s = {"CosPaGamma", "CosPaK0
361361// cascades for Xi + bachelor triggers
362362constexpr float cutsCascades[1 ][8 ] = {{0.2 , 1 ., 0.01 , 0.01 , 0.99 , 0.99 , 0.3 , 3 .}}; // ptXiBachelor, deltaMassXi, deltaMassLambda, cosPaXi, cosPaLambda, DCAxyXi, nSigmaPid
363363static const std::vector<std::string> labelsColumnsCascades = {" PtBachelor" , " PtXi" , " DeltaMassXi" , " DeltaMassLambda" , " CosPAXi" , " CosPaLambda" , " DCAxyXi" , " NsigmaPid" };
364- constexpr float cutsCharmBaryons[1 ][8 ] = {{5 ., 5 ., 1000 ., 2.35 , 2.60 , 2.35 , -2 ., -2 .}}; // MinPtXiPi, MinPtXiKa, MinPtXiPiPi, MinMassXiPi, MinMassXiKa, MinMassXiPiPi, CosPaXiBach, CosPaXiBachBach
365- static const std::vector<std::string> labelsColumnsCharmBarCuts = {" MinPtXiPi" , " MinPtXiKa" , " MinPtXiPiPi" , " MinMassXiPi" , " MinMassXiKa" , " MinMassXiPiPi" , " CosPaXiBach" , " CosPaXiBachBach" };
364+ constexpr float cutsCharmBaryons[1 ][11 ] = {{5 ., 5 ., 1000 ., 2.35 , 2.60 , 2.35 , 3 ., 3 ., 2.7 , -2 ., -2 .}}; // MinPtXiPi, MinPtXiKa, MinPtXiPiPi, MinMassXiPi, MinMassXiKa, MinMassXiPiPi, MaxMassXiPi, MaxMassXiKa, MaxMassXiPiPi , CosPaXiBach, CosPaXiBachBach
365+ static const std::vector<std::string> labelsColumnsCharmBarCuts = {" MinPtXiPi" , " MinPtXiKa" , " MinPtXiPiPi" , " MinMassXiPi" , " MinMassXiKa" , " MinMassXiPiPi" , " MaxMassXiPi " , " MaxMassXiKa " , " MaxMassXiPiPi " , " CosPaXiBach" , " CosPaXiBachBach" };
366366
367367constexpr int requireStrangenessTrackedXi[1 ][2 ] = {{1 , 0 }};
368368static const std::vector<std::string> labelsColumnsCharmBaryons = {" CharmBarToXiBach" , " CharmBarToXiBachBach" };
@@ -533,14 +533,17 @@ class HfFilterHelper
533533 mNSigmaTofKaonFromXicResoToSigmaC = nSigmaTof;
534534 }
535535
536- void setXiBachelorSelections (float ptMinXiPi, float ptMinXiKa, float ptMinXiPiPi, float massMinXiPi, float massMinXiKa, float massMinXiPiPi, float cosPaMinXiBach, float cosPaMinXiBachBach)
536+ void setXiBachelorSelections (float ptMinXiPi, float ptMinXiKa, float ptMinXiPiPi, float massMinXiPi, float massMinXiKa, float massMinXiPiPi, float massMaxXiPi, float massMaxXiKa, float massMaxXiPiPi, float cosPaMinXiBach, float cosPaMinXiBachBach)
537537 {
538538 mPtMinXiBach [0 ] = ptMinXiPi;
539539 mPtMinXiBach [1 ] = ptMinXiKa;
540540 mPtMinXiBach [2 ] = ptMinXiPiPi;
541541 mMassMinXiBach [0 ] = massMinXiPi;
542542 mMassMinXiBach [1 ] = massMinXiKa;
543543 mMassMinXiBach [2 ] = massMinXiPiPi;
544+ mMassMaxXiBach [0 ] = massMaxXiPi;
545+ mMassMaxXiBach [1 ] = massMaxXiKa;
546+ mMassMaxXiBach [2 ] = massMaxXiPiPi;
544547 mCosPaMinXiBach [0 ] = cosPaMinXiBach;
545548 mCosPaMinXiBach [1 ] = cosPaMinXiBachBach;
546549 }
@@ -737,6 +740,7 @@ class HfFilterHelper
737740 bool mForceTofDeuteronForFemto = false ; // flag to force TOF PID for deuterons
738741 std::array<float , 3 > mPtMinXiBach {5 ., 5 ., 5 .}; // minimum pT for XiBachelor candidates
739742 std::array<float , 3 > mMassMinXiBach {2.35 , 2.6 , 2.35 }; // minimum invariant-mass for XiBachelor candidates
743+ std::array<float , 3 > mMassMaxXiBach {3.0 , 3.0 , 2.7 }; // maximum invariant-mass for XiBachelor candidates
740744 std::array<float , 2 > mCosPaMinXiBach {-2 .f , -2 .f }; // minimum cosine of pointing angle for XiBachelor candidates
741745 std::array<o2::framework::LabeledArray<double >, kNBeautyParticles > mCutsBhad {}; // selections for B-hadron candidates (DeltaMass, CPA, DecayLength, ImpactParameterProduct)
742746 o2::framework::LabeledArray<double > mCutsBhadToJPsi {}; // selections for B->JPsi candidates (PtMinMu, DeltaMass, CPA, DecayLength)
@@ -2248,7 +2252,7 @@ inline bool HfFilterHelper::isSelectedXiBach(T const& trackParCasc, T const& tra
22482252 float massXiPi{0 .f };
22492253 if (TESTBIT (isSelBachelor, kPionForCharmBaryon )) {
22502254 massXiPi = RecoDecay::m (std::array{pVecCascade, pVecBachelor}, std::array{massXi, massPi});
2251- if (ptXiBach >= mPtMinXiBach [0 ] && massXiPi >= mMassMinXiBach [0 ] && massXiPi <= 3 . f ) {
2255+ if (ptXiBach >= mPtMinXiBach [0 ] && massXiPi >= mMassMinXiBach [0 ] && massXiPi <= mMassMaxXiBach [ 0 ] ) {
22522256 isSelectedXiPi = true ;
22532257 }
22542258 }
@@ -2257,7 +2261,7 @@ inline bool HfFilterHelper::isSelectedXiBach(T const& trackParCasc, T const& tra
22572261 float massXiKa{0 .f };
22582262 if (TESTBIT (isSelBachelor, kKaonForCharmBaryon )) {
22592263 massXiKa = RecoDecay::m (std::array{pVecCascade, pVecBachelor}, std::array{massXi, massKa});
2260- if (ptXiBach >= mPtMinXiBach [1 ] && massXiKa >= mMassMinXiBach [1 ] && massXiKa <= 3 . f ) {
2264+ if (ptXiBach >= mPtMinXiBach [1 ] && massXiKa >= mMassMinXiBach [1 ] && massXiKa <= mMassMaxXiBach [ 1 ] ) {
22612265 isSelectedXiKa = true ;
22622266 }
22632267 }
@@ -2325,7 +2329,7 @@ inline bool HfFilterHelper::isSelectedXiBachBach(T const& trackParCasc, std::arr
23252329
23262330 // compute mass
23272331 float massXiPiPi = RecoDecay::m (std::array{pVecCascade, pVecBachelorFirst, pVecBachelorSecond}, std::array{massXi, massPi, massPi});
2328- if (massXiPiPi < mMassMinXiBach [2 ] || massXiPiPi > 3 . f ) {
2332+ if (massXiPiPi < mMassMinXiBach [2 ] || massXiPiPi > mMassMaxXiBach [ 2 ] ) {
23292333 return false ;
23302334 }
23312335
0 commit comments