18 HepMC::GenVertex::particle_iterator des;
19 if (Tau->end_vertex()) {
20 for (des = Tau->end_vertex()->particles_begin(HepMC::children);
21 des != Tau->end_vertex()->particles_end(HepMC::children);
23 Analyze((*des), Tauidx, dores, dopi0);
33 unsigned int pdgid =
abs(Particle->pdg_id());
37 std::cout <<
"TauDecay_CMSSW::Analyze WARNING: Unknow Final State Particle in Tau Decay... " << pdgid
43 HepMC::GenVertex::particle_iterator des;
44 if (Particle->end_vertex()) {
45 for (des = Particle->end_vertex()->particles_begin(HepMC::children);
46 des != Particle->end_vertex()->particles_end(HepMC::children) &&
47 Particle->end_vertex()->particles_out_size() > 0;
49 Analyze((*des), midx, dores, dopi0);
52 std::cout <<
"Unstable particle that is undecayed in Tau decay tree. PDG ID: " << pdgid << std::endl;
57 if (Particle->status() == 1) {
62 HepMC::GenVertex::particle_iterator des;
63 for (des = Particle->end_vertex()->particles_begin(HepMC::children);
64 des != Particle->end_vertex()->particles_end(HepMC::children);
bool AnalyzeTau(HepMC::GenParticle *Tau, unsigned int &MODE_ID, unsigned int &TauBitMask, bool dores=true, bool dopi0=true)
bool isTauFinalStateParticle(int pdgid)
Abs< T >::type abs(const T &t)
std::vector< HepMC::GenParticle * > TauDecayProducts
bool isTauResonanceCounter(int pdgid)
void ClassifyDecayMode(unsigned int &MODE_ID, unsigned int &TauBitMask)
void Analyze(HepMC::GenParticle *Particle, unsigned int midx, bool dores, bool dopi0)
std::vector< unsigned int > MotherIdx
void AddPi0Info(HepMC::GenParticle *Particle, unsigned int midx)
bool isTauParticleCounter(int pdgid)