1 #ifndef RIVET_TauFinder_HH 2 #define RIVET_TauFinder_HH 4 #include "Rivet/Projections/FinalState.hh" 5 #include "Rivet/Projections/UnstableFinalState.hh" 16 enum DecayType { ANY=0, LEPTONIC=1, HADRONIC };
18 static bool isHadronic(
const Particle& tau) {
19 assert(tau.
abspid() == PID::TAU);
23 static bool isLeptonic(
const Particle& tau) {
24 return !isHadronic(tau);
40 const Particles& taus()
const {
return _theParticles; }
void setName(const std::string &name)
Used by derived classes to set their name.
Definition: Projection.hh:133
Definition: ALICE_2010_I880049.cc:13
virtual int compare(const Projection &p) const
Compare with other projections.
Definition: TauFinder.cc:19
bool any(const CONTAINER &c)
Return true if x is true for any x in container c, otherwise false.
Definition: Utils.hh:287
Project out all physical-but-decayed particles in an event.
Definition: UnstableFinalState.hh:26
TauFinder(DecayType decaytype, const Cut &cut=Cuts::open())
Definition: TauFinder.hh:28
Particle representation, either from a HepMC::GenEvent or reconstructed.
Definition: Particle.hh:18
const Cut & open()
Fully open cut singleton, accepts everything.
Definition: Cuts.cc:81
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 & addProjection(const PROJ &proj, const std::string &name)
Register a contained projection (user-facing version)
Definition: ProjectionApplier.hh:170
void project(const Event &e)
Apply the projection on the supplied event.
Definition: TauFinder.cc:8
Base class for all Rivet projections.
Definition: Projection.hh:29
PdgId abspid() const
Absolute value of the PDG ID code.
Definition: Particle.hh:137
Particles stableDescendants(const Cut &c=Cuts::OPEN) const
Definition: Particle.cc:155