rivet is hosted by Hepforge, IPPP Durham
Rivet 4.0.0
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
17
20
23
25
27 using Projection::operator =;
28
29
30 protected:
31
33 void project(const Event& e);
34
36 //int compare(const Projection& p) const;
37 // Taken from Thrust.hh
38 CmpState compare(const Projection&) const {
39 return CmpState::EQ;
40 }
41
42 public:
43
45 bool ok() const { return _hi != nullptr; }
46
52 int Ncoll_hard() const;
53
59 int Npart_proj() const;
60
66 int Npart_targ() const;
67
75 int Ncoll() const;
82
89
96
101 double impact_parameter() const;
102
109 double event_plane_angle() const;
115 double sigma_inel_NN() const;
116
122 double centrality() const;
123
131 double user_cent_estimate() const;
132
138 int Nspec_proj_n() const;
139
145 int Nspec_targ_n() const;
146
152 int Nspec_proj_p() const;
153
159 int Nspec_targ_p() const;
160
166 map<int,double> participant_plane_angles() const;
167
172 map<int,double> eccentricities() const;
173
174
175 protected:
176
178 ConstGenHeavyIonPtr _hi;
179
180 };
181}
182
183
184#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.
RIVET_DEFAULT_PROJ_CLONE(HepMCHeavyIon)
Clone on the heap.
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.
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.
CmpState compare(const Projection &) const
Compare with other projections.
Definition HepMCHeavyIon.hh:38
bool ok() const
Check that there were at all any heavy ion info in HepMC.
Definition HepMCHeavyIon.hh:45
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
Definition MC_CENT_PPB_Projections.hh:10