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, BinaryCut > VetoDetails
 Typedef for a vetoing entry.
 
typedef multimap< int, BinaryCut > CompositeVeto
 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 VetoDetails & vetoDetails () const
 Get the list of particle IDs and $ p_T $ ranges to veto.
 
VetoedFinalState & addVetoDetail (const long id, const double ptmin, const double ptmax)
 
VetoedFinalState & addVetoPairDetail (const long id, const double ptmin, const double ptmax)
 
VetoedFinalState & addVetoPairId (const long id)
 
VetoedFinalState & addVetoId (const long id)
 Add a particle ID to veto (all $ p_T $ range will be vetoed).
 
VetoedFinalState & vetoNeutrinos ()
 Veto all neutrinos (convenience method)
 
VetoedFinalState & addCompositeMassVeto (const double &mass, const double &width, int nProducts=2)
 
VetoedFinalState & addDecayProductsVeto (const long id)
 
VetoedFinalState & setVetoDetails (const VetoDetails &ids)
 Set the list of particle IDs and $ p_T $ ranges to veto.
 
VetoedFinalState & reset ()
 Clear the list of particle IDs and ranges to veto.
 
VetoedFinalState & addVetoOnThisFinalState (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 Projection * clone () 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.
 
Projection & addPdgIdPair (PdgId beam1, PdgId beam2)
 Add a colliding beam pair.
 
Log & getLog () 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 Projection & getProjection (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< Projection > mkNamedPCmp (const Projection &otherparent, const std::string &pname) const
 
Cmp< Projection > mkPCmp (const Projection &otherparent, const std::string &pname) const
 
- Protected Member Functions inherited from Rivet::ProjectionApplier
Log & getLog () const
 
ProjectionHandler & getProjHandler () 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

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().

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

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?

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
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().

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().

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().

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

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