23 HepMC::GenVertex::particle_iterator des;
24 if( Tau->end_vertex()){
25 for(des = Tau->end_vertex()->particles_begin(HepMC::children);
26 des!= Tau->end_vertex()->particles_end(HepMC::children);++des ) {
27 Analyze((*des),Tauidx,dores,dopi0);
40 unsigned int pdgid=
abs(Particle->pdg_id());
43 if(!
isTauParticleCounter(pdgid))
std::cout <<
"TauDecay_CMSSW::Analyze WARNING: Unknow Final State Particle in Tau Decay... " << pdgid << std::endl;
48 HepMC::GenVertex::particle_iterator des;
49 if(Particle->end_vertex()){
50 for(des = Particle->end_vertex()->particles_begin(HepMC::children);
51 des!= Particle->end_vertex()->particles_end(HepMC::children) && Particle->end_vertex()-> particles_out_size()>0;++des ) {
52 Analyze((*des),midx,dores,dopi0);
56 std::cout <<
"Unstable particle that is undecayed in Tau decay tree. PDG ID: " << pdgid << std::endl;
62 if(Particle->status()==1){
67 HepMC::GenVertex::particle_iterator des;
68 for(des = Particle->end_vertex()->particles_begin(HepMC::children);
69 des!= Particle->end_vertex()->particles_end(HepMC::children);++des ) {
std::vector< HepMC::GenParticle * > TauDecayProducts
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)
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)