rivet is hosted by Hepforge, IPPP Durham
Rivet  2.7.0
Rivet::ParticleFinder Class Referenceabstract

Base class for projections which return subsets of an event's particles. More...

#include <ParticleFinder.hh>

Inheritance diagram for Rivet::ParticleFinder:
Rivet::Projection Rivet::ProjectionApplier Rivet::FinalState Rivet::PartonicTops Rivet::PrimaryParticles Rivet::SmearedParticles Rivet::WFinder Rivet::ZFinder Rivet::LossyFinalState< ConstRandomFilter > Rivet::ChargedFinalState Rivet::ChargedLeptons Rivet::DISFinalState Rivet::DressedLeptons Rivet::FinalPartons Rivet::HadronicFinalState Rivet::HeavyHadrons Rivet::IdentifiedFinalState Rivet::InvMassFinalState Rivet::LeadingParticlesFinalState Rivet::LossyFinalState< FILTER > Rivet::MergedFinalState Rivet::NeutralFinalState Rivet::NonHadronicFinalState Rivet::NonPromptFinalState Rivet::PrimaryHadrons Rivet::PromptFinalState Rivet::TauFinder Rivet::UnstableParticles Rivet::VetoedFinalState Rivet::VisibleFinalState Rivet::ALICE::PrimaryParticles

Public Member Functions

virtual void project (const Event &e)=0
 Apply the projection to the event.
 
virtual int compare (const Projection &p) const
 Compare projections. More...
 
Object lifetime management
 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.
 
Particle accessors
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
 
- 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
 

For JetAlg compatibility

Todo:
Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
typedef Particle entity_type
 
typedef Particles collection_type
 
const collection_type & entities () const
 Template-usable interface common to JetAlg.
 

Additional Inherited Members

- 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

Base class for projections which return subsets of an event's particles.

Member Function Documentation

◆ compare()

◆ particles() [1/6]

Particles Rivet::ParticleFinder::particles ( const Cut &  c) const
inline

Get the particles with selection cuts.

Note
Returns a copy rather than a reference, due to the cuts.

References Rivet::filter_select(), and particles().

◆ particles() [2/6]

Particles Rivet::ParticleFinder::particles ( const ParticleSelector &  selector) const
inline

Get the particles with selection cuts via a functor.

Note
Returns a copy rather than a reference, due to the cuts.

References Rivet::filter_select(), and particles().

◆ particles() [3/6]

Particles Rivet::ParticleFinder::particles ( const ParticleSorter &  sorter,
const Cut &  c = Cuts::open() 
) const
inline

Get the particles, ordered by supplied sorting function object

Note
Returns a copy rather than a reference, due to cuts and sorting.

References particles(), and Rivet::sortBy().

◆ particles() [4/6]

Particles Rivet::ParticleFinder::particles ( const Cut &  c,
const ParticleSorter &  sorter 
) const
inline

Get the particles, ordered by supplied sorting function object

Note
Returns a copy rather than a reference, due to cuts and sorting.

References particles(), and Rivet::sortBy().

◆ particles() [5/6]

Particles Rivet::ParticleFinder::particles ( const ParticleSelector &  selector,
const ParticleSorter &  sorter 
) const
inline

Get the particles, ordered by a sorting functor and filtered by a selection functor

Note
Returns a copy rather than a reference, due to cuts and sorting.

References particles(), and Rivet::sortBy().

◆ particles() [6/6]

Particles Rivet::ParticleFinder::particles ( const ParticleSorter &  sorter,
const ParticleSelector &  selector 
) const
inline

Get the particles, ordered by a sorting functor and filtered by a selection functor

Note
Returns a copy rather than a reference, due to cuts and sorting.

References particles(), and Rivet::sortBy().

◆ particlesByPt() [1/3]

Particles Rivet::ParticleFinder::particlesByPt ( const Cut &  c = Cuts::open()) const
inline

Get the particles, ordered by decreasing $ p_T $ and with optional cuts

This is a very common use-case, so is available as syntatic sugar for particles(c, cmpMomByPt).

References Rivet::cmpMomByPt(), and particles().

Referenced by Rivet::SmearedParticles::project().

◆ particlesByPt() [2/3]

Particles Rivet::ParticleFinder::particlesByPt ( const ParticleSelector &  selector) const
inline

Get the particles, ordered by decreasing $ p_T $ and with optional cuts

This is a very common use-case, so is available as syntatic sugar for particles(f, cmpMomByPt).

References Rivet::cmpMomByPt(), and particles().

◆ particlesByPt() [3/3]

Particles Rivet::ParticleFinder::particlesByPt ( double  ptmin) const
inline

Get the particles, ordered by decreasing $ p_T $ and with a cut on minimum $ p_T $

This is a very common use-case, so is available as syntatic sugar for particles(Cuts::pT >= ptmin, cmpMomByPt).

References Rivet::cmpMomByPt(), and particles().

◆ rawParticles()

Particles Rivet::ParticleFinder::rawParticles ( ) const
inline

Get the raw particles in no particular order, with no cuts

Note
Raw particles are the final-state constituents, as opposed to potentially composite particles returned as the finder's particles()

References particles().

Referenced by Rivet::VetoedFinalState::project().


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