Rivet  1.8.0
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 ParticleVectorparticles () const
 Get the final-state particles.
template<typename F >
const ParticleVectorparticles (F sorter) const
 Get the final-state particles, ordered by supplied sorting function object.
const ParticleVectorparticlesByPt () const
 Get the final-state particles, ordered by decreasing $ p_T $.
const ParticleVectorparticlesByP () const
 Get the final-state particles, ordered by decreasing $ p $.
const ParticleVectorparticlesByE () const
 Get the final-state particles, ordered by decreasing $ E $.
const ParticleVectorparticlesByEt () const
 Get the final-state particles, ordered by decreasing $ E_T $.
const ParticleVectorparticlesByEta () const
 Get the final-state particles, ordered by increasing $ \eta $.
const ParticleVectorparticlesByModEta () const
 Get the final-state particles, ordered by increasing $ |\eta| $.
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< PdgIdPairbeamPairs () 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< ConstProjectionPtrgetProjections () 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.
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
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

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: