Rivet::VetoedFinalState Class Reference

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

`#include <VetoedFinalState.hh>`

Inheritance diagram for Rivet::VetoedFinalState:

## 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 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 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 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 .
const ParticleVector & | particlesByP () const
| Get the final-state particles, ordered by decreasing .
const ParticleVector & | particlesByE () const
| Get the final-state particles, ordered by decreasing .
const ParticleVector & | particlesByEt () const
| Get the final-state particles, ordered by decreasing .
const ParticleVector & | particlesByEta () const
| Get the final-state particles, ordered by increasing .
const ParticleVector & | particlesByModEta () const
| Get the final-state particles, ordered by increasing .
const ParticleVector & | particlesByRapidity () const
| Get the final-state particles, ordered by increasing .
const ParticleVector & | particlesByModRapidity () const
| Get the final-state particles, ordered by increasing .
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- 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 and - 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 and - 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 range to veto. Particles with 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 range. Given a single ID, both the particle and its conjugate antiparticle will be rejected if their 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 values) will be vetoed.

References addVetoId().

Referenced by vetoNeutrinos().

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

protected virtual

Apply the projection on the supplied event.

Todo:
  Improve!

Reimplemented from Rivet::FinalState.

References Rivet::Projection::getLog(), Rivet::Log::isActive(), Rivet::mass(), Rivet::mass2(), Rivet::Particle::momentum(), Rivet::FinalState::particles(), Rivet::Particle::pdgId(), and Rivet::FourMomentum::pT().

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

- include/Rivet/Projections/VetoedFinalState.hh
- src/Projections/VetoedFinalState.cc