2 #ifndef RIVET_PrimaryParticles_HH 3 #define RIVET_PrimaryParticles_HH 5 #include "Rivet/Projections/ParticleFinder.hh" 6 #include "Rivet/Tools/Cuts.hh" 49 if (!other)
return CmpState::NEQ;
50 if (_cuts != other->_cuts || _pdgIds != other->_pdgIds)
return CmpState::NEQ;
70 virtual bool isPrimary(ConstGenParticlePtr p)
const;
73 virtual bool isIgnored(ConstGenParticlePtr p)
const;
88 virtual bool hasDecayed(ConstGenParticlePtr p)
const;
95 virtual bool isBeam(ConstGenParticlePtr p)
const;
102 ConstGenParticlePtr
ancestor(ConstGenParticlePtr p)
const;
110 ConstGenParticlePtr
ancestor(ConstGenParticlePtr p,
bool)
const;
113 std::vector<int> _pdgIds;
void setName(const std::string &name)
Used by derived classes to set their name.
Definition: Projection.hh:142
Definition: MC_Cent_pPb.hh:10
PrimaryParticles(const PrimaryParticles &other)
Copy constructor.
Definition: PrimaryParticles.hh:36
virtual bool isPrimaryPID(ConstGenParticlePtr p) const
virtual bool isIgnored(ConstGenParticlePtr p) const
Check if the particle should be ignored, via its status code.
virtual CmpState compare(const Projection &p) const
Definition: PrimaryParticles.hh:46
Project out primary particles according to definition.
Definition: PrimaryParticles.hh:19
const Cut & open()
Fully open cut singleton, accepts everything.
Base class for projections which return subsets of an event's particles.
Definition: ParticleFinder.hh:11
virtual bool isBeam(ConstGenParticlePtr p) const
Representation of a HepMC event, and enabler of Projection caching.
Definition: Event.hh:22
ConstGenParticlePtr ancestor(ConstGenParticlePtr p) const
PdgIdPair pids(const ParticlePair &pp)
Definition: ParticleUtils.hh:749
PrimaryParticles(std::initializer_list< int > pids, const Cut &c=Cuts::open())
Definition: PrimaryParticles.hh:26
virtual bool hasDecayed(ConstGenParticlePtr p) const
Base class for all Rivet projections.
Definition: Projection.hh:29
virtual void project(const Event &e)