rivet is hosted by Hepforge, IPPP Durham
Rivet 3.1.6
HepMCHeavyIon.hh
1// -*- C++ -*-
2#ifndef RIVET_HepMCHeavyIon_HH
3#define RIVET_HepMCHeavyIon_HH
4
5#include "Rivet/Projection.hh"
6#include "Rivet/Tools/RivetHepMC.hh"
7#include "Rivet/Event.hh"
8
9namespace Rivet {
10
11
12 class HepMCHeavyIon : public Projection {
13 public:
14
16
17
20
23
25
26
27 protected:
28
30 void project(const Event& e);
31
33 //int compare(const Projection& p) const;
34 // Taken from Thrust.hh
35 CmpState compare(const Projection& p) const {
36 return CmpState::EQ;
37 }
38
39 public:
40
42 bool ok() const { return _hi != nullptr; }
43
49 int Ncoll_hard() const;
50
56 int Npart_proj() const;
57
63 int Npart_targ() const;
64
72 int Ncoll() const;
79
86
93
98 double impact_parameter() const;
99
106 double event_plane_angle() const;
112 double sigma_inel_NN() const;
113
119 double centrality() const;
120
128 double user_cent_estimate() const;
129
135 int Nspec_proj_n() const;
136
142 int Nspec_targ_n() const;
143
149 int Nspec_proj_p() const;
150
156 int Nspec_targ_p() const;
157
163 map<int,double> participant_plane_angles() const;
164
169 map<int,double> eccentricities() const;
170
171 private:
172
174 ConstGenHeavyIonPtr _hi;
175
176 };
177}
178
179
180#endif
Representation of a HepMC event, and enabler of Projection caching.
Definition: Event.hh:22
Definition: HepMCHeavyIon.hh:12
int Nwounded_Nwounded_collisions() const
Non-diffractive or doubly diffractive collisions.
double impact_parameter() const
The impact parameter.
double user_cent_estimate() const
A user defined centrality estimator.
int Npart_proj() const
the number of participating nucleons in the projectile.
double event_plane_angle() const
The event plane angle.
int Nspec_targ_n() const
The number of spectator neutrons in the target.
map< int, double > eccentricities() const
Eccentricities.
CmpState compare(const Projection &p) const
Compare with other projections.
Definition: HepMCHeavyIon.hh:35
DEFAULT_RIVET_PROJ_CLONE(HepMCHeavyIon)
Clone on the heap.
map< int, double > participant_plane_angles() const
Participant plane angles.
int Nwounded_N_collisions() const
Collisions with a diffractively excited projectile nucleon.
int Nspec_proj_p() const
The number of spectator protons in the projectile.
int N_Nwounded_collisions() const
Collisions with a diffractively excited target nucleon.
double sigma_inel_NN() const
The assumed inelastic nucleon-nucleon cross section.
int Npart_targ() const
the number of participating nucleons in the target.
bool ok() const
Check that there were at all any heavy ion info in HepMC.
Definition: HepMCHeavyIon.hh:42
HepMCHeavyIon()
Constructor.
int Nspec_targ_p() const
The number of spectator protons in the target.
double centrality() const
The centrality.
int Ncoll() const
the number of inelastic nucleon-nucleon collisions.
void project(const Event &e)
Perform the projection on the Event.
int Ncoll_hard() const
the number of hard nucleon-nucleon collisions.
int Nspec_proj_n() const
The number of spectator neutrons in the projectile.
Base class for all Rivet projections.
Definition: Projection.hh:29
double p(const ParticleBase &p)
Unbound function access to p.
Definition: ParticleBaseUtils.hh:653
Definition: MC_Cent_pPb.hh:10