rivet is hosted by Hepforge, IPPP Durham
Rivet 4.0.0
RHICCommon.hh
1// -*- C++ -*-
2#ifndef RIVET_RHIC_COMMON_HH
3#define RIVET_RHIC_COMMON_HH
4
5#include "Rivet/Projections/FinalState.hh"
6#include "Rivet/Projections/ChargedFinalState.hh"
7#include "Rivet/Projections/SingleValueProjection.hh"
8#include "Rivet/Projections/TriggerProjection.hh"
9
11namespace Rivet {
12
13
15 public:
16
18 declare(ChargedFinalState(Cuts::abseta < 0.5 &&
19 Cuts::absrap < 0.1 && Cuts::pT > 0.2 * GeV),
20 "STAR_BES_Centrality");
21 }
22
23 // Destructor
24 virtual ~STAR_BES_Centrality() {}
25
28
30 using Projection::operator =;
31
32 protected:
33
34 void project(const Event& e) {
35 clear();
36 double estimate =
37 apply<FinalState>(e, "STAR_BES_Centrality").particles().size();
38 setValue(estimate);
39 }
40
42 virtual CmpState compare(const Projection& p) const {
43 return mkNamedPCmp(p, "STAR_BES_Centrality");
44 }
45
46 };
47
48
51 public:
52
53 // Constructor
55 // Using here the BRAHMS reaction centrality from eg. 1602.01183, which
56 // might not be correct.
57 declare(ChargedFinalState(Cuts::pT > 0.1*GeV && Cuts::abseta < 2.2),
58 "ChargedFinalState");
59 }
60
61 // Destructor
62 virtual ~BRAHMSCentrality() {}
63
64 // Clone on the heap.
65 RIVET_DEFAULT_PROJ_CLONE(BRAHMSCentrality);
66
68 using Projection::operator =;
69
70 protected:
71
72 // Do the projection. Count the number of charged particles in
73 // the specified range.
74 virtual void project(const Event& e) {
75 clear();
76 setValue(apply<ChargedFinalState>(e, "ChargedFinalState").particles().size());
77 }
78
79 // Compare to another projection.
80 virtual CmpState compare(const Projection& p) const {
81 return mkNamedPCmp(p, "ChargedFinalState");
82 }
83
84 };
85
86
87}
88
89#endif
BRAHMS Centrality projection.
Definition RHICCommon.hh:50
virtual void project(const Event &e)
Definition RHICCommon.hh:74
virtual CmpState compare(const Projection &p) const
Definition RHICCommon.hh:80
Project only charged final state particles.
Definition ChargedFinalState.hh:11
Representation of a HepMC event, and enabler of Projection caching.
Definition Event.hh:22
const PROJ & declare(const PROJ &proj, const std::string &name) const
Register a contained projection (user-facing version)
Definition ProjectionApplier.hh:175
Base class for all Rivet projections.
Definition Projection.hh:29
Cmp< Projection > mkNamedPCmp(const Projection &otherparent, const std::string &pname) const
Definition RHICCommon.hh:14
virtual CmpState compare(const Projection &p) const
Compare projections.
Definition RHICCommon.hh:42
RIVET_DEFAULT_PROJ_CLONE(STAR_BES_Centrality)
Clone on the heap.
void project(const Event &e)
Definition RHICCommon.hh:34
Base class for projections returning a single floating point value.
Definition SingleValueProjection.hh:17
void setValue(double v)
Set the value.
Definition SingleValueProjection.hh:48
SingleValueProjection()
The default constructor.
Definition SingleValueProjection.hh:21
void clear()
Unset the value.
Definition SingleValueProjection.hh:54
Definition MC_CENT_PPB_Projections.hh:10