1 #ifndef RIVET_TauFinder_HH 2 #define RIVET_TauFinder_HH 4 #include "Rivet/Projections/FinalState.hh" 5 #include "Rivet/Projections/UnstableParticles.hh" 16 enum class DecayMode {
23 static bool isHadronic(
const Particle& tau) {
24 assert(tau.
abspid() == PID::TAU);
28 static bool isLeptonic(
const Particle& tau) {
29 return !isHadronic(tau);
45 const Particles& taus()
const {
return _theParticles; }
void setName(const std::string &name)
Used by derived classes to set their name.
Definition: Projection.hh:142
Definition: MC_Cent_pPb.hh:10
bool any(const CONTAINER &c)
Return true if x is true for any x in container c, otherwise false.
Definition: Utils.hh:323
Project out all physical-but-decayed particles in an event.
Definition: UnstableParticles.hh:25
const Cut & open()
Fully open cut singleton, accepts everything.
Particle representation, either from a HepMC::GenEvent or reconstructed.
Definition: Particle.hh:18
bool isHadron(int pid)
Definition: ParticleIdUtils.hh:322
Representation of a HepMC event, and enabler of Projection caching.
Definition: Event.hh:22
DEFAULT_RIVET_PROJ_CLONE(TauFinder)
Clone on the heap.
Convenience finder of unstable taus.
Definition: TauFinder.hh:13
Project out all final-state particles in an event. Probably the most important projection in Rivet! ...
Definition: FinalState.hh:12
const PROJ & declare(const PROJ &proj, const std::string &name)
Register a contained projection (user-facing version)
Definition: ProjectionApplier.hh:170
TauFinder(DecayMode decaymode=DecayMode::ANY, const Cut &cut=Cuts::open())
Definition: TauFinder.hh:33
void project(const Event &e)
Apply the projection on the supplied event.
Base class for all Rivet projections.
Definition: Projection.hh:29
PdgId abspid() const
Absolute value of the PDG ID code.
Definition: Particle.hh:164
Particles stableDescendants(const Cut &c=Cuts::OPEN) const
virtual CmpState compare(const Projection &p) const
Compare with other projections.