55 for ( HepMC::GenEvent::particle_const_iterator
p = myGenEvent->particles_begin();
56 p != myGenEvent->particles_end(); ++
p ) {
58 if(
abs((*p)->pdg_id()) !=23 &&
abs((*p)->pdg_id()) !=24)
continue;
60 if ( (*p)->end_vertex() ) {
61 for ( HepMC::GenVertex::particle_iterator des=(*p)->end_vertex()->particles_begin(
HepMC::children);
65 if(isQuark(theDaughter)) ++nj;
68 else if(
isMuon(theDaughter)) ++nmu;
69 else if(
isTau(theDaughter)) ++ntau;
75 if (ne==2 && nj == 2 && eejj_)
return true;
76 else if (ne==1 && nj == 2 && nnu==1 && enujj_)
return true;
77 else if (nmu==2 && nj == 2 && mumujj_)
return true;
78 else if (nmu==1 && nj == 2 && nnu==1 && munujj_)
return true;
79 else if (ntau==2 && nj == 2 && tautaujj_)
return true;
80 else if (ntau==1 && nj == 2 && nnu==1 && taunujj_)
return true;
81 else if (nnu==2 && nj == 2 && nunujj_)
return true;
99 if(pdgid == 1 || pdgid == 2 || pdgid == 3 ||
100 pdgid == 4 || pdgid == 5 || pdgid == 6)
110 if(pdgid == 12 || pdgid == 14 || pdgid == 16)
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
bool isMuon(const Candidate &part)
~TwoVBGenFilter() override
bool isQuark(const HepMC::GenParticle *)
bool isNeutrino(const HepMC::GenParticle *)
bool isNeutrino(const Candidate &part)
bool isElectron(const Candidate &part)
bool isTau(const HepMC::GenParticle *)
Abs< T >::type abs(const T &t)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
const HepMC::GenEvent * GetEvent() const
bool isElectron(const HepMC::GenParticle *)
bool isMuon(const HepMC::GenParticle *)
TwoVBGenFilter(const edm::ParameterSet &)
bool filter(edm::Event &, const edm::EventSetup &) override
bool isTau(const Candidate &part)