@@ -748,7 +748,7 @@ struct HfTreeCreatorXicToXiPiPi {
748748 float & etaPrFromLambda)
749749 {
750750 std::vector<int > arrDaughIndex = {};
751- RecoDecay::getDaughters (particle, &arrDaughIndex, std::array{+kXiMinus , +kPiPlus , +kPiPlus }, 2 );
751+ RecoDecay::getDaughters< true > (particle, &arrDaughIndex, std::array{+kXiMinus , +kPiPlus , +kPiPlus }, 2 );
752752 bool foundFirstPi{false };
753753 for (const int iProng : arrDaughIndex) {
754754 auto daugh = particles.rawIteratorAt (iProng);
@@ -762,15 +762,17 @@ struct HfTreeCreatorXicToXiPiPi {
762762 foundFirstPi = true ;
763763 }
764764 } else if (std::abs (daugh.pdgCode ()) == +kXiMinus ) {
765- RecoDecay::getDaughters (daugh, &arrDaughIndex, std::array{+kLambda0 , -kPiPlus }, 1 );
766- for (const int iProngXi : arrDaughIndex) {
765+ std::vector<int > arrDaughIndexXi = {};
766+ RecoDecay::getDaughters<true >(daugh, &arrDaughIndexXi, std::array{+kLambda0 , -kPiPlus }, 1 );
767+ for (const int iProngXi : arrDaughIndexXi) {
767768 auto daughXi = particles.rawIteratorAt (iProngXi);
768769 if (std::abs (daughXi.pdgCode ()) == +kPiPlus ) {
769770 ptPiBachelor = daughXi.pt ();
770771 etaPiBachelor = daughXi.eta ();
771772 } else {
772- RecoDecay::getDaughters (daughXi, &arrDaughIndex, std::array{+kProton , -kPiPlus }, 1 );
773- for (const int iProngLambda : arrDaughIndex) {
773+ std::vector<int > arrDaughIndexLambda = {};
774+ RecoDecay::getDaughters<true >(daughXi, &arrDaughIndexLambda, std::array{+kProton , -kPiPlus }, 1 );
775+ for (const int iProngLambda : arrDaughIndexLambda) {
774776 auto daughLambda = particles.rawIteratorAt (iProngLambda);
775777 if (std::abs (daughLambda.pdgCode ()) == +kPiPlus ) {
776778 ptPiFromLambda = daughLambda.pt ();
0 commit comments