Rivet: /Users/chrisg/software/rivet/include/Rivet/Projections/HepMCHeavyIon.hh Source File

| Rivet 3.1.9

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
19 HepMCHeavyIon();
20
22 DEFAULT_RIVET_PROJ_CLONE(HepMCHeavyIon);
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& p) 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;
81 int N_Nwounded_collisions() const;
82
88 int Nwounded_N_collisions() const;
89
95 int Nwounded_Nwounded_collisions() const;
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
Rivet::Event
Representation of a HepMC event, and enabler of Projection caching.
Definition Event.hh:22
Rivet::HepMCHeavyIon
Definition HepMCHeavyIon.hh:12
Rivet::HepMCHeavyIon::Nwounded_Nwounded_collisions
int Nwounded_Nwounded_collisions() const
Non-diffractive or doubly diffractive collisions.
Rivet::HepMCHeavyIon::impact_parameter
double impact_parameter() const
The impact parameter.
Rivet::HepMCHeavyIon::user_cent_estimate
double user_cent_estimate() const
A user defined centrality estimator.
Rivet::HepMCHeavyIon::Npart_proj
int Npart_proj() const
the number of participating nucleons in the projectile.
Rivet::HepMCHeavyIon::event_plane_angle
double event_plane_angle() const
The event plane angle.
Rivet::HepMCHeavyIon::Nspec_targ_n
int Nspec_targ_n() const
The number of spectator neutrons in the target.
Rivet::HepMCHeavyIon::eccentricities
map< int, double > eccentricities() const
Eccentricities.
Rivet::HepMCHeavyIon::compare
CmpState compare(const Projection &p) const
Compare with other projections.
Definition HepMCHeavyIon.hh:38
Rivet::HepMCHeavyIon::DEFAULT_RIVET_PROJ_CLONE
DEFAULT_RIVET_PROJ_CLONE(HepMCHeavyIon)
Clone on the heap.
Rivet::HepMCHeavyIon::participant_plane_angles
map< int, double > participant_plane_angles() const
Participant plane angles.
Rivet::HepMCHeavyIon::Nwounded_N_collisions
int Nwounded_N_collisions() const
Collisions with a diffractively excited projectile nucleon.
Rivet::HepMCHeavyIon::Nspec_proj_p
int Nspec_proj_p() const
The number of spectator protons in the projectile.
Rivet::HepMCHeavyIon::N_Nwounded_collisions
int N_Nwounded_collisions() const
Collisions with a diffractively excited target nucleon.
Rivet::HepMCHeavyIon::sigma_inel_NN
double sigma_inel_NN() const
The assumed inelastic nucleon-nucleon cross section.
Rivet::HepMCHeavyIon::Npart_targ
int Npart_targ() const
the number of participating nucleons in the target.
Rivet::HepMCHeavyIon::ok
bool ok() const
Check that there were at all any heavy ion info in HepMC.
Definition HepMCHeavyIon.hh:45
Rivet::HepMCHeavyIon::HepMCHeavyIon
HepMCHeavyIon()
Constructor.
Rivet::HepMCHeavyIon::Nspec_targ_p
int Nspec_targ_p() const
The number of spectator protons in the target.
Rivet::HepMCHeavyIon::centrality
double centrality() const
The centrality.
Rivet::HepMCHeavyIon::Ncoll
int Ncoll() const
the number of inelastic nucleon-nucleon collisions.
Rivet::HepMCHeavyIon::project
void project(const Event &e)
Perform the projection on the Event.
Rivet::HepMCHeavyIon::Ncoll_hard
int Ncoll_hard() const
the number of hard nucleon-nucleon collisions.
Rivet::HepMCHeavyIon::Nspec_proj_n
int Nspec_proj_n() const
The number of spectator neutrons in the projectile.
Rivet::Projection
Base class for all Rivet projections.
Definition Projection.hh:29
Rivet::Kin::p
double p(const ParticleBase &p)
Unbound function access to p.
Definition ParticleBaseUtils.hh:684
Rivet
Definition MC_Cent_pPb.hh:10