//
// e+e- from pair production of primary gammas
//
- if ((part->GetUniqueID()) == kPPair) keep = kTRUE;
+ if ((part->GetUniqueID()) == kPPair) keep = kTRUE;
+ }
+ //
+ // Decay(cascade) from primaries
+ //
+ if ((part->GetUniqueID() == kPDecay) && (parent >= 0)) {
+ // Particles from decay
+ TParticle* father = GetParticleMapEntry(parent);
+ Int_t imo = parent;
+ while((imo > fHgwmk) && (father->GetUniqueID() == kPDecay)) {
+ imo = father->GetFirstMother();
+ father = GetParticleMapEntry(imo);
+ }
+ if ((imo <= fHgwmk)) keep = kTRUE;
}
return keep;
}
//
// Check if it comes from a pi0 decay
//
-// What about the pi0 Dalitz ??
-// if ((mpdg == kPi0) && (imo < GetNprimary())) return kTRUE;
+ if ((mpdg == kPi0) && (imo < GetNprimary())) return kTRUE;
// Check if this is a heavy flavor decay product
Int_t mfl = Int_t (mpdg / TMath::Power(10, Int_t(TMath::Log10(mpdg))));