@@ -554,13 +554,13 @@ struct HfDataCreatorCharmResoReduced {
554554
555555 if constexpr (decChannel == DecayChannel::DstarV0) {
556556 // Ds1 → D* K0 → (D0 π+) K0s → ((K-π+) π+)(π+π-)
557- indexRecD0 = RecoDecay::getMatchedMCRec<false , false , false , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ]}, Pdg::kD0 , std::array{+kPiPlus , -kKPlus }, true , &signD0, 1 , &nPiToMuD0, &nKaToPiD0);
558- indexRecK0 = RecoDecay::getMatchedMCRec<false , true , false , true >(particlesMc, std::array{vecDaughtersReso[3 ], vecDaughtersReso[4 ]}, kK0 , std::array{+kPiPlus , -kPiPlus }, true , &signV0, 2 , &nPiToMuV0, &nKaToPiV0);
557+ indexRecD0 = RecoDecay::getMatchedMCRec<false , false , false , true , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ]}, Pdg::kD0 , std::array{+kPiPlus , -kKPlus }, true , &signD0, 1 , &nPiToMuD0, &nKaToPiD0);
558+ indexRecK0 = RecoDecay::getMatchedMCRec<false , true , false , true , true >(particlesMc, std::array{vecDaughtersReso[3 ], vecDaughtersReso[4 ]}, kK0 , std::array{+kPiPlus , -kPiPlus }, true , &signV0, 2 , &nPiToMuV0, &nKaToPiV0);
559559 if (indexRecD0 > -1 ) {
560- indexRecDstar = RecoDecay::getMatchedMCRec<false , false , false , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ], vecDaughtersReso[2 ]}, Pdg::kDStar , std::array{-kKPlus , +kPiPlus , +kPiPlus }, true , &signDStar, 2 , &nPiToMuDstar, &nKaToPiDstar);
560+ indexRecDstar = RecoDecay::getMatchedMCRec<false , false , false , true , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ], vecDaughtersReso[2 ]}, Pdg::kDStar , std::array{-kKPlus , +kPiPlus , +kPiPlus }, true , &signDStar, 2 , &nPiToMuDstar, &nKaToPiDstar);
561561 }
562562 if (indexRecD0 > -1 && indexRecDstar > -1 && indexRecK0 > -1 ) {
563- indexRecReso = RecoDecay::getMatchedMCRec<false , true , false , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ], vecDaughtersReso[2 ], vecDaughtersReso[3 ], vecDaughtersReso[4 ]}, Pdg::kDS1 , std::array{+kPiPlus , -kKPlus , +kPiPlus , +kPiPlus , -kPiPlus }, true , &sign, 3 , &nPiToMuReso, &nKaToPiReso);
563+ indexRecReso = RecoDecay::getMatchedMCRec<false , true , false , true , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ], vecDaughtersReso[2 ], vecDaughtersReso[3 ], vecDaughtersReso[4 ]}, Pdg::kDS1 , std::array{+kPiPlus , -kKPlus , +kPiPlus , +kPiPlus , -kPiPlus }, true , &sign, 3 , &nPiToMuReso, &nKaToPiReso);
564564 if (indexRecReso > -1 && nPiToMuReso == 0 && nKaToPiReso == 0 ) {
565565 flag = sign * DecayTypeMc::Ds1ToDStarK0ToD0PiK0s;
566566 } else if (indexRecReso > -1 && nPiToMuReso >= 1 && nKaToPiReso == 0 ) {
@@ -570,16 +570,16 @@ struct HfDataCreatorCharmResoReduced {
570570
571571 // Ds1+ not matched: we check if it is partially reco
572572 if (indexRecReso < 0 ) {
573- indexRecResoPartReco = RecoDecay::getMatchedMCRec<false , true , true , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ], vecDaughtersReso[2 ], vecDaughtersReso[3 ], vecDaughtersReso[4 ]}, Pdg::kDS1 , std::array{+kPiPlus , -kKPlus , +kPiPlus , +kPiPlus , -kPiPlus }, true , &sign, 3 );
573+ indexRecResoPartReco = RecoDecay::getMatchedMCRec<false , true , true , true , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ], vecDaughtersReso[2 ], vecDaughtersReso[3 ], vecDaughtersReso[4 ]}, Pdg::kDS1 , std::array{+kPiPlus , -kKPlus , +kPiPlus , +kPiPlus , -kPiPlus }, true , &sign, 3 );
574574 indexRecDplus = RecoDecay::getMatchedMCRec (particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ], vecDaughtersReso[2 ]}, Pdg::kDPlus , std::array{+kPiPlus , -kKPlus , +kPiPlus }, true , &signDPlus, 2 );
575575 if (indexRecResoPartReco > -1 ) { // we look for decays of D* or D0 with more daughters
576576 if (indexRecDstar < 0 && indexRecK0 > -1 ) {
577- auto indexRecDstarPartReco = RecoDecay::getMatchedMCRec<false , false , true , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ], vecDaughtersReso[2 ]}, Pdg::kDStar , std::array{-kKPlus , +kPiPlus , +kPiPlus }, true , &signDStar, 3 );
577+ auto indexRecDstarPartReco = RecoDecay::getMatchedMCRec<false , false , true , true , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ], vecDaughtersReso[2 ]}, Pdg::kDStar , std::array{-kKPlus , +kPiPlus , +kPiPlus }, true , &signDStar, 3 );
578578 if (indexRecDstarPartReco > -1 ) {
579579 if (indexRecDplus > -1 ) { // Ds1 -> D* K0s -> D+ π0 K0s
580580 flag = sign * DecayTypeMc::Ds1ToDStarK0ToDPlusPi0K0s;
581581 } else {
582- auto indexRecDzeroPartReco = RecoDecay::getMatchedMCRec<false , false , true , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ]}, Pdg::kD0 , std::array{+kPiPlus , -kKPlus }, true , &signD0, 2 );
582+ auto indexRecDzeroPartReco = RecoDecay::getMatchedMCRec<false , false , true , true , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ]}, Pdg::kD0 , std::array{+kPiPlus , -kKPlus }, true , &signD0, 2 );
583583 if (indexRecDzeroPartReco > -1 ) { // Ds1 -> D* K0s -> D0 π+ K0s -> K- π+ π0 π+ K0s
584584 flag = sign * DecayTypeMc::Ds1ToDStarK0ToD0PiK0sPart;
585585 }
@@ -588,7 +588,7 @@ struct HfDataCreatorCharmResoReduced {
588588 }
589589 } else { // we look for D* not matched, but all the other ones yes, we check if we only lost the soft pion
590590 if (indexRecD0 > -1 && indexRecK0 > -1 && indexRecDstar < 0 ) {
591- indexRecResoPartReco = RecoDecay::getMatchedMCRec<false , true , true , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ], vecDaughtersReso[3 ], vecDaughtersReso[4 ]}, Pdg::kDS1 , std::array{+kPiPlus , -kKPlus , +kPiPlus , -kPiPlus }, true , &sign, 3 );
591+ indexRecResoPartReco = RecoDecay::getMatchedMCRec<false , true , true , true , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ], vecDaughtersReso[3 ], vecDaughtersReso[4 ]}, Pdg::kDS1 , std::array{+kPiPlus , -kKPlus , +kPiPlus , -kPiPlus }, true , &sign, 3 );
592592 if (indexRecResoPartReco > -1 ) {
593593 flag = sign * DecayTypeMc::Ds1ToDStarK0ToD0NoPiK0sPart;
594594 }
@@ -654,19 +654,19 @@ struct HfDataCreatorCharmResoReduced {
654654 }
655655 } else if constexpr (decChannel == DecayChannel::DplusV0) {
656656 // Ds2Star → D+ K0 → (π+K-π+) K0s → (π+K-π+)(π+π-)
657- indexRecK0 = RecoDecay::getMatchedMCRec<false , true , false , true >(particlesMc, std::array{vecDaughtersReso[3 ], vecDaughtersReso[4 ]}, kK0 , std::array{+kPiPlus , -kPiPlus }, true , &signV0, 2 , &nPiToMuV0, &nKaToPiV0);
658- indexRecDplus = RecoDecay::getMatchedMCRec<false , false , false , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ], vecDaughtersReso[2 ]}, Pdg::kDPlus , std::array{+kPiPlus , -kKPlus , +kPiPlus }, true , &signDPlus, 2 , &nPiToMuDplus, &nKaToPiDplus);
657+ indexRecK0 = RecoDecay::getMatchedMCRec<false , true , false , true , true >(particlesMc, std::array{vecDaughtersReso[3 ], vecDaughtersReso[4 ]}, kK0 , std::array{+kPiPlus , -kPiPlus }, true , &signV0, 2 , &nPiToMuV0, &nKaToPiV0);
658+ indexRecDplus = RecoDecay::getMatchedMCRec<false , false , false , true , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ], vecDaughtersReso[2 ]}, Pdg::kDPlus , std::array{+kPiPlus , -kKPlus , +kPiPlus }, true , &signDPlus, 2 , &nPiToMuDplus, &nKaToPiDplus);
659659 if (indexRecK0 > -1 && indexRecDplus > -1 ) {
660- indexRecReso = RecoDecay::getMatchedMCRec<false , false , false , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ], vecDaughtersReso[2 ], vecDaughtersReso[3 ], vecDaughtersReso[4 ]}, Pdg::kDS2Star , std::array{+kPiPlus , -kKPlus , +kPiPlus , +kPiPlus , -kPiPlus }, true , &sign, 3 , &nPiToMuReso, &nKaToPiReso);
660+ indexRecReso = RecoDecay::getMatchedMCRec<false , false , false , true , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ], vecDaughtersReso[2 ], vecDaughtersReso[3 ], vecDaughtersReso[4 ]}, Pdg::kDS2Star , std::array{+kPiPlus , -kKPlus , +kPiPlus , +kPiPlus , -kPiPlus }, true , &sign, 3 , &nPiToMuReso, &nKaToPiReso);
661661 if (indexRecReso > -1 && nPiToMuReso == 0 && nKaToPiReso == 0 ) {
662662 flag = sign * DecayTypeMc::Ds2StarToDplusK0sToPiKaPiPiPi;
663663 } else if (indexRecReso > -1 && nPiToMuReso >= 1 && nKaToPiReso == 0 ) {
664664 flag = sign * DecayTypeMc::Ds2StarToDplusK0sOneMu;
665665 } else if (indexRecReso < 0 ) {
666666 // Verify partly reconstructed decay Ds1 -> D* K0s -> D+ π0 K0s
667- indexRecDstar = RecoDecay::getMatchedMCRec<false , false , true , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ], vecDaughtersReso[2 ]}, Pdg::kDStar , std::array{-kKPlus , +kPiPlus , +kPiPlus }, true , &signDStar, 2 );
667+ indexRecDstar = RecoDecay::getMatchedMCRec<false , false , true , true , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ], vecDaughtersReso[2 ]}, Pdg::kDStar , std::array{-kKPlus , +kPiPlus , +kPiPlus }, true , &signDStar, 2 );
668668 if (indexRecDstar > -1 ) {
669- indexRecReso = RecoDecay::getMatchedMCRec<false , true , true , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ], vecDaughtersReso[2 ], vecDaughtersReso[3 ], vecDaughtersReso[4 ]}, Pdg::kDS1 , std::array{+kPiPlus , -kKPlus , +kPiPlus , +kPiPlus , -kPiPlus }, true , &sign, 3 );
669+ indexRecReso = RecoDecay::getMatchedMCRec<false , true , true , true , true >(particlesMc, std::array{vecDaughtersReso[0 ], vecDaughtersReso[1 ], vecDaughtersReso[2 ], vecDaughtersReso[3 ], vecDaughtersReso[4 ]}, Pdg::kDS1 , std::array{+kPiPlus , -kKPlus , +kPiPlus , +kPiPlus , -kPiPlus }, true , &sign, 3 );
670670 if (indexRecReso > -1 ) {
671671 flag = sign * DecayTypeMc::Ds1ToDStarK0ToDPlusPi0K0s;
672672 }
0 commit comments