@@ -736,6 +736,7 @@ struct RecoDecay {
736736 // / \param nPiToMu number of pion prongs decayed to a muon
737737 // / \param nKaToPi number of kaon prongs decayed to a pion
738738 // / \param nInteractionsWithMaterial number of daughter particles that interacted with material
739+ // / \param searchUpToQuark switch to search for the decay up to the quark level
739740 // / \return index of the mother particle if the mother and daughters are correct, -1 otherwise
740741 template <bool acceptFlavourOscillation = false , bool checkProcess = false , bool acceptIncompleteReco = false , bool acceptTrackDecay = false , bool acceptTrackIntWithMaterial = false , std::size_t N, typename T, typename U>
741742 static int getMatchedMCRec (const T& particlesMC,
@@ -747,7 +748,8 @@ struct RecoDecay {
747748 int depthMax = 1 ,
748749 int8_t * nPiToMu = nullptr ,
749750 int8_t * nKaToPi = nullptr ,
750- int8_t * nInteractionsWithMaterial = nullptr )
751+ int8_t * nInteractionsWithMaterial = nullptr ,
752+ bool searchUpToQuark = true )
751753 {
752754 // Printf("MC Rec: Expected mother PDG: %d", pdgMother);
753755 int8_t coefFlavourOscillation = 1 ; // 1 if no B0(s) flavour oscillation occured, -1 else
@@ -822,7 +824,7 @@ struct RecoDecay {
822824 if (iProng == 0 ) {
823825 // Get the mother index and its sign.
824826 // PDG code of the first daughter's mother determines whether the expected mother is a particle or antiparticle.
825- indexMother = getMother (particlesMC, particleI, pdgMother, acceptAntiParticles, &sgn, depthMax);
827+ indexMother = getMother (particlesMC, particleI, pdgMother, acceptAntiParticles, &sgn, depthMax, searchUpToQuark );
826828 // Check whether mother was found.
827829 if (indexMother <= -1 ) {
828830 // Printf("MC Rec: Rejected: bad mother index or PDG");
0 commit comments