ATLAS Offline Software
Classes | Namespaces | Typedefs | Functions | Variables
MagicNumbers.h File Reference
#include <limits>
#include <cstdint>
#include <memory>
#include <deque>
#include <type_traits>
#include "AtlasHepMC/GenEvent.h"
#include "AtlasHepMC/GenParticle.h"
#include "AtlasHepMC/GenVertex.h"
Include dependency graph for MagicNumbers.h:

Go to the source code of this file.

Classes

struct  HepMC::is_smart_ptr< T >
 
struct  HepMC::is_smart_ptr< std::shared_ptr< T > >
 
struct  HepMC::is_smart_ptr< std::unique_ptr< T > >
 
struct  HepMC::is_smart_ptr< std::weak_ptr< T > >
 
struct  HepMC::remove_smart_pointer< T >
 
struct  HepMC::remove_smart_pointer< std::shared_ptr< T > >
 
struct  HepMC::remove_smart_pointer< std::unique_ptr< T > >
 
struct  HepMC::remove_smart_pointer< std::weak_ptr< T > >
 

Namespaces

 xAOD
 ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
 
 HepMC
 
 HepMC::BarcodeBased
 
 HepMC::StatusBased
 

Typedefs

template<class T >
using HepMC::remove_smart_pointer_t = typename remove_smart_pointer< T >::type
 

Functions

constexpr int HepMC::SUPPRESSED_PILEUP_BARCODE (std::numeric_limits< int32_t >::max())
 This barcode is used by objects matched to particles from pile-up interactions in standard MC Production. More...
 
template<typename T >
int HepMC::uniqueID (const T &p)
 
template<typename T >
int HepMC::status (const T &p)
 
template<>
int HepMC::status (const ConstGenVertexPtr &v1)
 
template<>
int HepMC::status (const GenVertexPtr &v1)
 
template<class T >
void HepMC::get_particle_history (const T &p, std::deque< int > &out, int direction=0)
 Function to calculate all the descendants(direction=1)/ancestors(direction=-1) of the particle. More...
 
template<class T >
std::deque< int > HepMC::simulation_history (const T &p, int direction)
 Function to calculate all the descendants(direction=1)/ancestors(direction=-1) of the particle. More...
 
template<class T >
bool HepMC::BarcodeBased::is_truth_suppressed_pileup (const T &p)
 Method to establish if a particle (or barcode) corresponds to truth-suppressed pile-up. More...
 
template<class T >
bool HepMC::BarcodeBased::no_truth_link (const T &p)
 Method to establish if a if the object is linked to something which was never saved to the HepMC Truth - for example particle was too low energy to be recorded. More...
 
template<class T >
bool HepMC::BarcodeBased::ignoreTruthLink (const T &p, bool vetoPileUp)
 Helper function for SDO creation in PileUpTools. More...
 
template<class T >
bool HepMC::BarcodeBased::is_simulation_particle (const T &p)
 Method to establish if a particle (or barcode) was created during the simulation (only to be used in legacy TP converters) More...
 
template<class T >
bool HepMC::BarcodeBased::is_sim_secondary (const T &p)
 Method to establish if a particle (or barcode) is a new seondary created during the simulation (only to be used in legacy TP converters) More...
 
template<class T >
int HepMC::BarcodeBased::generations (const T &p)
 Method to return how many interactions a particle has undergone during simulation (only to be used in legacy TP converters). More...
 
template<class T >
bool HepMC::BarcodeBased::is_simulation_vertex (const T &v)
 Method to establish if the vertex was created during simulation (only to be used in legacy TP converters) More...
 
template<class T1 , class T2 >
bool HepMC::BarcodeBased::is_same_generator_particle (const T1 &p1, const T2 &p2)
 Method to establish if two particles in the GenEvent actually represent the same generated particle. More...
 
template<class T1 , class T2 >
bool HepMC::BarcodeBased::is_sim_descendant (const T1 &p1, const T2 &p2)
 Method to check if the first particle is a descendant of the second in the simulation, i.e. particle p1 was produced simulations particle p2. More...
 
template<class T >
bool HepMC::StatusBased::no_truth_link (const T &p)
 Method to establish if a particle (or barcode) corresponds to truth-suppressed pile-up TODO implement a status/id based version of is_truth_suppressed_pileup. More...
 
template<class T >
bool HepMC::StatusBased::is_simulation_particle (const T &p)
 Helper function for SDO creation in PileUpTools TODO implement a status/id based version of ignoreTruthLink. More...
 
template<class T >
bool HepMC::StatusBased::is_sim_secondary (const T &p)
 Method to establish if a particle is a new seondary created during the simulation based on the status value. More...
 
template<class T >
int HepMC::StatusBased::generations (const T &p)
 Method to return how many interactions a particle has undergone during simulation based on the status value. More...
 
template<class T >
bool HepMC::StatusBased::is_simulation_vertex (const T &v)
 Method to establish if the vertex was created during simulation from the status. More...
 
template<class T1 , class T2 >
bool HepMC::StatusBased::is_same_generator_particle (const T1 &p1, const T2 &p2)
 Method to establish if two particles in the GenEvent actually represent the same generated particle. More...
 
template<class T1 , class T2 >
bool HepMC::StatusBased::is_sim_descendant (const T1 &p1, const T2 &p2)
 Method to check if the first particle is a descendant of the second in the simulation, i.e. particle p1 was produced simulations particle p2. More...
 
template<class T >
bool HepMC::is_truth_suppressed_pileup (const T &p)
 Method to establish if a particle (or barcode) corresponds to truth-suppressed pile-up (TODO update to be status based) More...
 
template<class T >
bool HepMC::no_truth_link (const T &p)
 Method to establish if a if the object is linked to something which was never saved to the HepMC Truth - for example particle was too low energy to be recorded (TODO update to be status based) More...
 
template<class T >
bool HepMC::ignoreTruthLink (const T &p, bool vetoPileUp)
 Helper function for SDO creation in PileUpTools. More...
 
template<class T >
bool HepMC::is_simulation_particle (const T &p)
 Method to establish if a particle (or barcode) was created during the simulation (TODO update to be status based) More...
 
template<class T >
int HepMC::generations (const T &p)
 Method to return how many interactions a particle has undergone during simulation (TODO migrate to be based on status). More...
 
template<class T >
bool HepMC::is_simulation_vertex (const T &v)
 Method to establish if the vertex was created during simulation (TODO migrate to be based on status). More...
 
template<class T1 , class T2 >
bool HepMC::is_same_generator_particle (const T1 &p1, const T2 &p2)
 Method to establish if two particles in the GenEvent actually represent the same generated particle. More...
 
template<class T1 , class T2 >
bool HepMC::is_sim_descendant (const T1 &p1, const T2 &p2)
 Method to check if the first particle is a descendant of the second in the simulation, i.e. particle p1 was produced simulations particle p2. More...
 
template<class T >
void HepMC::old_to_new_simulation_scheme (T &evt)
 Function that converts the old scheme of labeling the simulation particles (barcodes) into the new scheme (statuses). More...
 
int HepMC::new_particle_status_from_old (int oldStatus, int barcode)
 Functions for converting between the old and new barcode/status schemes. More...
 
int HepMC::old_particle_status_from_new (int newStatus)
 
int HepMC::new_vertex_status_from_old (int oldStatus, int barcode)
 
int HepMC::old_vertex_status_from_new (int newStatus)
 
int HepMC::maxGeneratedParticleBarcode (const HepMC::GenEvent *genEvent)
 
int HepMC::maxGeneratedVertexBarcode (const HepMC::GenEvent *genEvent)
 

Variables

constexpr int HepMC::SIM_BARCODE_THRESHOLD = 200000
 Constant defining the barcode threshold for simulated particles, eg. can be used to separate generator event record entries from simulated particles. More...
 
constexpr int HepMC::SIM_REGENERATION_INCREMENT = 1000000
 Constant defining the barcode threshold for regenerated particles, i.e. particles surviving an interaction. More...
 
constexpr int HepMC::SIM_STATUS_INCREMENT = 100000
 Constant defining the barcode threshold for regenerated particles, i.e. particles surviving an interaction. More...
 
constexpr int HepMC::SIM_STATUS_THRESHOLD = 20000
 Constant definiting the status threshold for simulated particles, eg. can be used to separate generator event record entries from simulated particles. More...
 
constexpr int HepMC::SPECIALSTATUS = 902
 Constant that the meaning of which is currently lost, to be recovered... More...
 
constexpr int HepMC::EVTGENUNDECAYEDSTATUS = 899
 
constexpr int HepMC::PYTHIA8LHESTATUS = 1003
 
constexpr int HepMC::HERWIG7INTERMEDIATESTATUS = 11
 
constexpr int HepMC::PYTHIA8NOENDVERTEXSTATUS = 201
 
constexpr int HepMC::FORWARDTRANSPORTMODELSTATUS = 212
 
constexpr int HepMC::INVALID_PARTICLE_BARCODE = -1
 
constexpr int HepMC::SINGLE_PARTICLE = 10001
 
constexpr int HepMC::UNDEFINED_ID = 0
 
constexpr int HepMC::INVALID_PARTICLE_ID = -1
 
constexpr int HepMC::INVALID_VERTEX_ID = 1
 
template<class T >
constexpr bool HepMC::is_smart_ptr_v = is_smart_ptr<T>::value