rivet is hosted by Hepforge, IPPP Durham
Rivet  2.7.0
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::ParticleFinder Rivet::Projection Rivet::ProjectionApplier

Public Member Functions

const vector< Cut > & vetoDetails () const
 Get the list of particle IDs and $ p_T $ ranges to veto.
 
VetoedFinalStateaddVeto (const Cut &cut)
 Add a particle selection to be vetoed from the final state.
 
VetoedFinalStateaddVeto (PdgId pid, const Cut &cut=Cuts::OPEN)
 Add a particle selection to be vetoed from the final state.
 
VetoedFinalStateaddVetoPair (PdgId pid, const Cut &cut=Cuts::OPEN)
 Add a particle/antiparticle selection to be vetoed from the final state.
 
VetoedFinalStateaddVetoDetail (PdgId pid, double ptmin, double ptmax=numeric_limits< double >::max())
 Add a particle ID and $ p_T $ range to veto. More...
 
VetoedFinalStateaddVetoPairDetail (PdgId pid, double ptmin, double ptmax=numeric_limits< double >::max())
 Add a particle/antiparticle pair to veto in a given $ p_T $ range. More...
 
VetoedFinalStateaddVetoId (PdgId pid)
 Add a particle ID to veto (all $ p_T $ range will be vetoed)
 
VetoedFinalStateaddVetoPairId (PdgId pid)
 Add a particle/antiparticle pair to veto. More...
 
VetoedFinalStatesetVetoDetails (const vector< Cut > &cuts)
 Set the list of particle selections to veto.
 
VetoedFinalStatevetoNeutrinos ()
 Veto all neutrinos (convenience method)
 
VetoedFinalStateaddCompositeMassVeto (double mass, double width, int nProducts=2)
 
VetoedFinalStateaddDecayProductsVeto (PdgId pid)
 
VetoedFinalStateaddVetoOnThisFinalState (const ParticleFinder &fs)
 Veto particles from a supplied final state.
 
VetoedFinalStatereset ()
 Clear the list of particle IDs and ranges to veto.
 
void project (const Event &e)
 Apply the projection on the supplied event. More...
 
int compare (const Projection &p) const
 Compare projections. More...
 
Constructors
 VetoedFinalState (const FinalState &fsp, const vector< Cut > &cuts)
 Constructor with a specific FinalState and a cuts list to veto.
 
 VetoedFinalState (const FinalState &fsp, const Cut &cut)
 Constructor with a specific FinalState and a single cut to veto.
 
 VetoedFinalState (const vector< Cut > &cuts)
 Constructor with a default FinalState and a cuts list to veto.
 
 VetoedFinalState (const Cut &cut)
 Constructor with a default FinalState and a single cut to veto.
 
 VetoedFinalState (const FinalState &fsp, const vector< PdgId > &vetopids)
 Constructor with a specific FinalState and a PID list to veto.
 
 VetoedFinalState (const FinalState &fsp, PdgId vetopid)
 Constructor with a specific FinalState and a PID to veto.
 
 VetoedFinalState (const vector< PdgId > &vetopids)
 Constructor with a default FinalState and a PID list to veto.
 
 VetoedFinalState (PdgId vetopid)
 Constructor with a default FinalState and a PID to veto.
 
 VetoedFinalState (const FinalState &fsp)
 Constructor with specific FinalState but no cuts.
 
 VetoedFinalState ()
 Default constructor with default FinalState and no cuts.
 
 VetoedFinalState (const map< PdgId, pair< double, double >> &vetocodes)
 
 DEFAULT_RIVET_PROJ_CLONE (VetoedFinalState)
 Clone on the heap.
 
- Public Member Functions inherited from Rivet::FinalState
virtual bool accept (const Particle &p) const
 Decide if a particle is to be accepted or not. More...
 
 FinalState (const Cut &c=Cuts::open())
 Construction using Cuts object.
 
 FinalState (const FinalState &fsp, const Cut &c)
 Construction using another FinalState and a Cuts object.
 
 FinalState (double mineta, double maxeta, double minpt=0.0 *GeV)
 
 DEFAULT_RIVET_PROJ_CLONE (FinalState)
 Clone on the heap.
 
- Public Member Functions inherited from Rivet::ParticleFinder
 ParticleFinder (const Cut &c=Cuts::OPEN)
 Construction using Cuts object.
 
virtual ~ParticleFinder ()
 Virtual destructor for inheritance.
 
virtual unique_ptr< Projectionclone () const =0
 Clone on the heap.
 
size_t size () const
 Count the final-state particles.
 
size_t size (const Cut &c) const
 Count the final-state particles after a Cut is applied.
 
size_t size (const ParticleSelector &s) const
 Count the final-state particles after a selection functor is applied.
 
bool empty () const
 Is this final state empty?
 
bool empty (const Cut &c) const
 Is this final state empty after a Cut is applied?
 
bool empty (const ParticleSelector &s) const
 Is this final state empty after a selection functor is applied?
 
virtual const Particles & particles () const
 Get the particles in no particular order, with no cuts.
 
Particles rawParticles () const
 
Particles particles (const Cut &c) const
 Get the particles with selection cuts. More...
 
Particles particles (const ParticleSelector &selector) const
 Get the particles with selection cuts via a functor. More...
 
Particles particles (const ParticleSorter &sorter, const Cut &c=Cuts::open()) const
 
Particles particles (const Cut &c, const ParticleSorter &sorter) const
 
Particles particles (const ParticleSelector &selector, const ParticleSorter &sorter) const
 
Particles particles (const ParticleSorter &sorter, const ParticleSelector &selector) const
 
Particles particlesByPt (const Cut &c=Cuts::open()) const
 
Particles particlesByPt (const ParticleSelector &selector) const
 
Particles particlesByPt (double ptmin) const
 
const collection_type & entities () const
 Template-usable interface common to JetAlg.
 
- Public Member Functions inherited from Rivet::Projection
virtual std::string name () const
 Get the name of the projection.
 
 Projection ()
 The default constructor.
 
virtual ~Projection ()
 The destructor.
 
bool before (const Projection &p) const
 
virtual const std::set< PdgIdPair > beamPairs () const
 
ProjectionaddPdgIdPair (PdgId beam1, PdgId beam2)
 
- Public Member Functions inherited from Rivet::ProjectionApplier
 ProjectionApplier ()
 Constructor.
 
void markAsOwned () const
 Mark this object as owned by a proj-handler.
 
std::set< ConstProjectionPtr > getProjections () const
 Get the contained projections, including recursion.
 
bool hasProjection (const std::string &name) const
 Does this applier have a projection registered under the name name?
 
template<typename PROJ >
const PROJ & getProjection (const std::string &name) const
 
template<typename PROJ >
const PROJ & get (const std::string &name) const
 
const ProjectiongetProjection (const std::string &name) const
 
template<typename PROJ >
const PROJ & applyProjection (const Event &evt, const Projection &proj) const
 Apply the supplied projection on event evt. More...
 
template<typename PROJ >
const PROJ & apply (const Event &evt, const Projection &proj) const
 
template<typename PROJ >
const PROJ & applyProjection (const Event &evt, const PROJ &proj) const
 Apply the supplied projection on event evt. More...
 
template<typename PROJ >
const PROJ & apply (const Event &evt, const PROJ &proj) const
 
template<typename PROJ >
const PROJ & applyProjection (const Event &evt, const std::string &name) const
 
template<typename PROJ >
const PROJ & apply (const Event &evt, const std::string &name) const
 
template<typename PROJ >
const PROJ & apply (const std::string &name, const Event &evt) const
 

Additional Inherited Members

- Public Types inherited from Rivet::ParticleFinder
typedef Particle entity_type
 
typedef Particles collection_type
 
- Protected Member Functions inherited from Rivet::Projection
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.
 
Cmp< ProjectionmkNamedPCmp (const Projection &otherparent, const std::string &pname) const
 
Cmp< ProjectionmkPCmp (const Projection &otherparent, const std::string &pname) const
 
virtual Projectionoperator= (const Projection &)
 Block Projection copying.
 
- 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 & declareProjection (const PROJ &proj, const std::string &name)
 Register a contained projection. More...
 
template<typename PROJ >
const PROJ & declare (const PROJ &proj, const std::string &name)
 Register a contained projection (user-facing version) More...
 
template<typename PROJ >
const PROJ & declare (const std::string &name, const PROJ &proj)
 Register a contained projection (user-facing, arg-reordered version) More...
 
template<typename PROJ >
const PROJ & addProjection (const PROJ &proj, const std::string &name)
 Register a contained projection (user-facing version) More...
 

Detailed Description

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

Constructor & Destructor Documentation

◆ VetoedFinalState()

Rivet::VetoedFinalState::VetoedFinalState ( const map< PdgId, pair< double, double >> &  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 addVeto(), and DEFAULT_RIVET_PROJ_CLONE().

Member Function Documentation

◆ addCompositeMassVeto()

VetoedFinalState& Rivet::VetoedFinalState::addCompositeMassVeto ( double  mass,
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 ( PdgId  pid)
inline

Veto the decay products of particle with PDG code pid

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 ( PdgId  pid,
double  ptmin,
double  ptmax = numeric_limits<double>::max() 
)
inline

Add a particle ID and $ p_T $ range to veto.

Particles with $ p_T $ IN the given range will be rejected.

References addVeto().

◆ addVetoPairDetail()

VetoedFinalState& Rivet::VetoedFinalState::addVetoPairDetail ( PdgId  pid,
double  ptmin,
double  ptmax = numeric_limits<double>::max() 
)
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 addVetoPair().

◆ addVetoPairId()

VetoedFinalState& Rivet::VetoedFinalState::addVetoPairId ( PdgId  pid)
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 addVetoPair().

Referenced by vetoNeutrinos().

◆ compare()

int Rivet::VetoedFinalState::compare ( const Projection p) const
virtual

Compare projections.

Todo:
We can do better than this...

Reimplemented from Rivet::FinalState.

References Rivet::cmp(), and Rivet::Projection::mkNamedPCmp().

Referenced by reset().

◆ project()

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

Apply the projection on the supplied event.

Todo:
YUCK! Clean up...
Todo:
There must be a nice way to do this – an STL algorithm (or we provide a nicer wrapper)
Todo:
Could use any() here?

Reimplemented from Rivet::FinalState.

References Rivet::Particle::genParticle(), Rivet::ifilter_discard(), Rivet::particles(), Rivet::ParticleFinder::particles(), Rivet::ParticleFinder::rawParticles(), and Rivet::ParticleFinder::size().

Referenced by reset().


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