46 for ( HepMC::GenEvent::particle_const_iterator
p = myGenEvent->particles_begin();
47 p != myGenEvent->particles_end(); ++
p ) {
49 if(
abs((*p)->pdg_id()) != 42 )
continue;
51 if ( (*p)->end_vertex() ) {
52 for ( HepMC::GenVertex::particle_iterator des=(*p)->end_vertex()->particles_begin(
HepMC::children);
55 if (
abs((*des)->pdg_id()) == 11 ) ++
ne;
56 else if (
abs((*des)->pdg_id()) == 12 ) ++nnue;
57 else if (
abs((*des)->pdg_id()) == 13 ) ++nmu;
58 else if (
abs((*des)->pdg_id()) == 14 ) ++nnumu;
63 if (ne==2 &&
eejj_)
return true;
64 else if (ne==1 && nnue==1 &&
enuejj_)
return true;
65 else if (nnue==2 &&
nuenuejj_)
return true;
66 else if (nmu==2 &&
mumujj_)
return true;
67 else if (nmu==1 && nnumu==1 &&
munumujj_)
return true;
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
LQGenFilter(const edm::ParameterSet &)
Abs< T >::type abs(const T &t)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
const HepMC::GenEvent * GetEvent() const
bool filter(edm::Event &, const edm::EventSetup &) override