Rivet: /Users/chrisg/software/rivet/include/Rivet/Projections/ZFinder.hh Source File

| Rivet 3.1.9

ZFinder.hh
1// -*- C++ -*-
2#ifndef RIVET_ZFinder_HH
3#define RIVET_ZFinder_HH
4
5#include "Rivet/Projections/FinalState.hh"
6#include "Rivet/Projections/DressedLeptons.hh"
7#include "Rivet/Projections/VetoedFinalState.hh"
8
9namespace Rivet {
10
11
18 class ZFinder : public ParticleFinder {
19 public:
20
21 enum class ChargedLeptons { PROMPT, ALL };
22 enum class ClusterPhotons { NONE, NODECAY, ALL };
23 enum class AddPhotons { NO, YES };
24
26
27
41 ZFinder(const FinalState& inputfs,
42 const Cut& cuts,
43 PdgId pid,
44 double minmass, double maxmass,
45 double dRmax=0.1,
46 ChargedLeptons chLeptons=ChargedLeptons::PROMPT,
47 ClusterPhotons clusterPhotons=ClusterPhotons::NODECAY,
48 AddPhotons trackPhotons=AddPhotons::NO,
49 double masstarget=91.2*GeV);
50
53 ZFinder(const FinalState& inputfs,
54 const Cut& cuts,
55 PdgId pid,
56 double minmass, double maxmass,
57 double dRmax,
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)
63 { }
64
65
67 DEFAULT_RIVET_PROJ_CLONE(ZFinder);
68
70
71
75 const Particles& bosons() const { return particles(); }
77 const Particle& boson() const { return bosons().front(); }
78
79
85 const Particles & constituentLeptons() const;
86 const Particles & constituents() const { return constituentLeptons(); }
87
91 const VetoedFinalState& remainingFinalState() const;
92
93
94 protected:
95
97 void project(const Event& e);
98
100 CmpState compare(const Projection& p) const;
101
102
103 public:
104
106 void clear() { _theParticles.clear(); }
107
109 using Projection::operator =;
110
111
112 protected:
113
115 double _minmass, _maxmass, _masstarget;
116
119 AddPhotons _trackPhotons;
120
122 PdgId _pid;
123
124 };
125
126
127}
128
129#endif
Rivet::Event
Representation of a HepMC event, and enabler of Projection caching.
Definition Event.hh:22
Rivet::FinalState
Project out all final-state particles in an event. Probably the most important projection in Rivet!
Definition FinalState.hh:12
Rivet::ParticleFinder
Base class for projections which return subsets of an event's particles.
Definition ParticleFinder.hh:11
Rivet::ParticleFinder::particles
virtual const Particles & particles() const
Get the particles in no particular order, with no cuts.
Definition ParticleFinder.hh:52
Rivet::Particle
Particle representation, either from a HepMC::GenEvent or reconstructed.
Definition Particle.hh:53
Rivet::Particles
Specialised vector of Particle objects.
Definition Particle.hh:25
Rivet::Projection
Base class for all Rivet projections.
Definition Projection.hh:29
Rivet::VetoedFinalState
FS modifier to exclude classes of particles from the final state.
Definition VetoedFinalState.hh:11
Rivet::ZFinder
Convenience finder of leptonically decaying Zs.
Definition ZFinder.hh:18
Rivet::ZFinder::boson
const Particle & boson() const
Access to the found boson (assuming it exists).
Definition ZFinder.hh:77
Rivet::ZFinder::ZFinder
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
Rivet::ZFinder::remainingFinalState
const VetoedFinalState & remainingFinalState() const
Rivet::ZFinder::constituentLeptons
const Particles & constituentLeptons() const
Rivet::ZFinder::ZFinder
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.
Rivet::ZFinder::project
void project(const Event &e)
Apply the projection on the supplied event.
Rivet::ZFinder::DEFAULT_RIVET_PROJ_CLONE
DEFAULT_RIVET_PROJ_CLONE(ZFinder)
Clone on the heap.
Rivet::ZFinder::bosons
const Particles & bosons() const
Definition ZFinder.hh:75
Rivet::ZFinder::clear
void clear()
Clear the projection.
Definition ZFinder.hh:106
Rivet::ZFinder::compare
CmpState compare(const Projection &p) const
Compare projections.
Rivet::Kin::p
double p(const ParticleBase &p)
Unbound function access to p.
Definition ParticleBaseUtils.hh:684
Rivet::pid
int pid(const Particle &p)
Unbound function access to PID code.
Definition ParticleUtils.hh:23
Rivet
Definition MC_Cent_pPb.hh:10