1919// / \author Biao Zhang <biao.zhang@cern.ch>, Heidelberg University
2020
2121#include " PWGHF/Core/CentralityEstimation.h"
22- #include " PWGHF/Core/DecayChannels.h"
2322#include " PWGHF/Core/HfHelper.h"
2423#include " PWGHF/Core/SelectorCuts.h"
2524#include " PWGHF/D2H/DataModel/ReducedDataModel.h"
@@ -82,7 +81,6 @@ using namespace o2::constants::physics;
8281using namespace o2 ::framework;
8382using namespace o2 ::framework::expressions;
8483using namespace o2 ::hf_trkcandsel;
85- using namespace o2 ::hf_decay::hf_cand_beauty;
8684
8785enum Event : uint8_t {
8886 Processed = 0 ,
@@ -475,7 +473,7 @@ struct HfDataCreatorCharmHadPiReduced {
475473 // Printf("Checking D- → π- K+ π-");
476474 indexRec = RecoDecay::getMatchedMCRec<false , false , false , true , true >(particlesMc, std::array{vecDaughtersB[0 ], vecDaughtersB[1 ], vecDaughtersB[2 ]}, Pdg::kDMinus , std::array{-kPiPlus , +kKPlus , -kPiPlus }, true , &sign, 2 );
477475 if (indexRec > -1 ) {
478- flag = sign * DecayChannelMain::B0ToDminusPi ;
476+ flag = sign * BIT (hf_cand_b0::DecayTypeMc::B0ToDplusPiToPiKPiPi) ;
479477 } else {
480478 debug = 1 ;
481479 LOGF (debug, " B0 decays in the expected final state but the condition on the intermediate state is not fulfilled" );
@@ -498,7 +496,7 @@ struct HfDataCreatorCharmHadPiReduced {
498496 // Ds- → K- K+ π-
499497 indexRec = RecoDecay::getMatchedMCRec<false , false , false , true , true >(particlesMc, std::array{vecDaughtersB[0 ], vecDaughtersB[1 ], vecDaughtersB[2 ]}, -Pdg::kDS , std::array{-kKPlus , +kKPlus , -kPiPlus }, true , &sign, 2 );
500498 if (indexRec > -1 ) {
501- flag = sign * DecayChannelMain::B0ToDsPi ;
499+ flag = sign * BIT (hf_cand_b0::DecayTypeMc::B0ToDsPiToKKPiPi) ;
502500 }
503501 }
504502 }
@@ -509,7 +507,7 @@ struct HfDataCreatorCharmHadPiReduced {
509507 // Ds- → K- K+ π-
510508 indexRec = RecoDecay::getMatchedMCRec<false , false , false , true , true >(particlesMc, std::array{vecDaughtersB[0 ], vecDaughtersB[1 ], vecDaughtersB[2 ]}, -Pdg::kDS , std::array{-kKPlus , +kKPlus , -kPiPlus }, true , &sign, 2 );
511509 if (indexRec > -1 ) {
512- flag = sign * DecayChannelMain::BsToDsPi ;
510+ flag = sign * BIT (hf_cand_b0::DecayTypeMc::BsToDsPiToKKPiPi) ;
513511 }
514512 }
515513 }
@@ -520,7 +518,7 @@ struct HfDataCreatorCharmHadPiReduced {
520518 // D- → π- K+ π-
521519 indexRec = RecoDecay::getMatchedMCRec<false , false , false , true , true >(particlesMc, std::array{vecDaughtersB[0 ], vecDaughtersB[1 ], vecDaughtersB[2 ]}, Pdg::kDMinus , std::array{-kPiPlus , +kKPlus , -kPiPlus }, true , &sign, 2 );
522520 if (indexRec > -1 ) {
523- flag = sign * DecayChannelMain::B0ToDminusK ;
521+ flag = sign * BIT (hf_cand_b0::DecayTypeMc::B0ToDplusKToPiKPiK) ;
524522 }
525523 }
526524 }
@@ -545,7 +543,7 @@ struct HfDataCreatorCharmHadPiReduced {
545543 // look for common b-hadron ancestor
546544 if (index0Mother > -1 && index1Mother > -1 && index2Mother > -1 && index3Mother > -1 ) {
547545 if (index0Mother == index1Mother && index1Mother == index2Mother && index2Mother == index3Mother) {
548- flag = hf_cand_b0::DecayTypeMc::PartlyRecoDecay; // FIXME
546+ flag = BIT ( hf_cand_b0::DecayTypeMc::PartlyRecoDecay);
549547 pdgCodeBeautyMother = particlesMc.rawIteratorAt (index0Mother).pdgCode ();
550548 pdgCodeCharmMother = 0 ;
551549 pdgCodeProng0 = particleProng0.pdgCode ();
@@ -598,7 +596,7 @@ struct HfDataCreatorCharmHadPiReduced {
598596 }
599597 // Ds- → Phi π- → K- K+ π- and Ds- → K0* K- → K- K+ π-
600598 if ((arrPDGDaughDs[0 ] == arrPDGResonantDsPhiPi[0 ] && arrPDGDaughDs[1 ] == arrPDGResonantDsPhiPi[1 ]) || (arrPDGDaughDs[0 ] == arrPDGResonantDsPhiPi[1 ] && arrPDGDaughDs[1 ] == arrPDGResonantDsPhiPi[0 ])) {
601- flag = sign * DecayChannelMain::BsToDsPi ;
599+ flag = sign * BIT (hf_cand_bs::DecayTypeMc::BsToDsPiToPhiPiPiToKKPiPi) ;
602600 } else if ((arrPDGDaughDs[0 ] == arrPDGResonantDKstarK[0 ] && arrPDGDaughDs[1 ] == arrPDGResonantDKstarK[1 ]) || (arrPDGDaughDs[0 ] == arrPDGResonantDKstarK[1 ] && arrPDGDaughDs[1 ] == arrPDGResonantDKstarK[0 ])) {
603601 flag = sign * BIT (hf_cand_bs::DecayTypeMc::BsToDsPiToK0starKPiToKKPiPi);
604602 }
@@ -699,7 +697,7 @@ struct HfDataCreatorCharmHadPiReduced {
699697 // look for common b-hadron ancestor
700698 if (index0Mother > -1 && index1Mother > -1 && index2Mother > -1 && index3Mother > -1 ) {
701699 if (index0Mother == index1Mother && index1Mother == index2Mother && index2Mother == index3Mother) {
702- flag = BIT (hf_cand_bs::DecayTypeMc::PartlyRecoDecay); // FIXME
700+ flag = BIT (hf_cand_bs::DecayTypeMc::PartlyRecoDecay);
703701 pdgCodeBeautyMother = particlesMc.rawIteratorAt (index0Mother).pdgCode ();
704702 pdgCodeCharmMother = 0 ;
705703 pdgCodeProng0 = particleProng0.pdgCode ();
@@ -798,7 +796,7 @@ struct HfDataCreatorCharmHadPiReduced {
798796 // look for common b-hadron ancestor
799797 if (index0Mother > -1 && index1Mother > -1 && index2Mother > -1 ) {
800798 if (index0Mother == index1Mother && index1Mother == index2Mother) {
801- flag = BIT (hf_cand_bplus::DecayTypeMc::PartlyRecoDecay); // FIXME
799+ flag = BIT (hf_cand_bplus::DecayTypeMc::PartlyRecoDecay);
802800 pdgCodeBeautyMother = particlesMc.rawIteratorAt (index0Mother).pdgCode ();
803801 pdgCodeCharmMother = 0 ;
804802 pdgCodeProng0 = particleProng0.pdgCode ();
@@ -901,7 +899,7 @@ struct HfDataCreatorCharmHadPiReduced {
901899 // look for common b-hadron ancestor
902900 if (index0Mother > -1 && index1Mother > -1 && index2Mother > -1 && index3Mother > -1 ) {
903901 if (index0Mother == index1Mother && index1Mother == index2Mother && index2Mother == index3Mother) {
904- flag = hf_cand_b0::DecayTypeMc::PartlyRecoDecay; // FIXME
902+ flag = BIT ( hf_cand_b0::DecayTypeMc::PartlyRecoDecay);
905903 pdgCodeBeautyMother = particlesMc.rawIteratorAt (index0Mother).pdgCode ();
906904 pdgCodeCharmMother = 0 ;
907905 pdgCodeProng0 = particleProng0.pdgCode ();
@@ -1365,12 +1363,12 @@ struct HfDataCreatorCharmHadPiReduced {
13651363 auto candCMC = particlesMc.rawIteratorAt (particle.daughtersIds ().front ());
13661364 // Printf("Checking D- -> π- K+ π-");
13671365 if (RecoDecay::isMatchedMCGen (particlesMc, candCMC, -static_cast <int >(Pdg::kDPlus ), std::array{-kPiPlus , +kKPlus , -kPiPlus }, true , &sign, 2 )) {
1368- flag = sign * DecayChannelMain::B0ToDminusPi ;
1366+ flag = sign * BIT (hf_cand_b0::DecayType::B0ToDPi) ;
13691367 }
13701368 }
13711369
13721370 // save information for B0 task
1373- if (std::abs (flag) != DecayChannelMain::B0ToDminusPi ) {
1371+ if (! TESTBIT ( std::abs (flag), hf_cand_b0::DecayType::B0ToDPi) ) {
13741372 continue ;
13751373 }
13761374
@@ -1407,7 +1405,7 @@ struct HfDataCreatorCharmHadPiReduced {
14071405 }
14081406 // Ds- → Phi π- → K- K+ π- and Ds- → K0* K- → K- K+ π-
14091407 if ((arrPDGDaughDs[0 ] == arrPDGResonantDsPhiPi[0 ] && arrPDGDaughDs[1 ] == arrPDGResonantDsPhiPi[1 ]) || (arrPDGDaughDs[0 ] == arrPDGResonantDsPhiPi[1 ] && arrPDGDaughDs[1 ] == arrPDGResonantDsPhiPi[0 ])) {
1410- flag = sign * DecayChannelMain::BsToDsPi ;
1408+ flag = sign * BIT (hf_cand_bs::DecayTypeMc::BsToDsPiToPhiPiPiToKKPiPi) ;
14111409 } else if ((arrPDGDaughDs[0 ] == arrPDGResonantDKstarK[0 ] && arrPDGDaughDs[1 ] == arrPDGResonantDKstarK[1 ]) || (arrPDGDaughDs[0 ] == arrPDGResonantDKstarK[1 ] && arrPDGDaughDs[1 ] == arrPDGResonantDKstarK[0 ])) {
14121410 flag = sign * BIT (hf_cand_bs::DecayTypeMc::BsToDsPiToK0starKPiToKKPiPi);
14131411 }
@@ -1444,7 +1442,7 @@ struct HfDataCreatorCharmHadPiReduced {
14441442 }
14451443
14461444 // save information for Bs task
1447- if (!TESTBIT (std::abs (flag), DecayChannelMain::BsToDsPi ) && !TESTBIT (std::abs (flag), hf_cand_bs::DecayTypeMc::BsToDsPiToK0starKPiToKKPiPi) &&
1445+ if (!TESTBIT (std::abs (flag), hf_cand_bs::DecayTypeMc::BsToDsPiToPhiPiPiToKKPiPi ) && !TESTBIT (std::abs (flag), hf_cand_bs::DecayTypeMc::BsToDsPiToK0starKPiToKKPiPi) &&
14481446 !TESTBIT (std::abs (flag), hf_cand_bs::DecayTypeMc::B0ToDsPiToPhiPiPiToKKPiPi) && !TESTBIT (std::abs (flag), hf_cand_bs::DecayTypeMc::B0ToDsPiToK0starKPiToKKPiPi)) {
14491447 continue ;
14501448 }
0 commit comments