Rivet  1.8.0
Public Types | Public Member Functions | Protected Member Functions
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

List of all members.

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| $.
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.
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
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: