2 #ifndef RIVET_WFinder_HH 3 #define RIVET_WFinder_HH 5 #include "Rivet/Projections/FinalState.hh" 6 #include "Rivet/Projections/MissingMomentum.hh" 7 #include "Rivet/Projections/VetoedFinalState.hh" 19 enum class ChargedLeptons { PROMPT, ALL };
20 enum class ClusterPhotons { NONE, NODECAY, ALL };
21 enum class AddPhotons { NO, YES };
22 enum class MassWindow { M, MT };
46 const Cut& leptoncuts,
48 double minmass,
double maxmass,
51 ChargedLeptons chLeptons=ChargedLeptons::PROMPT,
52 ClusterPhotons clusterPhotons=ClusterPhotons::NODECAY,
53 AddPhotons trackPhotons=AddPhotons::NO,
54 MassWindow masstype=MassWindow::M,
55 double masstarget=80.4*GeV);
118 void clear() { _theParticles.clear(); }
124 double _minmass, _maxmass, _masstarget;
127 bool _useTransverseMass;
134 AddPhotons _trackPhotons;
140 Particles _leptons, _neutrinos;
Definition: MC_Cent_pPb.hh:10
double mT() const
Calculate the transverse mass of the W, from the charged lepton and neutrino.
Definition: WFinder.hh:100
const VetoedFinalState & remainingFinalState() const
virtual const Particles & particles() const
Get the particles in no particular order, with no cuts.
Definition: ParticleFinder.hh:49
const Particles & constituentLeptons() const
Access to the Ws' constituent clustered leptons.
Definition: WFinder.hh:73
const Particle & boson() const
Definition: WFinder.hh:68
Convenience finder of leptonically decaying W.
Definition: WFinder.hh:16
Particle representation, either from a HepMC::GenEvent or reconstructed.
Definition: Particle.hh:18
Base class for projections which return subsets of an event's particles.
Definition: ParticleFinder.hh:11
int pid(const Particle &p)
Unbound function access to PID code.
Definition: ParticleUtils.hh:23
DEFAULT_RIVET_PROJ_CLONE(WFinder)
Clone on the heap.
bool empty() const
Is this final state empty?
Definition: ParticleFinder.hh:42
FS modifier to exclude classes of particles from the final state.
Definition: VetoedFinalState.hh:11
void project(const Event &e)
Apply the projection on the supplied event.
Representation of a HepMC event, and enabler of Projection caching.
Definition: Event.hh:22
const MissingMomentum & missingMom() const
Access to the missing momentum projection used to find the "neutrino".
const Particles & bosons() const
Access to the found bosons, equivalent to constituents()
Definition: WFinder.hh:65
Calculate missing , etc.
Definition: MissingMomentum.hh:19
double mT(double pT1, double pT2, double dphi)
Definition: MathUtils.hh:630
Project out all final-state particles in an event. Probably the most important projection in Rivet! ...
Definition: FinalState.hh:12
WFinder(const FinalState &inputfs, const Cut &leptoncuts, PdgId pid, double minmass, double maxmass, double missingET, double dRmax=0.1, ChargedLeptons chLeptons=ChargedLeptons::PROMPT, ClusterPhotons clusterPhotons=ClusterPhotons::NODECAY, AddPhotons trackPhotons=AddPhotons::NO, MassWindow masstype=MassWindow::M, double masstarget=80.4 *GeV)
Constructor taking cuts object.
Base class for all Rivet projections.
Definition: Projection.hh:29
const Particle & constituentNeutrino() const
Definition: WFinder.hh:86
const Particle & constituentLepton() const
Definition: WFinder.hh:76
const Particles & constituentNeutrinos() const
Definition: WFinder.hh:83
CmpState compare(const Projection &p) const
Compare projections.
void clear()
Clear the projection.
Definition: WFinder.hh:118