rivet is hosted by Hepforge, IPPP Durham
Rivet 4.0.0
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 public:
19
22 declare(FinalState(Cuts::eta < -3.2 && Cuts::eta > -4.9 && Cuts::pT > 0.1*GeV),
23 "SumET_PB_Centrality");
24 }
25
28
30 using Projection::operator =;
31
32 protected:
33
35 void project(const Event& e) {
36 clear();
37 const FinalState & fsfwd =
38 apply<FinalState>(e, "SumET_PB_Centrality");
39 double estimate = 0.0;
40 for ( const Particle & p : fsfwd.particles() ) {
41 estimate += p.Et();
42 }
43 setValue(estimate);
44 }
45
47 CmpState compare(const Projection& p) const {
48 return mkNamedPCmp(p, "SumET_PB_Centrality");
49 }
50
51 };
52
53
54
57 public:
58
61 declare(FinalState(Cuts::abseta > 3.2 && Cuts::abseta < 4.9 && Cuts::pT > 0.1*GeV),
62 "SumET_PBPB_Centrality");
63 }
64
67
69 using Projection::operator =;
70
71 protected:
72
74 void project(const Event& e) {
75 clear();
76 const FinalState & fsfwd =
77 apply<FinalState>(e, "SumET_PBPB_Centrality");
78 double estimate = 0.0;
79 for ( const Particle & p : fsfwd.particles() ) {
80 estimate += p.Et();
81 }
82 setValue(estimate);
83 }
84
86 CmpState compare(const Projection& p) const {
87 return mkNamedPCmp(p, "SumET_PBPB_Centrality");
88 }
89
90 };
91
92
93
96 public:
97
100 declare(ChargedFinalState(Cuts::eta > 2.09 && Cuts::eta < 3.84 &&
101 Cuts::pT > 0.1*GeV), "MBB");
102 declare(ChargedFinalState(Cuts::eta < -2.09 && Cuts::eta > -3.84 &&
103 Cuts::pT > 0.1*GeV), "MBF");
104 }
105
108
110 using Projection::operator =;
111
112 protected:
113
115 void project(const Event& event) {
116 pass();
117 if ( apply<FinalState>(event,"MBF").particles().empty() || apply<FinalState>(event,"MBB").particles().empty() )
118 fail();
119 }
120
122 CmpState compare(const Projection& p) const {
123 return mkNamedPCmp(p, "MBF") || mkNamedPCmp(p, "MBB");
124 }
125
126 };
127
128
129 }
130}
131
132#endif
ATLAS min bias trigger conditions.
Definition AtlasCommon.hh:95
CmpState compare(const Projection &p) const
Compare projections.
Definition AtlasCommon.hh:122
MinBiasTrigger()
Constructor.
Definition AtlasCommon.hh:99
RIVET_DEFAULT_PROJ_CLONE(MinBiasTrigger)
Clone on the heap.
void project(const Event &event)
Perform the projection on the Event.
Definition AtlasCommon.hh:115
Centrality projection for PbPb collisions (two sided)
Definition AtlasCommon.hh:56
SumET_PBPB_Centrality()
Constructor.
Definition AtlasCommon.hh:60
RIVET_DEFAULT_PROJ_CLONE(SumET_PBPB_Centrality)
Clone on the heap.
void project(const Event &e)
Perform the projection on the Event.
Definition AtlasCommon.hh:74
CmpState compare(const Projection &p) const
Compare projections.
Definition AtlasCommon.hh:86
Centrality projection for pPb collisions (one sided)
Definition AtlasCommon.hh:17
CmpState compare(const Projection &p) const
Compare projections.
Definition AtlasCommon.hh:47
SumET_PB_Centrality()
Constructor.
Definition AtlasCommon.hh:21
RIVET_DEFAULT_PROJ_CLONE(SumET_PB_Centrality)
Clone on the heap.
void project(const Event &e)
Perform the projection on the Event.
Definition AtlasCommon.hh:35
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:65
Particle representation, either from a HepMC::GenEvent or reconstructed.
Definition Particle.hh:45
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
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
void clear()
Unset the value.
Definition SingleValueProjection.hh:54
Base class for projections returning a bool corresponding to a trigger.
Definition TriggerProjection.hh:18
void fail()
Indicate that the event has failed the trigger.
Definition TriggerProjection.hh:57
void pass()
Indicate that the event has passed the trigger.
Definition TriggerProjection.hh:47
Definition MC_CENT_PPB_Projections.hh:10