14 particleID(iConfig.getUntrackedParameter(
"ParticleID", 0)),
15 minpcut(iConfig.getUntrackedParameter(
"MinP", 0.)),
16 maxpcut(iConfig.getUntrackedParameter(
"MaxP", 10000.)),
17 minptcut(iConfig.getUntrackedParameter(
"MinPt", 0.)),
18 maxptcut(iConfig.getUntrackedParameter(
"MaxPt", 10000.)),
19 minetacut(iConfig.getUntrackedParameter(
"MinEta", -10.)),
20 maxetacut(iConfig.getUntrackedParameter(
"MaxEta", 10.)),
21 minrapcut(iConfig.getUntrackedParameter(
"MinRapidity", -20.)),
22 maxrapcut(iConfig.getUntrackedParameter(
"MaxRapidity", 20.)),
23 minphicut(iConfig.getUntrackedParameter(
"MinPhi", -3.5)),
24 maxphicut(iConfig.getUntrackedParameter(
"MaxPhi", 3.5)),
25 status(iConfig.getUntrackedParameter(
"Status", 0)),
26 motherID(iConfig.getUntrackedParameter(
"MotherID", 0)),
27 processID(iConfig.getUntrackedParameter(
"ProcessID", 0)),
28 betaBoost(iConfig.getUntrackedParameter(
"BetaBoost",0.))
60 for ( HepMC::GenEvent::particle_const_iterator
p = myGenEvent->particles_begin();
61 p != myGenEvent->particles_end(); ++
p ) {
63 double rapidity = 0.5*
log( (mom.e()+mom.pz()) / (mom.e()-mom.pz()) );
68 && (*p)->momentum().perp() >
minptcut 69 && (*p)->momentum().perp() <
maxptcut 83 if ((*p)->status() ==
status)
87 HepMC::GenParticle* mother = (*((*p)->production_vertex()->particles_in_const_begin()));
120 }
else { accepted =
true; }
123 return true; }
else {
return false;}
HepMC::FourVector zboost(const HepMC::FourVector &, double)
PythiaFilter(const edm::ParameterSet &)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Abs< T >::type abs(const T &t)
const HepMC::GenEvent * GetEvent() const
bool accepted(std::vector< std::string_view > const &, std::string_view)
bool filter(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
const edm::EDGetTokenT< edm::HepMCProduct > token_