class Rivet::HepMCHeavyIon
Rivet::HepMCHeavyIon
Inherits from Rivet::Projection, Rivet::ProjectionApplier
Public Functions
Name | |
---|---|
HepMCHeavyIon() Constructor. | |
DEFAULT_RIVET_PROJ_CLONE(HepMCHeavyIon ) Clone on the heap. | |
bool | ok() const Check that there were at all any heavy ion info in HepMC. |
int | Ncoll_hard() const the number of hard nucleon-nucleon collisions. |
int | Npart_proj() const the number of participating nucleons in the projectile. |
int | Npart_targ() const the number of participating nucleons in the target. |
int | Ncoll() const the number of inelastic nucleon-nucleon collisions. |
int | N_Nwounded_collisions() const Collisions with a diffractively excited target nucleon. |
int | Nwounded_N_collisions() const Collisions with a diffractively excited projectile nucleon. |
int | Nwounded_Nwounded_collisions() const Non-diffractive or doubly diffractive collisions. |
double | impact_parameter() const The impact parameter. |
double | event_plane_angle() const The event plane angle. |
double | sigma_inel_NN() const The assumed inelastic nucleon-nucleon cross section. |
double | centrality() const The centrality. |
double | user_cent_estimate() const A user defined centrality estimator. |
int | Nspec_proj_n() const The number of spectator neutrons in the projectile. |
int | Nspec_targ_n() const The number of spectator neutrons in the target. |
int | Nspec_proj_p() const The number of spectator protons in the projectile. |
int | Nspec_targ_p() const The number of spectator protons in the target. |
map< int, double > | participant_plane_angles() const Participant plane angles. |
map< int, double > | eccentricities() const Eccentricities. |
virtual unique_ptr< Projection > | clone() const =0 Clone on the heap. |
virtual std::string | name() const Get the name of the projection. |
bool | valid() const Get the state of the projetion. |
bool | failed() const Get the state of the projetion. |
bool | before(const Projection & p) const |
virtual const std::set< PdgIdPair > | beamPairs() const |
Projection & | addPdgIdPair(PdgId beam1, PdgId beam2) |
std::set< ConstProjectionPtr > | getProjections() const Get the contained projections, including recursion. |
bool | hasProjection(const std::string & name) const Does this applier have a projection registered under the name name? |
template <typename PROJ > const PROJ & | getProjection(const std::string & name) const |
const Projection & | getProjection(const std::string & name) const |
template <typename PROJ > const PROJ & | get(const std::string & name) const |
template std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | applyProjection(const Event & evt, const Projection & proj) const |
template std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | applyProjection(const Event & evt, const PROJ & proj) const |
template std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | applyProjection(const Event & evt, const std::string & name) const |
template std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | apply(const Event & evt, const Projection & proj) const Apply the supplied projection on event evt (user-facing alias). |
template std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | apply(const Event & evt, const PROJ & proj) const Apply the supplied projection on event evt (user-facing alias). |
template std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | apply(const Event & evt, const std::string & name) const Apply the supplied projection on event evt (user-facing alias). |
template std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | apply(const std::string & name, const Event & evt) const Apply the supplied projection on event evt (convenience arg-reordering alias). |
void | markAsOwned() const Mark this object as owned by a proj-handler. |
Protected Functions
Name | |
---|---|
virtual void | project(const Event & e) Perform the projection on the Event. |
virtual CmpState | compare(const Projection & p) const Compare with other projections. |
Log & | getLog() const Get a Log object based on the getName() property of the calling projection object. |
void | setName(const std::string & name) Used by derived classes to set their name. |
void | fail() Set the projection in an unvalid state. |
Cmp< Projection > | mkNamedPCmp(const Projection & otherparent, const std::string & pname) const |
Cmp< Projection > | mkPCmp(const Projection & otherparent, const std::string & pname) const |
ProjectionHandler & | getProjHandler() const Get a reference to the ProjectionHandler for this thread. |
template <typename PROJ > const PROJ & | declareProjection(const PROJ & proj, const std::string & name) Register a contained projection. |
template <typename PROJ > const PROJ & | declare(const PROJ & proj, const std::string & name) Register a contained projection (user-facing version) |
template <typename PROJ > const PROJ & | declare(const std::string & name, const PROJ & proj) Register a contained projection (user-facing, arg-reordered version) |
Additional inherited members
Public Functions inherited from Rivet::Projection
Name | |
---|---|
Projection() The default constructor. | |
virtual | ~Projection() The destructor. |
Protected Functions inherited from Rivet::Projection
Name | |
---|---|
virtual Projection & | operator=(const Projection & ) Block Projection copying. |
Friends inherited from Rivet::Projection
Name | |
---|---|
class | Event Event is a friend. |
class | Cmp< Projection > The Cmp specialization for Projection is a friend. |
Public Functions inherited from Rivet::ProjectionApplier
Name | |
---|---|
ProjectionApplier() Constructor. | |
virtual | ~ProjectionApplier() |
Public Functions Documentation
function HepMCHeavyIon
HepMCHeavyIon()
Constructor.
function DEFAULT_RIVET_PROJ_CLONE
DEFAULT_RIVET_PROJ_CLONE(
HepMCHeavyIon
)
Clone on the heap.
function ok
inline bool ok() const
Check that there were at all any heavy ion info in HepMC.
function Ncoll_hard
int Ncoll_hard() const
the number of hard nucleon-nucleon collisions.
Model-dependent. Usually the number of nucleon-nucleon collisions containing a special signal process. A negative value means that the information is not available.
function Npart_proj
int Npart_proj() const
the number of participating nucleons in the projectile.
The number of nucleons in the projectile participating in an inelastic collision (see Ncoll). A negative value means that the information is not available.
function Npart_targ
int Npart_targ() const
the number of participating nucleons in the target.
The number of nucleons in the target participating in an inelastic collision (see Ncoll). A negative value means that the information is not available.
function Ncoll
int Ncoll() const
the number of inelastic nucleon-nucleon collisions.
Note that a one participating nucleon can be involved in many inelastic collisions, and that inelastic also includes diffractive excitation. A negative value means that the information is not available.
function N_Nwounded_collisions
int N_Nwounded_collisions() const
Collisions with a diffractively excited target nucleon.
The number of single diffractive nucleon-nucleon collisions where the target nucleon is excited. A negative value means that the information is not available.
function Nwounded_N_collisions
int Nwounded_N_collisions() const
Collisions with a diffractively excited projectile nucleon.
The number of single diffractive nucleon-nucleon collisions where the projectile nucleon is excited. A negative value means that the information is not available.
function Nwounded_Nwounded_collisions
int Nwounded_Nwounded_collisions() const
Non-diffractive or doubly diffractive collisions.
The number of nucleon-nucleon collisions where both projectile and target nucleons are wounded. A negative value means that the information is not available.
function impact_parameter
double impact_parameter() const
The impact parameter.
The impact parameter given in units of femtometer. A negative value means that the information is not available.
function event_plane_angle
double event_plane_angle() const
The event plane angle.
The angle wrt. the x-axix of the impact parameter vector (pointing frm the target to the projectile). A positive number between 0 and two pi. A negative value means that the information is not available.
function sigma_inel_NN
double sigma_inel_NN() const
The assumed inelastic nucleon-nucleon cross section.
in units of millibarn. As used in a Glauber calculation to simulate the distribution in Ncoll. A negative value means that the information is not available.
function centrality
double centrality() const
The centrality.
The generated centrality in percentiles, where 0 is the maximally central and 100 is the minimally central. A negative value means that the information is not available.
function user_cent_estimate
double user_cent_estimate() const
A user defined centrality estimator.
This variable may contain anything a generator feels is reasonable for estimating centrality. The value should be non-negative, and a low value corresponds to a low centrality. A negative value indicatess that the information is not available.
function Nspec_proj_n
int Nspec_proj_n() const
The number of spectator neutrons in the projectile.
ie. those that thave not participated in any inelastic nucleon-nucleon collision. A negative value indicatess that the information is not available.
function Nspec_targ_n
int Nspec_targ_n() const
The number of spectator neutrons in the target.
ie. those that thave not participated in any inelastic nucleon-nucleon collision. A negative value indicatess that the information is not available.
function Nspec_proj_p
int Nspec_proj_p() const
The number of spectator protons in the projectile.
ie. those that thave not participated in any inelastic nucleon-nucleon collision. A negative value indicatess that the information is not available.
function Nspec_targ_p
int Nspec_targ_p() const
The number of spectator protons in the target.
ie. those that thave not participated in any inelastic nucleon-nucleon collision. A negative value indicatess that the information is not available.
function participant_plane_angles
map< int, double > participant_plane_angles() const
Participant plane angles.
calculated to different orders. The key of the map specifies the order, and the value gives to the angle wrt. the event plane.
function eccentricities
map< int, double > eccentricities() const
Eccentricities.
Calculated to different orders. The key of the map specifies the order, and the value gives the corresponding eccentricity.
function clone
virtual unique_ptr< Projection > clone() const =0
Clone on the heap.
Reimplemented by: Rivet::ALICE::V0Multiplicity::clone, Rivet::ALICE::CLMultiplicity::clone, Rivet::ALICE::V0Trigger::clone, Rivet::ALICE::V0AndTrigger::clone, Rivet::ALICE::PrimaryParticles::clone, Rivet::AxesDefinition::clone, Rivet::FastJets::clone, Rivet::ChargedFinalState::clone
function name
inline virtual std::string name() const
Get the name of the projection.
Reimplements: Rivet::ProjectionApplier::name
function valid
inline bool valid() const
Get the state of the projetion.
function failed
inline bool failed() const
Get the state of the projetion.
function before
bool before(
const Projection & p
) const
Determine whether this object should be ordered before the object p given as argument. If p is of a different class than this, the before() function of the corresponding type_info objects is used. Otherwise, if the objects are of the same class, the virtual compare(const Projection &) will be returned.
function beamPairs
virtual const std::set< PdgIdPair > beamPairs() const
Todo: Remove the beam constraints system from projections.
Return the allowed beam pairs on which this projection can operate, not including recursion. Derived classes should ensure that all contained projections are registered in the _projections set for the beam constraint chaining to work.
function addPdgIdPair
inline Projection & addPdgIdPair(
PdgId beam1,
PdgId beam2
)
Todo: This deserves a better name!
Add a colliding beam pair.
function getProjections
inline std::set< ConstProjectionPtr > getProjections() const
Get the contained projections, including recursion.
function hasProjection
inline bool hasProjection(
const std::string & name
) const
Does this applier have a projection registered under the name name?
function getProjection
template <typename PROJ >
inline const PROJ & getProjection(
const std::string & name
) const
Todo: Add SFINAE to require that PROJ inherit from Projection
Get the named projection, specifying return type via a template argument.
function getProjection
inline const Projection & getProjection(
const std::string & name
) const
Get the named projection (non-templated, so returns as a reference to a Projection base class).
function get
template <typename PROJ >
inline const PROJ & get(
const std::string & name
) const
Todo: Add SFINAE to require that PROJ inherit from Projection
Get the named projection, specifying return type via a template argument (user-facing alias).
function applyProjection
template <typename PROJ =Projection>
inline std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > applyProjection(
const Event & evt,
const Projection & proj
) const
Deprecated:
Prefer the simpler apply<> form
Apply the supplied projection on event evt.
function applyProjection
template <typename PROJ =Projection>
inline std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > applyProjection(
const Event & evt,
const PROJ & proj
) const
Deprecated:
Prefer the simpler apply<> form
Apply the supplied projection on event evt.
function applyProjection
template <typename PROJ =Projection>
inline std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > applyProjection(
const Event & evt,
const std::string & name
) const
Deprecated:
Prefer the simpler apply<> form
Apply the named projection on event evt.
function apply
template <typename PROJ =Projection>
inline std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > apply(
const Event & evt,
const Projection & proj
) const
Apply the supplied projection on event evt (user-facing alias).
function apply
template <typename PROJ =Projection>
inline std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > apply(
const Event & evt,
const PROJ & proj
) const
Apply the supplied projection on event evt (user-facing alias).
function apply
template <typename PROJ =Projection>
inline std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > apply(
const Event & evt,
const std::string & name
) const
Apply the supplied projection on event evt (user-facing alias).
function apply
template <typename PROJ =Projection>
inline std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > apply(
const std::string & name,
const Event & evt
) const
Apply the supplied projection on event evt (convenience arg-reordering alias).
function markAsOwned
inline void markAsOwned() const
Mark this object as owned by a proj-handler.
Protected Functions Documentation
function project
virtual void project(
const Event & e
)
Perform the projection on the Event.
Reimplements: Rivet::AxesDefinition::project
function compare
inline virtual CmpState compare(
const Projection & p
) const
Compare with other projections.
Reimplements: Rivet::AxesDefinition::compare
function getLog
inline Log & getLog() const
Get a Log object based on the getName() property of the calling projection object.
function setName
inline void setName(
const std::string & name
)
Used by derived classes to set their name.
function fail
inline void fail()
Set the projection in an unvalid state.
function mkNamedPCmp
Cmp< Projection > mkNamedPCmp(
const Projection & otherparent,
const std::string & pname
) const
Shortcut to make a named Cmp*this
object automatically passed as one of the parent projections.
function mkPCmp
Cmp< Projection > mkPCmp(
const Projection & otherparent,
const std::string & pname
) const
Note: Alias for mkNamedPCmp
Shortcut to make a named Cmp*this
object automatically passed as one of the parent projections.
function getProjHandler
inline ProjectionHandler & getProjHandler() const
Get a reference to the ProjectionHandler for this thread.
function declareProjection
template <typename PROJ >
inline const PROJ & declareProjection(
const PROJ & proj,
const std::string & name
)
Register a contained projection.
Todo: Add SFINAE to require that PROJ inherit from Projection
The type of the argument is used to instantiate a new projection internally: this new object is applied to events rather than the argument object. Hence you are advised to only use locally-scoped Projection objects in your Projection and Analysis constructors, and to avoid polymorphism (e.g. handling ConcreteProjection
via a pointer or reference to type Projection
) since this will screw up the internal type management.
function declare
template <typename PROJ >
inline const PROJ & declare(
const PROJ & proj,
const std::string & name
)
Register a contained projection (user-facing version)
Todo: Add SFINAE to require that PROJ inherit from Projection
function declare
template <typename PROJ >
inline const PROJ & declare(
const std::string & name,
const PROJ & proj
)
Register a contained projection (user-facing, arg-reordered version)
Todo: Add SFINAE to require that PROJ inherit from Projection
Updated on 2022-08-07 at 20:17:17 +0100