Rivet  1.8.3
Public Types | Public Member Functions | Protected Member Functions | List of all members
Rivet::VetoedFinalState Class Reference

FS modifier to exclude classes of particles from the final state. More...

#include <VetoedFinalState.hh>

Inheritance diagram for Rivet::VetoedFinalState:
Rivet::FinalState Rivet::Projection Rivet::ProjectionApplier

Public Types

typedef pair< double, double > BinaryCut
 Typedef for a pair of back-to-back cuts.
 
typedef map< long, BinaryCutVetoDetails
 Typedef for a vetoing entry.
 
typedef multimap< int, BinaryCutCompositeVeto
 Typedef for a veto on a composite particle mass.
 
- Public Types inherited from Rivet::FinalState
typedef Particle entity_type
 
typedef ParticleVector collection_type
 

Public Member Functions

const VetoDetailsvetoDetails () const
 Get the list of particle IDs and $ p_T $ ranges to veto.
 
VetoedFinalStateaddVetoDetail (const long id, const double ptmin, const double ptmax)
 
VetoedFinalStateaddVetoPairDetail (const long id, const double ptmin, const double ptmax)
 
VetoedFinalStateaddVetoPairId (const long id)
 
VetoedFinalStateaddVetoId (const long id)
 Add a particle ID to veto (all $ p_T $ range will be vetoed).
 
VetoedFinalStatevetoNeutrinos ()
 Veto all neutrinos (convenience method)
 
VetoedFinalStateaddCompositeMassVeto (const double &mass, const double &width, int nProducts=2)
 
VetoedFinalStateaddDecayProductsVeto (const long id)
 
VetoedFinalStatesetVetoDetails (const VetoDetails &ids)
 Set the list of particle IDs and $ p_T $ ranges to veto.
 
VetoedFinalStatereset ()
 Clear the list of particle IDs and ranges to veto.
 
VetoedFinalStateaddVetoOnThisFinalState (const FinalState &fs)
 Veto particles from a supplied final state.
 
Constructors
 VetoedFinalState ()
 Default constructor.
 
 VetoedFinalState (const FinalState &fsp)
 Constructor with specific FinalState.
 
 VetoedFinalState (const VetoDetails &vetocodes)
 
 VetoedFinalState (const FinalState &fsp, const VetoDetails &vetocodes)
 
virtual const Projectionclone () const
 Clone on the heap.
 
- Public Member Functions inherited from Rivet::FinalState
virtual const ParticleVector & particles () const
 Get the final-state particles.
 
template<typename F >
const ParticleVector & particles (F sorter) const
 Get the final-state particles, ordered by supplied sorting function object.
 
const ParticleVector & particlesByPt () const
 Get the final-state particles, ordered by decreasing $ p_T $.
 
const ParticleVector & particlesByP () const
 Get the final-state particles, ordered by decreasing $ p $.
 
const ParticleVector & particlesByE () const
 Get the final-state particles, ordered by decreasing $ E $.
 
const ParticleVector & particlesByEt () const
 Get the final-state particles, ordered by decreasing $ E_T $.
 
const ParticleVector & particlesByEta () const
 Get the final-state particles, ordered by increasing $ \eta $.
 
const ParticleVector & particlesByModEta () const
 Get the final-state particles, ordered by increasing $ |\eta| $.
 
const ParticleVector & particlesByRapidity () const
 Get the final-state particles, ordered by increasing $ y $.
 
const ParticleVector & particlesByModRapidity () const
 Get the final-state particles, ordered by increasing $ |y| $.
 
virtual size_t size () const
 Access the projected final-state particles.
 
virtual bool empty () const
 Is this final state empty?
 
virtual bool isEmpty () const
 
virtual double ptMin () const
 Minimum- $ p_\perp $ requirement.
 
const collection_type & entities () const
 Template-usable interface common to JetAlg.
 
 FinalState (double mineta=-MAXRAPIDITY, double maxeta=MAXRAPIDITY, double minpt=0.0 *GeV)
 
 FinalState (const vector< pair< double, double > > &etaRanges, double minpt=0.0 *GeV)
 
- Public Member Functions inherited from Rivet::Projection
bool before (const Projection &p) const
 
virtual const std::set< PdgIdPair > beamPairs () const
 
virtual std::string name () const
 Get the name of the projection.
 
ProjectionaddPdgIdPair (PdgId beam1, PdgId beam2)
 Add a colliding beam pair.
 
LoggetLog () const
 Get a Log object based on the getName() property of the calling projection object.
 
void setName (const std::string &name)
 Used by derived classes to set their name.
 
 Projection ()
 The default constructor.
 
virtual ~Projection ()
 The destructor.
 
- Public Member Functions inherited from Rivet::ProjectionApplier
 ProjectionApplier ()
 Constructor.
 
std::set< ConstProjectionPtr > getProjections () const
 Get the contained projections, including recursion.
 
template<typename PROJ >
const PROJ & getProjection (const std::string &name) const
 Get the named projection, specifying return type via a template argument.
 
const ProjectiongetProjection (const std::string &name) const
 
template<typename PROJ >
const PROJ & applyProjection (const Event &evt, const PROJ &proj) const
 Apply the supplied projection on event.
 
template<typename PROJ >
const PROJ & applyProjection (const Event &evt, const Projection &proj) const
 Apply the supplied projection on event.
 
template<typename PROJ >
const PROJ & applyProjection (const Event &evt, const std::string &name) const
 Apply the named projection on event.
 

Protected Member Functions

void project (const Event &e)
 Apply the projection on the supplied event. More...
 
int compare (const Projection &p) const
 Compare projections.
 
- Protected Member Functions inherited from Rivet::FinalState
bool accept (const Particle &p) const
 Decide if a particle is to be accepted or not.
 
- Protected Member Functions inherited from Rivet::Projection
Cmp< ProjectionmkNamedPCmp (const Projection &otherparent, const std::string &pname) const
 
Cmp< ProjectionmkPCmp (const Projection &otherparent, const std::string &pname) const
 
- Protected Member Functions inherited from Rivet::ProjectionApplier
LoggetLog () const
 
ProjectionHandlergetProjHandler () const
 Get a reference to the ProjectionHandler for this thread.
 
template<typename PROJ >
const PROJ & addProjection (const PROJ &proj, const std::string &name)
 

Detailed Description

FS modifier to exclude classes of particles from the final state.

Constructor & Destructor Documentation

◆ VetoedFinalState() [1/2]

Rivet::VetoedFinalState::VetoedFinalState ( const VetoDetails vetocodes)
inline

You can add a map of ID plus a pair containing $ p_{Tmin} $ and $ p_{Tmax} $ - these define the range of particles to be vetoed.

References Rivet::ProjectionApplier::addProjection(), Rivet::FinalState::FinalState(), and Rivet::Projection::setName().

◆ VetoedFinalState() [2/2]

Rivet::VetoedFinalState::VetoedFinalState ( const FinalState fsp,
const VetoDetails vetocodes 
)
inline

You can add a map of ID plus a pair containing $ p_{Tmin} $ and $ p_{Tmax} $ - these define the range of particles to be vetoed. This version also supplies a specifi FinalState to be used.

References Rivet::ProjectionApplier::addProjection(), and Rivet::Projection::setName().

Member Function Documentation

◆ addCompositeMassVeto()

VetoedFinalState& Rivet::VetoedFinalState::addCompositeMassVeto ( const double &  mass,
const double &  width,
int  nProducts = 2 
)
inline

Add a veto on composite masses within a given width. The composite mass is composed of nProducts decay products @ todo might we want to specify a range of pdg ids for the decay products?

◆ addDecayProductsVeto()

VetoedFinalState& Rivet::VetoedFinalState::addDecayProductsVeto ( const long  id)
inline

Veto the decay products of particle with pdg id

Todo:
Need HepMC to sort themselves out and keep vector bosons from the hard vtx in the event record before this will work reliably for all pdg ids

◆ addVetoDetail()

VetoedFinalState& Rivet::VetoedFinalState::addVetoDetail ( const long  id,
const double  ptmin,
const double  ptmax 
)
inline

Add a particle ID and $ p_T $ range to veto. Particles with $ p_T $ IN the given range will be rejected.

Referenced by addVetoPairDetail().

◆ addVetoPairDetail()

VetoedFinalState& Rivet::VetoedFinalState::addVetoPairDetail ( const long  id,
const double  ptmin,
const double  ptmax 
)
inline

Add a particle/antiparticle pair to veto in a given $ p_T $ range. Given a single ID, both the particle and its conjugate antiparticle will be rejected if their $ p_T $ is IN the given range.

References addVetoDetail().

◆ addVetoPairId()

VetoedFinalState& Rivet::VetoedFinalState::addVetoPairId ( const long  id)
inline

Add a particle/antiparticle pair to veto. Given a single ID, both the particle and its corresponding antiparticle (for all $ p_T $ values) will be vetoed.

References addVetoId().

Referenced by vetoNeutrinos().

◆ project()

void Rivet::VetoedFinalState::project ( const Event e)
protectedvirtual

The documentation for this class was generated from the following files: