rivet is hosted by Hepforge, IPPP Durham
Rivet 4.0.0
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
17 class PrimaryHadrons : public FinalState {
18 public:
19
22
24 PrimaryHadrons(const Cut& c=Cuts::open()) {
25 setName("PrimaryHadrons");
26 declare(UnstableParticles(c), "UFS");
27 }
28
31 PrimaryHadrons(double mineta, double maxeta, double minpt=0.0*GeV) {
32 setName("PrimaryHadrons");
33 declare(UnstableParticles(Cuts::etaIn(mineta, maxeta) && Cuts::pT > minpt), "UFS");
34 }
35
36
39
41
43 using Projection::operator =;
44
45
47 virtual void project(const Event& e);
48
49 // /// Compare projections.
50 // CmpState compare(const Projection& p) const;
51
52 };
53
54
55}
56
57
58#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:17
PrimaryHadrons(double mineta, double maxeta, double minpt=0.0 *GeV)
Definition PrimaryHadrons.hh:31
PrimaryHadrons(const Cut &c=Cuts::open())
Constructor with cuts argument.
Definition PrimaryHadrons.hh:24
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