2#ifndef RIVET_IdentifiedFinalState_HH
3#define RIVET_IdentifiedFinalState_HH
5#include "Rivet/Projections/FinalState.hh"
42 using Projection::operator =;
58 for (
const PdgId
pid :
pids) _pids.insert(
pid);
100 virtual const Particles& remainingParticles()
const {
101 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:70
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:57
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:95
IdentifiedFinalState & acceptId(PdgId pid)
Add an accepted particle ID.
Definition IdentifiedFinalState.hh:51
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:79
RIVET_DEFAULT_PROJ_CLONE(IdentifiedFinalState)
Clone on the heap.
IdentifiedFinalState & acceptIdPair(PdgId pid)
Add an accepted particle ID and its antiparticle.
Definition IdentifiedFinalState.hh:63
const set< PdgId > & acceptedIds() const
Get the list of particle IDs to accept.
Definition IdentifiedFinalState.hh:46
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:87
IdentifiedFinalState(const Cut &c=Cuts::open(), const vector< PdgId > &pids=vector< PdgId >())
Construction using optional Cuts object and optional list of PDG ID codes.
Specialised vector of Particle objects.
Definition Particle.hh:21
Base class for all Rivet projections.
Definition Projection.hh:29
int pid(const Particle &p)
Unbound function access to PID code.
Definition ParticleUtils.hh:23
PdgIdPair pids(const ParticlePair &pp)
Get the PDG ID codes of a ParticlePair.
Definition ParticleUtils.hh:717
const Cut & open()
Fully open cut singleton, accepts everything.
Definition MC_CENT_PPB_Projections.hh:10