2#ifndef RIVET_ZFinder_HH
3#define RIVET_ZFinder_HH
5#include "Rivet/Projections/FinalState.hh"
6#include "Rivet/Projections/DressedLeptons.hh"
7#include "Rivet/Projections/VetoedFinalState.hh"
21 enum class ChargedLeptons { PROMPT, ALL };
22 enum class ClusterPhotons { NONE, NODECAY, ALL };
23 enum class AddPhotons { NO, YES };
44 double minmass,
double maxmass,
46 ChargedLeptons chLeptons=ChargedLeptons::PROMPT,
47 ClusterPhotons clusterPhotons=ClusterPhotons::NODECAY,
48 AddPhotons trackPhotons=AddPhotons::NO,
49 double masstarget=91.2*GeV);
56 double minmass,
double maxmass,
58 ClusterPhotons clusterPhotons,
59 AddPhotons trackPhotons=AddPhotons::NO,
60 double masstarget=91.2*GeV)
61 :
ZFinder(inputfs, cuts,
pid, minmass, maxmass,
62 dRmax, ChargedLeptons::PROMPT, clusterPhotons, trackPhotons, masstarget)
106 void clear() { _theParticles.clear(); }
112 double _minmass, _maxmass, _masstarget;
116 AddPhotons _trackPhotons;
Representation of a HepMC event, and enabler of Projection caching.
Definition: Event.hh:22
Project out all final-state particles in an event. Probably the most important projection in Rivet!
Definition: FinalState.hh:12
Base class for projections which return subsets of an event's particles.
Definition: ParticleFinder.hh:11
virtual const Particles & particles() const
Get the particles in no particular order, with no cuts.
Definition: ParticleFinder.hh:49
Particle representation, either from a HepMC::GenEvent or reconstructed.
Definition: Particle.hh:53
Specialised vector of Particle objects.
Definition: Particle.hh:25
Base class for all Rivet projections.
Definition: Projection.hh:29
FS modifier to exclude classes of particles from the final state.
Definition: VetoedFinalState.hh:11
Convenience finder of leptonically decaying Zs.
Definition: ZFinder.hh:18
const Particle & boson() const
Access to the found boson (assuming it exists).
Definition: ZFinder.hh:77
ZFinder(const FinalState &inputfs, const Cut &cuts, PdgId pid, double minmass, double maxmass, double dRmax, ClusterPhotons clusterPhotons, AddPhotons trackPhotons=AddPhotons::NO, double masstarget=91.2 *GeV)
Definition: ZFinder.hh:53
const VetoedFinalState & remainingFinalState() const
const Particles & constituentLeptons() const
ZFinder(const FinalState &inputfs, const Cut &cuts, PdgId pid, double minmass, double maxmass, double dRmax=0.1, ChargedLeptons chLeptons=ChargedLeptons::PROMPT, ClusterPhotons clusterPhotons=ClusterPhotons::NODECAY, AddPhotons trackPhotons=AddPhotons::NO, double masstarget=91.2 *GeV)
Constructor taking cuts object.
void project(const Event &e)
Apply the projection on the supplied event.
DEFAULT_RIVET_PROJ_CLONE(ZFinder)
Clone on the heap.
const Particles & bosons() const
Definition: ZFinder.hh:75
void clear()
Clear the projection.
Definition: ZFinder.hh:106
CmpState compare(const Projection &p) const
Compare projections.
double p(const ParticleBase &p)
Unbound function access to p.
Definition: ParticleBaseUtils.hh:653
int pid(const Particle &p)
Unbound function access to PID code.
Definition: ParticleUtils.hh:23
Definition: MC_Cent_pPb.hh:10