2#ifndef RIVET_DISLepton_HH
3#define RIVET_DISLepton_HH
5#include "Rivet/Projections/Beam.hh"
6#include "Rivet/Projections/PromptFinalState.hh"
7#include "Rivet/Projections/HadronicFinalState.hh"
8#include "Rivet/Projections/LeptonFinder.hh"
9#include "Rivet/Projections/UndressBeamLeptons.hh"
10#include "Rivet/Projections/VetoedFinalState.hh"
11#include "Rivet/Particle.hh"
12#include "Rivet/Event.hh"
26 LeptonReco lreco=LeptonReco::ALL, ObjOrdering lsort=ObjOrdering::ENERGY,
27 double beamundresstheta=0.0,
double isolDR=0.0,
double dressDR=0.0)
28 : _isolDR(isolDR), _lsort(lsort), _lreco(lreco)
34 if (beamundresstheta > 0.0) {
45 case LeptonReco::ALL_DRESSED:
48 case LeptonReco::PROMPT_BARE:
51 case LeptonReco::PROMPT_DRESSED:
65 double beamundresstheta=0.0,
double isolDR=0.0,
double dressDR=0.0)
66 :
DISLepton(cuts, lreco, ObjOrdering::ENERGY, beamundresstheta, isolDR, dressDR)
71 double beamundresstheta=0.0,
double isolDR=0.0,
double dressDR=0.0)
72 :
DISLepton(Cuts::OPEN, lreco, lsort, beamundresstheta, isolDR, dressDR)
77 double beamundresstheta=0.0,
double isolDR=0.0,
double dressDR=0.0)
78 :
DISLepton(Cuts::OPEN, lreco, ObjOrdering::ENERGY, beamundresstheta, isolDR, dressDR)
88 using Projection::operator =;
121 void clear() { _theParticles.clear(); }
Project out the incoming beams.
Definition Beam.hh:15
Get the incoming and outgoing leptons in a DIS event.
Definition DISLepton.hh:18
DISLepton(Cut &cuts, LeptonReco lreco=LeptonReco::ALL, double beamundresstheta=0.0, double isolDR=0.0, double dressDR=0.0)
Constructor without lepton-ordering spec, requiring cuts.
Definition DISLepton.hh:64
const Particle & out() const
The outgoing lepton.
Definition DISLepton.hh:106
virtual void project(const Event &e)
Perform the projection operation on the supplied event.
const Particle & in() const
The incoming lepton.
Definition DISLepton.hh:103
void clear()
Clear the projection.
Definition DISLepton.hh:121
const VetoedFinalState & remainingFinalState() const
virtual CmpState compare(const Projection &p) const
Compare with other projections.
int pzSign() const
Sign of the incoming lepton pz component.
Definition DISLepton.hh:109
DISLepton(const Cut &cuts=Cuts::OPEN, LeptonReco lreco=LeptonReco::ALL, ObjOrdering lsort=ObjOrdering::ENERGY, double beamundresstheta=0.0, double isolDR=0.0, double dressDR=0.0)
Constructor with optional cuts first.
Definition DISLepton.hh:25
DISLepton(LeptonReco lreco, ObjOrdering lsort=ObjOrdering::ENERGY, double beamundresstheta=0.0, double isolDR=0.0, double dressDR=0.0)
Constructor without cuts, requiring lepton reco spec.
Definition DISLepton.hh:70
RIVET_DEFAULT_PROJ_CLONE(DISLepton)
Clone on the heap.
LeptonReco reconstructionMode() const
Lepton reconstruction mode.
Definition DISLepton.hh:112
DISLepton(LeptonReco lreco, double beamundresstheta=0.0, double isolDR=0.0, double dressDR=0.0)
Constructor without cuts or lepton-ordering spec, requiring lepton reco spec.
Definition DISLepton.hh:76
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
Project only hadronic final state particles.
Definition HadronicFinalState.hh:16
Reconstruct leptons, generally including "dressing" with clustered photons.
Definition LeptonFinder.hh:29
Particle representation, either from a HepMC::GenEvent or reconstructed.
Definition Particle.hh:45
const PROJ & declare(const PROJ &proj, const std::string &name) const
Register a contained projection (user-facing version)
Definition ProjectionApplier.hh:175
Base class for all Rivet projections.
Definition Projection.hh:29
void setName(const std::string &name)
Used by derived classes to set their name.
Definition Projection.hh:148
Find final state particles directly connected to the hard process.
Definition PromptFinalState.hh:25
Incoming lepton beams with collinear photons subtracted.
Definition UndressBeamLeptons.hh:12
FS modifier to exclude classes of particles from the final state.
Definition VetoedFinalState.hh:11
VetoedFinalState & addVetoOnThisFinalState(const ParticleFinder &fs)
Definition VetoedFinalState.hh:192
Definition MC_CENT_PPB_Projections.hh:10
constexpr std::enable_if< std::is_arithmetic< NUM >::value, int >::type sign(NUM val)
Find the sign of a number.
Definition MathUtils.hh:265
LeptonReco
Reconstruction/dressing mode for leptons.
Definition DressedLepton.hh:15