2#ifndef RIVET_IdentifiedFinalState_HH
3#define RIVET_IdentifiedFinalState_HH
5#include "Rivet/Projections/FinalState.hh"
55 for (
const PdgId
pid :
pids) _pids.insert(
pid);
97 virtual const Particles& remainingParticles()
const {
98 return _remainingParticles;
Representation of a HepMC event, and enabler of Projection caching.
Definition: Event.hh:22
Project out all final-state particles in an event. Probably the most important projection in Rivet!
Definition: FinalState.hh:12
Produce a final state which only contains specified particle IDs.
Definition: IdentifiedFinalState.hh:11
IdentifiedFinalState & acceptIdPairs(const vector< PdgId > &pids)
Add a set of accepted particle IDs and their antiparticles.
Definition: IdentifiedFinalState.hh:67
CmpState compare(const Projection &p) const
Compare projections.
IdentifiedFinalState(const vector< PdgId > &pids, const Cut &c=Cuts::open())
Construction using list of PDG ID codes and an optional Cuts object.
IdentifiedFinalState(const FinalState &fsp, const vector< PdgId > &pids=vector< PdgId >())
Constructor with a FinalState and optional list of PDG ID codes.
IdentifiedFinalState & acceptIds(const vector< PdgId > &pids)
Add a set of accepted particle IDs.
Definition: IdentifiedFinalState.hh:54
IdentifiedFinalState(const FinalState &fsp, PdgId pid)
Constructor with a FinalState and a single PDG ID code.
void reset()
Reset the list of particle IDs to accept.
Definition: IdentifiedFinalState.hh:92
IdentifiedFinalState & acceptId(PdgId pid)
Add an accepted particle ID.
Definition: IdentifiedFinalState.hh:48
IdentifiedFinalState(const Cut &c, PdgId pid)
Construction using Cuts object and a single PDG ID code.
IdentifiedFinalState & acceptNeutrinos()
Accept all neutrinos (convenience method).
Definition: IdentifiedFinalState.hh:76
IdentifiedFinalState & acceptIdPair(PdgId pid)
Add an accepted particle ID and its antiparticle.
Definition: IdentifiedFinalState.hh:60
const set< PdgId > & acceptedIds() const
Get the list of particle IDs to accept.
Definition: IdentifiedFinalState.hh:43
void project(const Event &e)
Apply the projection on the supplied event.
IdentifiedFinalState(PdgId pid, const Cut &c=Cuts::open())
Construction using a single PDG ID code and an optional Cuts object.
IdentifiedFinalState & acceptChLeptons()
Accept all charged leptons (convenience method).
Definition: IdentifiedFinalState.hh:84
IdentifiedFinalState(const Cut &c=Cuts::open(), const vector< PdgId > &pids=vector< PdgId >())
Construction using optional Cuts object and optional list of PDG ID codes.
DEFAULT_RIVET_PROJ_CLONE(IdentifiedFinalState)
Clone on the heap.
Specialised vector of Particle objects.
Definition: Particle.hh:25
Base class for all Rivet projections.
Definition: Projection.hh:29
double p(const ParticleBase &p)
Unbound function access to p.
Definition: ParticleBaseUtils.hh:653
PdgIdPair pids(const ParticlePair &pp)
Definition: ParticleUtils.hh:749
int pid(const Particle &p)
Unbound function access to PID code.
Definition: ParticleUtils.hh:23
const Cut & open()
Fully open cut singleton, accepts everything.
Definition: MC_Cent_pPb.hh:10