rivet is hosted by Hepforge, IPPP Durham
Rivet 3.1.6
AtlasCommon.hh
1// -*- C++ -*-
2#ifndef RIVET_ATLAS_COMMON_HH
3#define RIVET_ATLAS_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
10namespace Rivet {
12
13 namespace ATLAS {
14
15
18
19public:
20
23 declare(FinalState(Cuts::eta < -3.2 && Cuts::eta > -4.9 && Cuts::pT > 0.1*GeV),
24 "SumET_PB_Centrality");
25 }
26
29
30protected:
31
33 void project(const Event& e) {
34 clear();
35 const FinalState & fsfwd =
36 apply<FinalState>(e, "SumET_PB_Centrality");
37 double estimate = 0.0;
38 for ( const Particle & p : fsfwd.particles() ) {
39 estimate += p.Et();
40 }
41 set(estimate);
42 }
43
45 CmpState compare(const Projection& p) const {
46 return mkNamedPCmp(p, "SumET_PB_Centrality");
47 }
48
49};
50
51
54
55public:
56
59 declare(FinalState(Cuts::abseta > 3.2 && Cuts::abseta < 4.9 && Cuts::pT > 0.1*GeV),
60 "SumET_PBPB_Centrality");
61 }
62
65
66protected:
67
69 void project(const Event& e) {
70 clear();
71 const FinalState & fsfwd =
72 apply<FinalState>(e, "SumET_PBPB_Centrality");
73 double estimate = 0.0;
74 for ( const Particle & p : fsfwd.particles() ) {
75 estimate += p.Et();
76 }
77 set(estimate);
78 }
79
81 CmpState compare(const Projection& p) const {
82 return mkNamedPCmp(p, "SumET_PBPB_Centrality");
83 }
84
85};
86
89
90public:
91
94 declare(ChargedFinalState(Cuts::eta > 2.09 && Cuts::eta < 3.84 &&
95 Cuts::pT > 0.1*GeV), "MBB");
96 declare(ChargedFinalState(Cuts::eta < -2.09 && Cuts::eta > -3.84 &&
97 Cuts::pT > 0.1*GeV), "MBF");
98 }
99
102
103protected:
104
106 void project(const Event& event) {
107 pass();
108 if ( applyProjection<FinalState>(event,"MBF").particles().empty() ||
109 applyProjection<FinalState>(event,"MBB").particles().empty() )
110 fail();
111 }
112
114 CmpState compare(const Projection& p) const {
115 return mkNamedPCmp(p, "MBF") || mkNamedPCmp(p, "MBB");
116 }
117
118};
119
120
121}
122}
123
124#endif
ATLAS min bias trigger conditions.
Definition: AtlasCommon.hh:88
CmpState compare(const Projection &p) const
Compare projections.
Definition: AtlasCommon.hh:114
MinBiasTrigger()
Constructor.
Definition: AtlasCommon.hh:93
void project(const Event &event)
Perform the projection on the Event.
Definition: AtlasCommon.hh:106
DEFAULT_RIVET_PROJ_CLONE(MinBiasTrigger)
Clone on the heap.
Centrality projection for PbPb collisions (two sided)
Definition: AtlasCommon.hh:53
SumET_PBPB_Centrality()
Constructor.
Definition: AtlasCommon.hh:58
void project(const Event &e)
Perform the projection on the Event.
Definition: AtlasCommon.hh:69
CmpState compare(const Projection &p) const
Compare projections.
Definition: AtlasCommon.hh:81
DEFAULT_RIVET_PROJ_CLONE(SumET_PBPB_Centrality)
Clone on the heap.
Centrality projection for pPb collisions (one sided)
Definition: AtlasCommon.hh:17
CmpState compare(const Projection &p) const
Compare projections.
Definition: AtlasCommon.hh:45
SumET_PB_Centrality()
Constructor.
Definition: AtlasCommon.hh:22
void project(const Event &e)
Perform the projection on the Event.
Definition: AtlasCommon.hh:33
DEFAULT_RIVET_PROJ_CLONE(SumET_PB_Centrality)
Clone on the heap.
Project only charged final state particles.
Definition: ChargedFinalState.hh:11
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
virtual const Particles & particles() const
Get the particles in no particular order, with no cuts.
Definition: ParticleFinder.hh:49
Particle representation, either from a HepMC::GenEvent or reconstructed.
Definition: Particle.hh:53
const PROJ & declare(const PROJ &proj, const std::string &name)
Register a contained projection (user-facing version)
Definition: ProjectionApplier.hh:170
Base class for all Rivet projections.
Definition: Projection.hh:29
Cmp< Projection > mkNamedPCmp(const Projection &otherparent, const std::string &pname) const
Base class for projections returning a single floating point value.
Definition: SingleValueProjection.hh:17
void set(double v)
Definition: SingleValueProjection.hh:51
void clear()
Unset the value.
Definition: SingleValueProjection.hh:54
Base class for projections returning a bool corresponding to a trigger.
Definition: TriggerProjection.hh:19
void fail()
Indicate that the event has failed the trigger.
Definition: TriggerProjection.hh:55
void pass()
Indicate that the event has passed the trigger.
Definition: TriggerProjection.hh:45
double p(const ParticleBase &p)
Unbound function access to p.
Definition: ParticleBaseUtils.hh:653
Definition: MC_Cent_pPb.hh:10