2#ifndef RIVET_DressedLeptons_HH
3#define RIVET_DressedLeptons_HH
5#include "Rivet/Projection.hh"
6#include "Rivet/Projections/FinalState.hh"
7#include "Rivet/Projections/IdentifiedFinalState.hh"
8#include "Rivet/Config/RivetCommon.hh"
76 bool useDecayPhotons=
false,
77 bool useJetClustering=
false);
90 bool useDecayPhotons=
false,
91 bool useJetClustering=
false)
112 bool useDecayPhotons=
false,
113 bool useJetClustering=
false);
124 vector<DressedLepton> rtn;
134 vector<DressedLepton> rtn;
159 bool _useJetClustering;
A charged lepton meta-particle created by clustering photons close to the bare lepton.
Definition: DressedLeptons.hh:17
const Particle & bareLepton() const
Retrieve the bare lepton.
DressedLepton(const Particle &lepton, const Particles &photons, bool momsum=true)
void addPhoton(const Particle &p, bool momsum=true)
const Particles photons() const
Retrieve the clustered photons.
Definition: DressedLeptons.hh:38
DressedLepton(const Particle &dlepton)
Copy constructor (from Particle)
const Particles constituentPhotons() const
Definition: DressedLeptons.hh:41
const Particle & constituentLepton() const
Definition: DressedLeptons.hh:35
Cluster photons from a given FS to all charged particles (typically leptons)
Definition: DressedLeptons.hh:61
vector< DressedLepton > dressedLeptons() const
Retrieve the dressed leptons.
Definition: DressedLeptons.hh:123
void project(const Event &e)
Apply the projection on the supplied event.
CmpState compare(const Projection &p) const
Compare projections.
vector< DressedLepton > dressedLeptons(const ParticleSorter &sorter) const
Retrieve the dressed leptons ordered by supplied sorting functor.
Definition: DressedLeptons.hh:133
DressedLeptons(const FinalState &photons, const FinalState &bareleptons, double dRmax, const Cut &cut=Cuts::open(), bool useDecayPhotons=false, bool useJetClustering=false)
Constructor with distinct photon and lepton finders.
DEFAULT_RIVET_PROJ_CLONE(DressedLeptons)
Clone this projection.
DressedLeptons(const FinalState &allfs, double dRmax, const Cut &cut=Cuts::open(), bool useDecayPhotons=false, bool useJetClustering=false)
Constructor with a single input FinalState (used for both photons and bare leptons)
DressedLeptons(double dRmax, const Cut &cut=Cuts::open(), bool useDecayPhotons=false, bool useJetClustering=false)
Constructor with default input FinalState.
Definition: DressedLeptons.hh:89
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
double p() const
Get the 3-momentum magnitude directly.
Definition: ParticleBase.hh:110
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
const Particles & constituents() const
Direct constituents of this particle, returned by reference.
Definition: Particle.hh:285
Specialised vector of Particle objects.
Definition: Particle.hh:25
Base class for all Rivet projections.
Definition: Projection.hh:29
CONTAINER slice(const CONTAINER &c, int i, int j)
Slice of the container elements cf. Python's [i:j] syntax.
Definition: Utils.hh:583
bool cmpMomByPt(const FourMomentum &a, const FourMomentum &b)
Comparison to give a sorting by decreasing pT.
Definition: Vector4.hh:1346
double p(const ParticleBase &p)
Unbound function access to p.
Definition: ParticleBaseUtils.hh:653
const Cut & open()
Fully open cut singleton, accepts everything.
Definition: MC_Cent_pPb.hh:10