Rivet  3.1.3
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 
10 namespace Rivet {
12 
13  namespace ATLAS {
14 
15 
18 
19 public:
20 
23  declare(FinalState(Cuts::eta < -3.2 && Cuts::eta > -4.9 && Cuts::pT > 0.1*GeV),
24  "SumET_PB_Centrality");
25  }
26 
29 
30 protected:
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 
55 public:
56 
59  declare(FinalState(Cuts::abseta > 3.2 && Cuts::abseta < 4.9 && Cuts::pT > 0.1*GeV),
60  "SumET_PBPB_Centrality");
61  }
62 
65 
66 protected:
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 
90 public:
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 
103 protected:
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
Centrality projection for PbPb collisions (two sided)
Definition: AtlasCommon.hh:53
Definition: MC_Cent_pPb.hh:10
SumET_PBPB_Centrality()
Constructor.
Definition: AtlasCommon.hh:58
void project(const Event &event)
Perform the projection on the Event.
Definition: AtlasCommon.hh:106
Base class for projections returning a single floating point value.
Definition: SingleValueProjection.hh:17
CmpState compare(const Projection &p) const
Compare projections.
Definition: AtlasCommon.hh:114
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:18
SumET_PB_Centrality()
Constructor.
Definition: AtlasCommon.hh:22
CmpState compare(const Projection &p) const
Compare projections.
Definition: AtlasCommon.hh:81
Representation of a HepMC event, and enabler of Projection caching.
Definition: Event.hh:22
ATLAS min bias trigger conditions.
Definition: AtlasCommon.hh:88
Base class for projections returning a bool corresponding to a trigger.
Definition: TriggerProjection.hh:19
void fail()
Set the projection in an unvalid state.
Definition: Projection.hh:147
CmpState compare(const Projection &p) const
Compare projections.
Definition: AtlasCommon.hh:45
void project(const Event &e)
Perform the projection on the Event.
Definition: AtlasCommon.hh:33
Project out all final-state particles in an event. Probably the most important projection in Rivet! ...
Definition: FinalState.hh:12
const PROJ & declare(const PROJ &proj, const std::string &name)
Register a contained projection (user-facing version)
Definition: ProjectionApplier.hh:170
Cmp< Projection > mkNamedPCmp(const Projection &otherparent, const std::string &pname) const
Centrality projection for pPb collisions (one sided)
Definition: AtlasCommon.hh:17
Project only charged final state particles.
Definition: ChargedFinalState.hh:11
DEFAULT_RIVET_PROJ_CLONE(SumET_PB_Centrality)
Clone on the heap.
Base class for all Rivet projections.
Definition: Projection.hh:29
MinBiasTrigger()
Constructor.
Definition: AtlasCommon.hh:93
void project(const Event &e)
Perform the projection on the Event.
Definition: AtlasCommon.hh:69
void clear()
Unset the value.
Definition: SingleValueProjection.hh:54