rivet is hosted by Hepforge, IPPP Durham
Rivet 4.0.3
PrimaryHadrons.hh
1// -*- C++ -*-
2#ifndef RIVET_PrimaryHadrons_HH
3#define RIVET_PrimaryHadrons_HH
4
5#include "Rivet/Projections/FinalState.hh"
6#include "Rivet/Projections/UnstableParticles.hh"
7#include "Rivet/Particle.hh"
8#include "Rivet/Event.hh"
9
10namespace Rivet {
11
12
18 class PrimaryHadrons : public FinalState {
19 public:
20
23
25 PrimaryHadrons(const Cut& c=Cuts::open()) {
26 setName("PrimaryHadrons");
27 declare(UnstableParticles(c), "UFS");
28 }
29
32 PrimaryHadrons(double mineta, double maxeta, double minpt=0.0*GeV) {
33 setName("PrimaryHadrons");
34 declare(UnstableParticles(Cuts::etaIn(mineta, maxeta) && Cuts::pT > minpt), "UFS");
35 }
36
39
41
42
44 using Projection::operator =;
45
46
48 virtual void project(const Event& e);
49
50 // /// Compare projections.
51 // CmpState compare(const Projection& p) const;
52
53 };
54
55
56}
57
58
59#endif
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
Project out the first hadrons from hadronisation.
Definition PrimaryHadrons.hh:18
PrimaryHadrons(double mineta, double maxeta, double minpt=0.0 *GeV)
Definition PrimaryHadrons.hh:32
PrimaryHadrons(const Cut &c=Cuts::open())
Constructor with cuts argument.
Definition PrimaryHadrons.hh:25
virtual void project(const Event &e)
Apply the projection to the event.
RIVET_DEFAULT_PROJ_CLONE(PrimaryHadrons)
Clone on the heap.
const PROJ & declare(const PROJ &proj, const std::string &name) const
Register a contained projection (user-facing version)
Definition ProjectionApplier.hh:175
void setName(const std::string &name)
Used by derived classes to set their name.
Definition Projection.hh:148
Project out all physical-but-decayed particles in an event.
Definition UnstableParticles.hh:25
const Cut & open()
Fully open cut singleton, accepts everything.
Definition MC_CENT_PPB_Projections.hh:10