HepMC3 event record library
Data Structures | Typedefs | Functions | Variables
HepMC3 Namespace Reference

HepMC3 main namespace. More...

Data Structures

class  _children
 Provides operator to find the child particles of a Vertex or Particle. More...
 
class  _parents
 Provides operator to find the parent particles of a Vertex or Particle. More...
 
class  AnalysisExample
 Example analysis. Produces a rapidity distribution of final state particles. More...
 
class  AssociatedParticle
 Attribute class allowing eg. a GenParticle to refer to another GenParticle. More...
 
class  ATTRIBUTE
 Filter for the attributes. More...
 
class  Attribute
 Base attribute class. More...
 
class  AttributeFeature
 AttributeFeature. More...
 
class  BoolAttribute
 Attribute that holds an Booleger implemented as an int. More...
 
class  CharAttribute
 Attribute that holds an Chareger implemented as an int. More...
 
class  DoubleAttribute
 Attribute that holds a real number as a double. More...
 
class  Feature
 Expose GenericFeature interface to derived Feature class. More...
 
class  Feature< Feature_type, typename std::enable_if< std::is_floating_point< Feature_type >::value, void >::type >
 specialisation of Feature for floating point type More...
 
class  Feature< Feature_type, typename std::enable_if< std::is_integral< Feature_type >::value, void >::type >
 Specialisation of Feature for integral types. More...
 
class  FloatAttribute
 Attribute that holds a real number as a float. More...
 
class  FourVector
 Generic 4-vector. More...
 
class  GenCrossSection
 Stores additional information about cross-section. More...
 
class  GenericFeature
 GenericFeature defines the Feature interface GenericFeature is not intended to be used directly. The derived Feature class and its specialisations should be used. More...
 
class  GenEvent
 Stores event-related information. More...
 
struct  GenEventData
 Stores serializable event information. More...
 
class  GenHeavyIon
 Stores additional information about Heavy Ion generator. More...
 
class  GenParticle
 Stores particle-related information. More...
 
struct  GenParticleData
 Stores serializable particle information. More...
 
struct  GenParticlePtr_greater
 comparison of two particles More...
 
class  GenPdfInfo
 Stores additional information about PDFs. More...
 
class  GenRunInfo
 Stores run-related information. More...
 
struct  GenRunInfoData
 Stores serializable run information. More...
 
class  GenVertex
 Stores vertex-related information. More...
 
struct  GenVertexData
 Stores serializable vertex information. More...
 
class  HEPEUPAttribute
 Class for storing data for LHEF run information. More...
 
struct  HEPEVT_Pointers
 C structure representing Fortran common block HEPEVT T. Sjöstrand et al., "A proposed standard event record", in ‘Z physics at LEP 1’, eds. G. Altarelli, R. Kleiss and C. Verzegnassi, Geneva, Switzerland, September 4-5, 1989, CERN 89-08 (Geneva, 1989), Vol. 3, p. 327 Disk representation is given by Fortran WRITE/READ format. More...
 
struct  HEPEVT_Templated
 C structure representing Fortran common block HEPEVT T. Sjöstrand et al., "A proposed standard event record", in ‘Z physics at LEP 1’, eds. G. Altarelli, R. Kleiss and C. Verzegnassi, Geneva, Switzerland, September 4-5, 1989, CERN 89-08 (Geneva, 1989), Vol. 3, p. 327 Disk representation is given by Fortran WRITE/READ format. More...
 
class  HEPEVT_Wrapper
 An interface to HEPEVT common block implemented in a traditional way. When possible this implementation should be avoided and the templated version should be used instead. More...
 
class  HEPEVT_Wrapper_Runtime
 An interface to HEPEVT common block implemented to deal with varying block size in runtime. More...
 
class  HEPEVT_Wrapper_Runtime_Static
 A static interface to HEPEVT common block implemented to deal with varying block size in runtime. More...
 
class  HEPEVT_Wrapper_Template
 An interface to HEPEVT common block implemented as template class. More...
 
class  HEPRUPAttribute
 Class for storing data for LHEF run information. More...
 
class  IntAttribute
 Attribute that holds an Integer implemented as an int. More...
 
class  LongAttribute
 Attribute that holds an Integer implemented as an int. More...
 
class  LongDoubleAttribute
 Attribute that holds a real number as a double. More...
 
class  LongLongAttribute
 Attribute that holds an Integer implemented as an int. More...
 
struct  pair_GenVertexPtr_int_greater
 Order vertices with equal paths. More...
 
class  Print
 Provides different printing formats. More...
 
class  Pythia8ToHepMC3
 
class  Reader
 Base class for all I/O readers. More...
 
class  ReaderAscii
 GenEvent I/O parsing for structured text files. More...
 
class  ReaderAsciiHepMC2
 Parser for HepMC2 I/O files. More...
 
class  ReaderGZ
 GenEvent I/O parsing for compressed files. More...
 
class  ReaderHEPEVT
 GenEvent I/O parsing and serialization for HEPEVT files. More...
 
class  ReaderLHEF
 GenEvent I/O parsing and serialization for LHEF files. More...
 
class  ReaderMT
 Multithreader GenEvent I/O parsing. More...
 
class  ReaderPlugin
 GenEvent I/O parsing and serialization using external plugin. More...
 
class  ReaderRoot
 GenEvent I/O parsing and serialization for root files. More...
 
class  ReaderRootTree
 GenEvent I/O parsing and serialization for root files based on root TTree. More...
 
class  ReaderuprootTree
 ReaderuprootTree. More...
 
class  Recursive
 forward declare the recursion wrapper More...
 
class  Relatives
 Define a common interface that all Relatives objects will satisfy Relatives provides an operator to get the relatives of a range of different GenObject types. The following are examples. More...
 
class  RelativesInterface
 forward declare the Relatives interface in which _parents and _children are wrapped More...
 
class  Selector
 Selector is an interface to "standard" Features that are valid for both integral and floating point comparisons. More...
 
class  SelectorWrapper
 Forward declaration of SelectorWrapper. More...
 
class  Setup
 Configuration for HepMC. More...
 
struct  sort_by_id_asc
 Comparison of two particle by id. More...
 
class  StandardSelector
 StandardSelector. More...
 
class  StringAttribute
 Attribute that holds a string. More...
 
class  UIntAttribute
 Attribute that holds an unsigned int. More...
 
class  ULongAttribute
 Attribute that holds an unsigned long. More...
 
class  ULongLongAttribute
 Attribute that holds an unsigned long long. More...
 
class  Units
 Stores units-related enums and conversion functions. More...
 
class  VectorCharAttribute
 Attribute that holds a vector of charegers of type char. More...
 
class  VectorDoubleAttribute
 Attribute that holds a vector of FPs of type double. More...
 
class  VectorFloatAttribute
 Attribute that holds a vector of floategers of type float. More...
 
class  VectorIntAttribute
 Attribute that holds a vector of integers of type int. More...
 
class  VectorLongDoubleAttribute
 Attribute that holds a vector of long doubleegers of type long double. More...
 
class  VectorLongIntAttribute
 Attribute that holds a vector of integers of type int. More...
 
class  VectorLongLongAttribute
 Attribute that holds a vector of long longegers of type long long. More...
 
class  VectorStringAttribute
 Attribute that holds a vector of FPs of type string. More...
 
class  VectorUIntAttribute
 Attribute that holds a vector of unsigned integers of type unsigned int. More...
 
class  VectorULongAttribute
 Attribute that holds a vector of unsigned longegers of type unsigned long. More...
 
class  VectorULongLongAttribute
 Attribute that holds a vector of unsigned long longegers of type unsigned long long. More...
 
class  Writer
 Base class for all I/O writers. More...
 
class  WriterAscii
 GenEvent I/O serialization for structured text files. More...
 
class  WriterAsciiHepMC2
 GenEvent I/O serialization for structured text files. More...
 
class  WriterDOT
 GenEvent I/O output to dot files that should be processed by graphviz or other software. More...
 
class  WriterGZ
 GenEvent I/O serialization for compressed files. More...
 
class  WriterHEPEVT
 GenEvent I/O serialization for HEPEVT files. More...
 
class  WriterHEPEVTZEUS
 GenEvent I/O output to files readable by ZEUS software. More...
 
class  WriterPlugin
 GenEvent I/O parsing and serialization using external plugin. More...
 
class  WriterRoot
 GenEvent I/O serialization for root files. More...
 
class  WriterRootTree
 GenEvent I/O serialization for root files based on root TTree. More...
 
class  WriterRootTreeOPAL
 GenEvent I/O output to files similar to these produced by OPAL software. More...
 

Typedefs

typedef GenHeavyIon HeavyIon
 Backward compatibility typedef.
 
using Filter = std::function< bool(ConstGenParticlePtr)>
 type of Filter
 
using Parents = RelativesInterface< _parents >
 alias of _parents wrapped in the Relatives interface
 
using Children = RelativesInterface< _children >
 alias of _children wrapped in the Relatives interface
 
using Ancestors = RelativesInterface< Recursive< _parents > >
 Ancestors is an alias to Recursion applied to the _parents and wrapped in the Relatives interface.
 
using Descendants = RelativesInterface< Recursive< _children > >
 Descendants is an alias to Recursion applied to the _children and wrapped in the Relatives interface.
 
using ConstSelectorPtr = std::shared_ptr< const Selector >
 Declaration of ConstSelectorPtr.
 

Functions

template<>
std::vector< std::string > ReaderuprootTree::get_vector< std::string > (PyObject *file_name, const std::string &array_name, std::string desired_type)
 obtain vector of objects using name and type, specified for std::string
 
bool is_parton (const int &pd)
 Detects if particle is parton. Might be used to draw partons different from hadrons.
 
void calculate_longest_path_to_top (ConstGenVertexPtr v, std::map< ConstGenVertexPtr, int > &pathl)
 Calculates the path to the top (beam) particles.
 
template<class T >
bool HEPEVT_to_GenEvent_nonstatic (GenEvent *evt, T *A)
 Converts HEPEVT into GenEvent.
 
template<class T >
bool GenEvent_to_HEPEVT_nonstatic (const GenEvent *evt, T *A)
 Converts GenEvent into HEPEVT.
 
template<class T >
bool HEPEVT_to_GenEvent_static (GenEvent *evt)
 Converts HEPEVT into GenEvent.
 
template<class T >
bool GenEvent_to_HEPEVT_static (const GenEvent *evt)
 Converts GenEvent into HEPEVT.
 
std::ostream & operator<< (std::ostream &os, const GenEvent &event)
 Print content of all GenEvent containers with idiomatic C++ printing.
 
std::ostream & operator<< (std::ostream &os, ConstGenVertexPtr v)
 Print one-line info with idiomatic C++ printing.
 
std::ostream & operator<< (std::ostream &os, ConstGenParticlePtr p)
 Print one-line info with idiomatic C++ printing.
 
std::ostream & operator<< (std::ostream &os, std::shared_ptr< GenCrossSection > &cs)
 Print one-line info with idiomatic C++ printing.
 
std::ostream & operator<< (std::ostream &os, std::shared_ptr< GenHeavyIon > &hi)
 Print one-line info with idiomatic C++ printing.
 
std::ostream & operator<< (std::ostream &os, std::shared_ptr< GenPdfInfo > &pi)
 Print one-line info with idiomatic C++ printing.
 
std::ostream & operator<< (std::ostream &os, const FourVector &p)
 Print one-line info with idiomatic C++ printing.
 
std::ostream & operator<< (std::ostream &os, const GenRunInfo::ToolInfo &t)
 Print one-line info with idiomatic C++ printing.
 
std::ostream & operator<< (std::ostream &os, const GenRunInfo &ri)
 Print one-line info with idiomatic C++ printing.
 
std::shared_ptr< Readerdeduce_reader (std::istream &stream)
 This function will deduce the type of input stream based on its content and will return appropriate Reader.
 
std::shared_ptr< Readerdeduce_reader (std::shared_ptr< std::istream > stream)
 This function will deduce the type of input stream based on its content and will return appropriate Reader.
 
std::shared_ptr< Readerdeduce_reader (const std::string &filename)
 This function deduces the type of input file based on the name/URL and its content, and will return an appropriate Reader object.
 
std::string version ()
 Get the HepMC library version string.
 
template<typename Feature_type >
Feature< Feature_type > abs (const Feature< Feature_type > &input)
 Obtain the absolute value of a Feature. This works as you'd expect. If foo is a valid Feature, then abs(foo) returns a new Feature that corresponds to the absolute value of the foo feature. You can construct a Filter from that in the usual way with e.g. Filter f = abs(foo) > 10.;.
 
std::vector< GenParticlePtr > applyFilter (const Filter &filter, const std::vector< GenParticlePtr > &particles)
 Apply a Filter to a list of GenParticles Returns a vector of GenParticles that satisfy the Filter.
 
std::vector< ConstGenParticlePtr > applyFilter (const Filter &filter, const std::vector< ConstGenParticlePtr > &particles)
 Apply a Filter to a list of ConstGenParticles Returns a vector of ConstGenParticles that satisfy the Filter.
 
bool ACCEPT_ALL (ConstGenParticlePtr)
 A Filter that will accept all particles This might be needed if a signature requires a default Filter.
 
Filter operator&& (const Filter &lhs, const Filter &rhs)
 The logical AND of two Filters is itself a Filter.
 
Filter operator|| (const Filter &lhs, const Filter &rhs)
 The logical OR of two Filters is itself a Filter.
 
Filter operator! (const Filter &rhs)
 The negation of a Filter is itself a Filter.
 
std::vector< HepMC3::GenParticlePtr > children_particles (HepMC3::GenVertexPtr O)
 Return children particles.
 
std::vector< HepMC3::ConstGenParticlePtr > children_particles (HepMC3::ConstGenVertexPtr O)
 Return children particles.
 
std::vector< HepMC3::GenVertexPtr > children_vertices (HepMC3::GenParticlePtr O)
 Return children vertices.
 
std::vector< HepMC3::ConstGenVertexPtr > children_vertices (HepMC3::ConstGenParticlePtr O)
 Return children vertices.
 
std::vector< HepMC3::GenParticlePtr > grandchildren_particles (HepMC3::GenParticlePtr O)
 Return grandchildren particles.
 
std::vector< HepMC3::ConstGenParticlePtr > grandchildren_particles (HepMC3::ConstGenParticlePtr O)
 Return grandchildren particles.
 
std::vector< HepMC3::GenVertexPtr > grandchildren_vertices (HepMC3::GenVertexPtr O)
 Return grandchildren vertices.
 
std::vector< HepMC3::ConstGenVertexPtr > grandchildren_vertices (HepMC3::ConstGenVertexPtr O)
 Return grandchildren vertices.
 
std::vector< HepMC3::GenParticlePtr > parent_particles (HepMC3::GenVertexPtr O)
 Return parent particles.
 
std::vector< HepMC3::ConstGenParticlePtr > parent_particles (HepMC3::ConstGenVertexPtr O)
 Return parent particles.
 
std::vector< HepMC3::GenVertexPtr > parent_vertices (HepMC3::GenParticlePtr O)
 Return parent vertices.
 
std::vector< HepMC3::ConstGenVertexPtr > parent_vertices (HepMC3::ConstGenParticlePtr O)
 Return parent vertices.
 
std::vector< HepMC3::GenParticlePtr > grandparent_particles (HepMC3::GenParticlePtr O)
 Return grandparent particles.
 
std::vector< HepMC3::ConstGenParticlePtr > grandparent_particles (HepMC3::ConstGenParticlePtr O)
 Return grandparent particles.
 
std::vector< HepMC3::GenVertexPtr > grandparent_vertices (HepMC3::GenVertexPtr O)
 Return grandparent vertices.
 
std::vector< HepMC3::ConstGenVertexPtr > grandparent_vertices (HepMC3::ConstGenVertexPtr O)
 Return grandparent vertices.
 
std::vector< HepMC3::ConstGenParticlePtr > descendant_particles (HepMC3::ConstGenVertexPtr obj)
 Return descendant particles.
 
std::vector< HepMC3::GenParticlePtr > descendant_particles (HepMC3::GenVertexPtr obj)
 Return descendant particles.
 
std::vector< HepMC3::ConstGenParticlePtr > descendant_particles (HepMC3::ConstGenParticlePtr obj)
 Return descendant particles.
 
std::vector< HepMC3::GenParticlePtr > descendant_particles (HepMC3::GenParticlePtr obj)
 Return descendant particles.
 
std::vector< HepMC3::ConstGenVertexPtr > descendant_vertices (HepMC3::ConstGenParticlePtr obj)
 Return descendant vertices.
 
std::vector< HepMC3::GenVertexPtr > descendant_vertices (HepMC3::GenParticlePtr obj)
 Return descendant vertices.
 
std::vector< HepMC3::ConstGenVertexPtr > descendant_vertices (HepMC3::ConstGenVertexPtr obj)
 Return descendant vertices.
 
std::vector< HepMC3::GenVertexPtr > descendant_vertices (HepMC3::GenVertexPtr obj)
 Return descendant vertices.
 
std::vector< HepMC3::ConstGenParticlePtr > ancestor_particles (HepMC3::ConstGenVertexPtr obj)
 Return ancestor particles.
 
std::vector< HepMC3::GenParticlePtr > ancestor_particles (HepMC3::GenVertexPtr obj)
 Return ancestor particles.
 
std::vector< HepMC3::ConstGenParticlePtr > ancestor_particles (HepMC3::ConstGenParticlePtr obj)
 Return ancestor particles.
 
std::vector< HepMC3::GenParticlePtr > ancestor_particles (HepMC3::GenParticlePtr obj)
 Return ancestor particles.
 
std::vector< HepMC3::ConstGenVertexPtr > ancestor_vertices (HepMC3::ConstGenParticlePtr obj)
 Return ancestor vertices.
 
std::vector< HepMC3::GenVertexPtr > ancestor_vertices (HepMC3::GenParticlePtr obj)
 Return ancestor vertices.
 
std::vector< HepMC3::ConstGenVertexPtr > ancestor_vertices (HepMC3::ConstGenVertexPtr obj)
 Return ancestor vertices.
 
std::vector< HepMC3::GenVertexPtr > ancestor_vertices (HepMC3::GenVertexPtr obj)
 Return ancestor vertices.
 
ConstSelectorPtr abs (const Selector &input)
 ConstSelectorPtr abs.
 
std::vector< HepMC3::GenParticlePtr > children (HepMC3::GenVertexPtr O)
 Returns children of vertex, i.e. outgoing particles.
 
std::vector< HepMC3::ConstGenParticlePtr > children (HepMC3::ConstGenVertexPtr O)
 Returns children of const vertex, i.e. outgoing particles.
 
std::vector< HepMC3::GenVertexPtr > children (HepMC3::GenParticlePtr O)
 Returns children of particle, i.e. the end vertex.
 
std::vector< HepMC3::ConstGenVertexPtr > children (HepMC3::ConstGenParticlePtr O)
 Returns children of const particle, i.e. the end vertex.
 
std::vector< HepMC3::GenParticlePtr > grandchildren (HepMC3::GenParticlePtr O)
 Returns grandchildren of particle, i.e. the outgoing particles of the end vertex.
 
std::vector< HepMC3::ConstGenParticlePtr > grandchildren (HepMC3::ConstGenParticlePtr O)
 Returns grandchildren of const particle, i.e. the outgoing particles of the end vertex.
 
std::vector< HepMC3::GenVertexPtr > grandchildren (HepMC3::GenVertexPtr O)
 Returns grandchildren of vertex, i.e. the end vertices of the outgoing particles.
 
std::vector< HepMC3::ConstGenVertexPtr > grandchildren (HepMC3::ConstGenVertexPtr O)
 Returns grandchildren of const vertex, i.e. the end vertices of the outgoing particles.
 
std::vector< HepMC3::GenParticlePtr > parents (HepMC3::GenVertexPtr O)
 Returns parents of vertex, i.e. incoming particles.
 
std::vector< HepMC3::ConstGenParticlePtr > parents (HepMC3::ConstGenVertexPtr O)
 Returns parents of const vertex, i.e. incoming particles.
 
std::vector< HepMC3::GenVertexPtr > parents (HepMC3::GenParticlePtr O)
 Returns parents of particle, i.e. production vertex.
 
std::vector< HepMC3::ConstGenVertexPtr > parents (HepMC3::ConstGenParticlePtr O)
 Returns parents of const particle, i.e. production vertex.
 
std::vector< HepMC3::GenParticlePtr > grandparents (HepMC3::GenParticlePtr O)
 Returns grandparents of particle, i.e. incoming particles of production vertex.
 
std::vector< HepMC3::ConstGenParticlePtr > grandparents (HepMC3::ConstGenParticlePtr O)
 Returns grandparents of const particle, i.e. incoming particles of production vertex.
 
std::vector< HepMC3::GenVertexPtr > grandparents (HepMC3::GenVertexPtr O)
 Returns grandparents of vertex, i.e. production vertices of incoming particles.
 
std::vector< HepMC3::ConstGenVertexPtr > grandparents (HepMC3::ConstGenVertexPtr O)
 Returns grandparents of const vertex, i.e. production vertices of incoming particles.
 
template<class O >
std::vector< O > descendants_of_same_type (O obj)
 Returns descendands of the same type, i.e. vertices for vertex and particles for particle.
 
template<class O , class R >
std::vector< R > descendants_of_other_type (O obj)
 Returns descendands of the other type, i.e. vertices for particle and particles for vertex.
 
template<class O >
std::vector< O > ancestors_of_same_type (O obj)
 Returns ancestors of the same type, i.e. vertices for vertex and particles for particle.
 
template<class O , class R >
std::vector< R > ancestors_of_other_type (O obj)
 Returns ancestors of the other type, i.e. vertices for particle and particles for vertex.
 
static bool visit_children (std::map< ConstGenVertexPtr, int > &a, ConstGenVertexPtr v)
 
Unbound vector comparison functions
double delta_phi (const FourVector &a, const FourVector &b)
 Signed azimuthal angle separation in [-pi, pi] between vecs a and b.
 
double delta_eta (const FourVector &a, const FourVector &b)
 Pseudorapidity separation between vecs a and b.
 
double delta_rap (const FourVector &a, const FourVector &b)
 Rapidity separation between vecs a and b.
 
double delta_r2_eta (const FourVector &a, const FourVector &b)
 R_eta^2-distance separation dR^2 = dphi^2 + deta^2 between vecs a and b.
 
double delta_r_eta (const FourVector &a, const FourVector &b)
 R_eta-distance separation dR = sqrt(dphi^2 + deta^2) between vecs a and b.
 
double delta_r2_rap (const FourVector &a, const FourVector &b)
 R_rap^2-distance separation dR^2 = dphi^2 + drap^2 between vecs a and b.
 
double delta_r_rap (const FourVector &a, const FourVector &b)
 R_rap-distance separation dR = sqrt(dphi^2 + drap^2) between vecs a and b.
 

Variables

HEPMC3_EXPORT_API struct HEPEVThepevtptr = nullptr
 

Detailed Description

HepMC3 main namespace.

HepMC3 main namespace

Typedef Documentation

◆ Ancestors

Ancestors is an alias to Recursion applied to the _parents and wrapped in the Relatives interface.

Definition at line 166 of file Relatives.h.

◆ Children

alias of _children wrapped in the Relatives interface

Definition at line 164 of file Relatives.h.

◆ ConstSelectorPtr

using ConstSelectorPtr = std::shared_ptr<const Selector>

Declaration of ConstSelectorPtr.

Definition at line 26 of file Selector.h.

◆ Descendants

Descendants is an alias to Recursion applied to the _children and wrapped in the Relatives interface.

Definition at line 168 of file Relatives.h.

◆ Filter

using Filter = std::function<bool(ConstGenParticlePtr)>

type of Filter

Definition at line 19 of file Filter.h.

◆ HeavyIon

Backward compatibility typedef.

Definition at line 247 of file GenHeavyIon.h.

◆ Parents

alias of _parents wrapped in the Relatives interface

Definition at line 162 of file Relatives.h.

Function Documentation

◆ abs() [1/2]

Feature< Feature_type > abs ( const Feature< Feature_type > &  input)

Obtain the absolute value of a Feature. This works as you'd expect. If foo is a valid Feature, then abs(foo) returns a new Feature that corresponds to the absolute value of the foo feature. You can construct a Filter from that in the usual way with e.g. Filter f = abs(foo) > 10.;.

Definition at line 323 of file Feature.h.

References Feature< Feature_type, Dummy >::abs().

◆ abs() [2/2]

ConstSelectorPtr abs ( const Selector input)

ConstSelectorPtr abs.

Definition at line 23 of file Selector.cc.

References Selector::abs().

◆ ACCEPT_ALL()

bool ACCEPT_ALL ( ConstGenParticlePtr  )
inline

A Filter that will accept all particles This might be needed if a signature requires a default Filter.

Definition at line 43 of file Filter.h.

◆ ancestor_particles() [1/4]

std::vector< HepMC3::ConstGenParticlePtr > ancestor_particles ( HepMC3::ConstGenParticlePtr  obj)

Return ancestor particles.

Definition at line 207 of file Relatives.cc.

References ancestors_of_same_type().

◆ ancestor_particles() [2/4]

std::vector< HepMC3::ConstGenParticlePtr > ancestor_particles ( HepMC3::ConstGenVertexPtr  obj)

Return ancestor particles.

Definition at line 188 of file Relatives.cc.

◆ ancestor_particles() [3/4]

std::vector< HepMC3::GenParticlePtr > ancestor_particles ( HepMC3::GenParticlePtr  obj)

Return ancestor particles.

Definition at line 208 of file Relatives.cc.

References ancestors_of_same_type().

◆ ancestor_particles() [4/4]

std::vector< HepMC3::GenParticlePtr > ancestor_particles ( HepMC3::GenVertexPtr  obj)

Return ancestor particles.

Definition at line 191 of file Relatives.cc.

◆ ancestor_vertices() [1/4]

std::vector< HepMC3::ConstGenVertexPtr > ancestor_vertices ( HepMC3::ConstGenParticlePtr  obj)

Return ancestor vertices.

Definition at line 195 of file Relatives.cc.

◆ ancestor_vertices() [2/4]

std::vector< HepMC3::ConstGenVertexPtr > ancestor_vertices ( HepMC3::ConstGenVertexPtr  obj)

Return ancestor vertices.

Definition at line 209 of file Relatives.cc.

References ancestors_of_same_type().

◆ ancestor_vertices() [3/4]

std::vector< HepMC3::GenVertexPtr > ancestor_vertices ( HepMC3::GenParticlePtr  obj)

Return ancestor vertices.

Definition at line 198 of file Relatives.cc.

◆ ancestor_vertices() [4/4]

std::vector< HepMC3::GenVertexPtr > ancestor_vertices ( HepMC3::GenVertexPtr  obj)

Return ancestor vertices.

Definition at line 210 of file Relatives.cc.

References ancestors_of_same_type().

◆ ancestors_of_other_type()

std::vector< R > ancestors_of_other_type ( obj)

Returns ancestors of the other type, i.e. vertices for particle and particles for vertex.

Definition at line 162 of file Relatives.cc.

References ancestors_of_same_type(), and parents().

◆ ancestors_of_same_type()

std::vector< O > ancestors_of_same_type ( obj)

Returns ancestors of the same type, i.e. vertices for vertex and particles for particle.

Definition at line 144 of file Relatives.cc.

References grandparents().

◆ applyFilter() [1/2]

std::vector< ConstGenParticlePtr > applyFilter ( const Filter filter,
const std::vector< ConstGenParticlePtr > &  particles 
)
inline

Apply a Filter to a list of ConstGenParticles Returns a vector of ConstGenParticles that satisfy the Filter.

Definition at line 33 of file Filter.h.

◆ applyFilter() [2/2]

std::vector< GenParticlePtr > applyFilter ( const Filter filter,
const std::vector< GenParticlePtr > &  particles 
)
inline

Apply a Filter to a list of GenParticles Returns a vector of GenParticles that satisfy the Filter.

Definition at line 23 of file Filter.h.

◆ calculate_longest_path_to_top()

void calculate_longest_path_to_top ( ConstGenVertexPtr  v,
std::map< ConstGenVertexPtr, int > &  pathl 
)

Calculates the path to the top (beam) particles.

Definition at line 76 of file HEPEVT_Wrapper.cc.

References calculate_longest_path_to_top().

◆ children() [1/4]

std::vector< HepMC3::ConstGenVertexPtr > children ( HepMC3::ConstGenParticlePtr  O)

Returns children of const particle, i.e. the end vertex.

Definition at line 42 of file Relatives.cc.

◆ children() [2/4]

std::vector< HepMC3::ConstGenParticlePtr > children ( HepMC3::ConstGenVertexPtr  O)

Returns children of const vertex, i.e. outgoing particles.

Definition at line 31 of file Relatives.cc.

◆ children() [3/4]

std::vector< HepMC3::GenVertexPtr > children ( HepMC3::GenParticlePtr  O)

Returns children of particle, i.e. the end vertex.

Definition at line 36 of file Relatives.cc.

◆ children() [4/4]

std::vector< HepMC3::GenParticlePtr > children ( HepMC3::GenVertexPtr  O)

Returns children of vertex, i.e. outgoing particles.

Definition at line 26 of file Relatives.cc.

◆ children_particles() [1/2]

std::vector< HepMC3::ConstGenParticlePtr > children_particles ( HepMC3::ConstGenVertexPtr  O)

Return children particles.

Definition at line 212 of file Relatives.cc.

References children().

◆ children_particles() [2/2]

std::vector< HepMC3::GenParticlePtr > children_particles ( HepMC3::GenVertexPtr  O)

Return children particles.

Definition at line 211 of file Relatives.cc.

References children().

◆ children_vertices() [1/2]

std::vector< HepMC3::ConstGenVertexPtr > children_vertices ( HepMC3::ConstGenParticlePtr  O)

Return children vertices.

Definition at line 214 of file Relatives.cc.

References children().

◆ children_vertices() [2/2]

std::vector< HepMC3::GenVertexPtr > children_vertices ( HepMC3::GenParticlePtr  O)

Return children vertices.

Definition at line 213 of file Relatives.cc.

References children().

◆ deduce_reader() [1/3]

std::shared_ptr< Reader > deduce_reader ( const std::string &  filename)

This function deduces the type of input file based on the name/URL and its content, and will return an appropriate Reader object.

Todo:

Too big for inlining: move into a .cc implementation file?

Need a DEBUG verbosity flag

Definition at line 35 of file ReaderFactory.h.

References deduce_reader(), HEPMC3_DEBUG, and HEPMC3_ERROR.

◆ deduce_reader() [2/3]

std::shared_ptr< Reader > deduce_reader ( std::istream &  stream)

This function will deduce the type of input stream based on its content and will return appropriate Reader.

Definition at line 149 of file ReaderFactory.h.

References HEPMC3_DEBUG, and HEPMC3_WARNING.

◆ deduce_reader() [3/3]

std::shared_ptr< Reader > deduce_reader ( std::shared_ptr< std::istream >  stream)

This function will deduce the type of input stream based on its content and will return appropriate Reader.

Definition at line 214 of file ReaderFactory.h.

References HEPMC3_DEBUG, and HEPMC3_WARNING.

◆ delta_eta()

double delta_eta ( const FourVector a,
const FourVector b 
)
inline

Pseudorapidity separation between vecs a and b.

Definition at line 316 of file FourVector.h.

References FourVector::delta_eta().

◆ delta_phi()

double delta_phi ( const FourVector a,
const FourVector b 
)
inline

Signed azimuthal angle separation in [-pi, pi] between vecs a and b.

Definition at line 313 of file FourVector.h.

References FourVector::delta_phi().

◆ delta_r2_eta()

double delta_r2_eta ( const FourVector a,
const FourVector b 
)
inline

R_eta^2-distance separation dR^2 = dphi^2 + deta^2 between vecs a and b.

Definition at line 322 of file FourVector.h.

References FourVector::delta_r2_eta().

◆ delta_r2_rap()

double delta_r2_rap ( const FourVector a,
const FourVector b 
)
inline

R_rap^2-distance separation dR^2 = dphi^2 + drap^2 between vecs a and b.

Definition at line 328 of file FourVector.h.

References FourVector::delta_r2_rap().

◆ delta_r_eta()

double delta_r_eta ( const FourVector a,
const FourVector b 
)
inline

R_eta-distance separation dR = sqrt(dphi^2 + deta^2) between vecs a and b.

Definition at line 325 of file FourVector.h.

References FourVector::delta_r_eta().

◆ delta_r_rap()

double delta_r_rap ( const FourVector a,
const FourVector b 
)
inline

R_rap-distance separation dR = sqrt(dphi^2 + drap^2) between vecs a and b.

Definition at line 331 of file FourVector.h.

References FourVector::delta_r_rap().

◆ delta_rap()

double delta_rap ( const FourVector a,
const FourVector b 
)
inline

Rapidity separation between vecs a and b.

Definition at line 319 of file FourVector.h.

References FourVector::delta_rap().

◆ descendant_particles() [1/4]

std::vector< HepMC3::ConstGenParticlePtr > descendant_particles ( HepMC3::ConstGenParticlePtr  obj)

Return descendant particles.

Definition at line 203 of file Relatives.cc.

References descendants_of_same_type().

◆ descendant_particles() [2/4]

std::vector< HepMC3::ConstGenParticlePtr > descendant_particles ( HepMC3::ConstGenVertexPtr  obj)

Return descendant particles.

Definition at line 174 of file Relatives.cc.

◆ descendant_particles() [3/4]

std::vector< HepMC3::GenParticlePtr > descendant_particles ( HepMC3::GenParticlePtr  obj)

Return descendant particles.

Definition at line 204 of file Relatives.cc.

References descendants_of_same_type().

◆ descendant_particles() [4/4]

std::vector< HepMC3::GenParticlePtr > descendant_particles ( HepMC3::GenVertexPtr  obj)

Return descendant particles.

Definition at line 177 of file Relatives.cc.

◆ descendant_vertices() [1/4]

std::vector< ConstGenVertexPtr > descendant_vertices ( HepMC3::ConstGenParticlePtr  obj)

Return descendant vertices.

Definition at line 181 of file Relatives.cc.

◆ descendant_vertices() [2/4]

std::vector< HepMC3::ConstGenVertexPtr > descendant_vertices ( HepMC3::ConstGenVertexPtr  obj)

Return descendant vertices.

Definition at line 205 of file Relatives.cc.

References descendants_of_same_type().

◆ descendant_vertices() [3/4]

std::vector< HepMC3::GenVertexPtr > descendant_vertices ( HepMC3::GenParticlePtr  obj)

Return descendant vertices.

Definition at line 184 of file Relatives.cc.

◆ descendant_vertices() [4/4]

std::vector< HepMC3::GenVertexPtr > descendant_vertices ( HepMC3::GenVertexPtr  obj)

Return descendant vertices.

Definition at line 206 of file Relatives.cc.

References descendants_of_same_type().

◆ descendants_of_other_type()

std::vector< R > descendants_of_other_type ( obj)

Returns descendands of the other type, i.e. vertices for particle and particles for vertex.

Definition at line 132 of file Relatives.cc.

References children(), and descendants_of_same_type().

◆ descendants_of_same_type()

std::vector< O > descendants_of_same_type ( obj)

Returns descendands of the same type, i.e. vertices for vertex and particles for particle.

Definition at line 114 of file Relatives.cc.

References grandchildren().

◆ GenEvent_to_HEPEVT_nonstatic()

bool GenEvent_to_HEPEVT_nonstatic ( const GenEvent evt,
T *  A 
)

Converts GenEvent into HEPEVT.

This writes an event out to the HEPEVT common block. The daughters field is NOT filled, because it is possible to contruct graphs for which the mothers and daughters cannot both be make sequential. This is consistent with how pythia fills HEPEVT (daughters are not necessarily filled properly) and how IO_HEPEVT reads HEPEVT.

Definition at line 161 of file HEPEVT_Helpers.h.

References calculate_longest_path_to_top(), FourVector::e(), GenEvent::event_number(), FourVector::px(), FourVector::py(), FourVector::pz(), FourVector::t(), GenEvent::vertices(), FourVector::x(), FourVector::y(), and FourVector::z().

◆ GenEvent_to_HEPEVT_static()

bool GenEvent_to_HEPEVT_static ( const GenEvent evt)

Converts GenEvent into HEPEVT.

This writes an event out to the HEPEVT common block. The daughters field is NOT filled, because it is possible to contruct graphs for which the mothers and daughters cannot both be make sequential. This is consistent with how pythia fills HEPEVT (daughters are not necessarily filled properly) and how IO_HEPEVT reads HEPEVT.

Definition at line 310 of file HEPEVT_Helpers.h.

References calculate_longest_path_to_top(), FourVector::e(), GenEvent::event_number(), FourVector::px(), FourVector::py(), FourVector::pz(), FourVector::t(), GenEvent::vertices(), FourVector::x(), FourVector::y(), and FourVector::z().

◆ grandchildren() [1/4]

std::vector< HepMC3::ConstGenParticlePtr > grandchildren ( HepMC3::ConstGenParticlePtr  O)

Returns grandchildren of const particle, i.e. the outgoing particles of the end vertex.

Definition at line 53 of file Relatives.cc.

◆ grandchildren() [2/4]

std::vector< HepMC3::ConstGenVertexPtr > grandchildren ( HepMC3::ConstGenVertexPtr  O)

Returns grandchildren of const vertex, i.e. the end vertices of the outgoing particles.

Definition at line 64 of file Relatives.cc.

◆ grandchildren() [3/4]

std::vector< HepMC3::GenParticlePtr > grandchildren ( HepMC3::GenParticlePtr  O)

Returns grandchildren of particle, i.e. the outgoing particles of the end vertex.

Definition at line 48 of file Relatives.cc.

◆ grandchildren() [4/4]

std::vector< HepMC3::GenVertexPtr > grandchildren ( HepMC3::GenVertexPtr  O)

Returns grandchildren of vertex, i.e. the end vertices of the outgoing particles.

Definition at line 58 of file Relatives.cc.

◆ grandchildren_particles() [1/2]

std::vector< HepMC3::ConstGenParticlePtr > grandchildren_particles ( HepMC3::ConstGenParticlePtr  O)

Return grandchildren particles.

Definition at line 216 of file Relatives.cc.

References grandchildren().

◆ grandchildren_particles() [2/2]

std::vector< HepMC3::GenParticlePtr > grandchildren_particles ( HepMC3::GenParticlePtr  O)

Return grandchildren particles.

Definition at line 215 of file Relatives.cc.

References grandchildren().

◆ grandchildren_vertices() [1/2]

std::vector< HepMC3::ConstGenVertexPtr > grandchildren_vertices ( HepMC3::ConstGenVertexPtr  O)

Return grandchildren vertices.

Definition at line 218 of file Relatives.cc.

References grandchildren().

◆ grandchildren_vertices() [2/2]

std::vector< HepMC3::GenVertexPtr > grandchildren_vertices ( HepMC3::GenVertexPtr  O)

Return grandchildren vertices.

Definition at line 217 of file Relatives.cc.

References grandchildren().

◆ grandparent_particles() [1/2]

std::vector< HepMC3::ConstGenParticlePtr > grandparent_particles ( HepMC3::ConstGenParticlePtr  O)

Return grandparent particles.

Definition at line 224 of file Relatives.cc.

References grandparents().

◆ grandparent_particles() [2/2]

std::vector< HepMC3::GenParticlePtr > grandparent_particles ( HepMC3::GenParticlePtr  O)

Return grandparent particles.

Definition at line 223 of file Relatives.cc.

References grandparents().

◆ grandparent_vertices() [1/2]

std::vector< HepMC3::ConstGenVertexPtr > grandparent_vertices ( HepMC3::ConstGenVertexPtr  O)

Return grandparent vertices.

Definition at line 226 of file Relatives.cc.

References grandparents().

◆ grandparent_vertices() [2/2]

std::vector< HepMC3::GenVertexPtr > grandparent_vertices ( HepMC3::GenVertexPtr  O)

Return grandparent vertices.

Definition at line 225 of file Relatives.cc.

References grandparents().

◆ grandparents() [1/4]

std::vector< HepMC3::ConstGenParticlePtr > grandparents ( HepMC3::ConstGenParticlePtr  O)

Returns grandparents of const particle, i.e. incoming particles of production vertex.

Definition at line 97 of file Relatives.cc.

◆ grandparents() [2/4]

std::vector< HepMC3::ConstGenVertexPtr > grandparents ( HepMC3::ConstGenVertexPtr  O)

Returns grandparents of const vertex, i.e. production vertices of incoming particles.

Definition at line 108 of file Relatives.cc.

◆ grandparents() [3/4]

std::vector< HepMC3::GenParticlePtr > grandparents ( HepMC3::GenParticlePtr  O)

Returns grandparents of particle, i.e. incoming particles of production vertex.

Definition at line 92 of file Relatives.cc.

◆ grandparents() [4/4]

std::vector< HepMC3::GenVertexPtr > grandparents ( HepMC3::GenVertexPtr  O)

Returns grandparents of vertex, i.e. production vertices of incoming particles.

Definition at line 102 of file Relatives.cc.

◆ HEPEVT_to_GenEvent_nonstatic()

bool HEPEVT_to_GenEvent_nonstatic ( GenEvent evt,
T *  A 
)

Converts HEPEVT into GenEvent.

Definition at line 90 of file HEPEVT_Helpers.h.

References GenEvent::add_tree(), and GenEvent::set_event_number().

◆ HEPEVT_to_GenEvent_static()

bool HEPEVT_to_GenEvent_static ( GenEvent evt)

Converts HEPEVT into GenEvent.

Definition at line 238 of file HEPEVT_Helpers.h.

References GenEvent::add_tree(), and GenEvent::set_event_number().

◆ is_parton()

bool is_parton ( const int &  pd)

Detects if particle is parton. Might be used to draw partons different from hadrons.

Definition at line 33 of file WriterDOT.cc.

◆ operator!()

Filter operator! ( const Filter rhs)
inline

The negation of a Filter is itself a Filter.

Definition at line 58 of file Filter.h.

◆ operator&&()

Filter operator&& ( const Filter lhs,
const Filter rhs 
)
inline

The logical AND of two Filters is itself a Filter.

Definition at line 48 of file Filter.h.

◆ operator<<() [1/9]

std::ostream & operator<< ( std::ostream &  os,
const FourVector p 
)
inline

Print one-line info with idiomatic C++ printing.

Note
More generic printing methods from HepMC3::Print should be preffered

Definition at line 45 of file PrintStreams.h.

References Print::line().

◆ operator<<() [2/9]

std::ostream & operator<< ( std::ostream &  os,
const GenEvent event 
)
inline

Print content of all GenEvent containers with idiomatic C++ printing.

Note
More generic printing methods from HepMC3::Print should be preffered

Definition at line 21 of file PrintStreams.h.

References Print::content().

◆ operator<<() [3/9]

std::ostream & operator<< ( std::ostream &  os,
const GenRunInfo ri 
)
inline

Print one-line info with idiomatic C++ printing.

Note
More generic printing methods from HepMC3::Print should be preffered

Definition at line 53 of file PrintStreams.h.

References Print::line().

◆ operator<<() [4/9]

std::ostream & operator<< ( std::ostream &  os,
const GenRunInfo::ToolInfo t 
)
inline

Print one-line info with idiomatic C++ printing.

Note
More generic printing methods from HepMC3::Print should be preffered

Definition at line 49 of file PrintStreams.h.

References Print::line().

◆ operator<<() [5/9]

std::ostream & operator<< ( std::ostream &  os,
ConstGenParticlePtr  p 
)
inline

Print one-line info with idiomatic C++ printing.

Note
More generic printing methods from HepMC3::Print should be preffered

Definition at line 29 of file PrintStreams.h.

References Print::line().

◆ operator<<() [6/9]

std::ostream & operator<< ( std::ostream &  os,
ConstGenVertexPtr  v 
)
inline

Print one-line info with idiomatic C++ printing.

Note
More generic printing methods from HepMC3::Print should be preffered

Definition at line 25 of file PrintStreams.h.

References Print::line().

◆ operator<<() [7/9]

std::ostream & operator<< ( std::ostream &  os,
std::shared_ptr< GenCrossSection > &  cs 
)
inline

Print one-line info with idiomatic C++ printing.

Note
More generic printing methods from HepMC3::Print should be preffered

Definition at line 33 of file PrintStreams.h.

References Print::line().

◆ operator<<() [8/9]

std::ostream & operator<< ( std::ostream &  os,
std::shared_ptr< GenHeavyIon > &  hi 
)
inline

Print one-line info with idiomatic C++ printing.

Note
More generic printing methods from HepMC3::Print should be preffered

Definition at line 37 of file PrintStreams.h.

References Print::line().

◆ operator<<() [9/9]

std::ostream & operator<< ( std::ostream &  os,
std::shared_ptr< GenPdfInfo > &  pi 
)
inline

Print one-line info with idiomatic C++ printing.

Note
More generic printing methods from HepMC3::Print should be preffered

Definition at line 41 of file PrintStreams.h.

References Print::line().

◆ operator||()

Filter operator|| ( const Filter lhs,
const Filter rhs 
)
inline

The logical OR of two Filters is itself a Filter.

Definition at line 53 of file Filter.h.

◆ parent_particles() [1/2]

std::vector< HepMC3::ConstGenParticlePtr > parent_particles ( HepMC3::ConstGenVertexPtr  O)

Return parent particles.

Definition at line 220 of file Relatives.cc.

References parents().

◆ parent_particles() [2/2]

std::vector< HepMC3::GenParticlePtr > parent_particles ( HepMC3::GenVertexPtr  O)

Return parent particles.

Definition at line 219 of file Relatives.cc.

References parents().

◆ parent_vertices() [1/2]

std::vector< HepMC3::ConstGenVertexPtr > parent_vertices ( HepMC3::ConstGenParticlePtr  O)

Return parent vertices.

Definition at line 222 of file Relatives.cc.

References parents().

◆ parent_vertices() [2/2]

std::vector< HepMC3::GenVertexPtr > parent_vertices ( HepMC3::GenParticlePtr  O)

Return parent vertices.

Definition at line 221 of file Relatives.cc.

References parents().

◆ parents() [1/4]

std::vector< HepMC3::ConstGenVertexPtr > parents ( HepMC3::ConstGenParticlePtr  O)

Returns parents of const particle, i.e. production vertex.

Definition at line 86 of file Relatives.cc.

◆ parents() [2/4]

std::vector< HepMC3::ConstGenParticlePtr > parents ( HepMC3::ConstGenVertexPtr  O)

Returns parents of const vertex, i.e. incoming particles.

Definition at line 75 of file Relatives.cc.

◆ parents() [3/4]

std::vector< HepMC3::GenVertexPtr > parents ( HepMC3::GenParticlePtr  O)

Returns parents of particle, i.e. production vertex.

Definition at line 80 of file Relatives.cc.

◆ parents() [4/4]

std::vector< HepMC3::GenParticlePtr > parents ( HepMC3::GenVertexPtr  O)

Returns parents of vertex, i.e. incoming particles.

Definition at line 70 of file Relatives.cc.

◆ ReaderuprootTree::get_vector< std::string >()

std::vector< std::string > ReaderuprootTree::get_vector< std::string > ( PyObject *  file_name,
const std::string &  array_name,
std::string  desired_type 
)

obtain vector of objects using name and type, specified for std::string

Definition at line 9 of file ReaderuprootTree.cc.

◆ version()

std::string version ( )
inline

Get the HepMC library version string.

Definition at line 20 of file Version.h.

◆ visit_children()

static bool visit_children ( std::map< ConstGenVertexPtr, int > &  a,
ConstGenVertexPtr  v 
)
static
Todo:
This looks dangerously similar to the recusive event traversel that we forbade in the Core library due to wories about generator dependence

Definition at line 253 of file GenEvent.cc.

References visit_children().

Variable Documentation

◆ hepevtptr

HEPMC3_EXPORT_API struct HEPEVT* hepevtptr = nullptr

Definition at line 90 of file HEPEVT_Wrapper.cc.