HepMC3 event record library
Public Types | Public Member Functions | Static Public Member Functions | Data Fields
Scales Struct Reference

#include <LHEF.h>

+ Inheritance diagram for Scales:
+ Collaboration diagram for Scales:

Public Types

typedef XMLTag::AttributeMap AttributeMap
 

Public Member Functions

 Scales (double defscale=-1.0, int npart=0)
 
 Scales (const XMLTag &tag, double defscale=-1.0, int npart=0)
 
bool hasInfo () const
 
void print (std::ostream &file) const
 
double getScale (std::string st, int pdgem, int emr, int rec) const
 
bool getattr (std::string n, double &v, bool erase=true)
 
bool getattr (std::string n, bool &v, bool erase=true)
 
bool getattr (std::string n, long &v, bool erase=true)
 
bool getattr (std::string n, int &v, bool erase=true)
 
bool getattr (std::string n, std::string &v, bool erase=true)
 
void printattrs (std::ostream &file) const
 
void closetag (std::ostream &file, std::string tag) const
 

Static Public Member Functions

static std::string yes ()
 

Data Fields

double muf
 
double mur
 
double mups
 
double SCALUP
 
std::vector< Scalescales
 
XMLTag::AttributeMap attributes
 
std::string contents
 

Detailed Description

Collect different scales relevant for an event.

Definition at line 1416 of file LHEF.h.

Member Typedef Documentation

Convenient typedef.

Definition at line 350 of file LHEF.h.

Constructor & Destructor Documentation

Scales ( double  defscale = -1.0,
int  npart = 0 
)
inline

Empty constructor.

Definition at line 1421 of file LHEF.h.

Scales ( const XMLTag tag,
double  defscale = -1.0,
int  npart = 0 
)
inline

Construct from an XML-tag

Definition at line 1429 of file LHEF.h.

References TagBase::getattr(), Scales::muf, Scales::mups, Scales::mur, Scales::scales, and XMLTag::tags.

Member Function Documentation

void closetag ( std::ostream &  file,
std::string  tag 
) const
inlineinherited

Print out end of tag marker. Print contents if not empty else print simple close tag.

Definition at line 445 of file LHEF.h.

References TagBase::contents.

bool getattr ( std::string  n,
double &  v,
bool  erase = true 
)
inlineinherited

Find an attribute named n and set the double variable v to the corresponding value. Remove the correspondig attribute from the list if found and erase is true.

Returns
false if no attribute was found.

Definition at line 368 of file LHEF.h.

References TagBase::attributes.

bool getattr ( std::string  n,
bool &  v,
bool  erase = true 
)
inlineinherited

Find an attribute named n and set the bool variable v to true if the corresponding value is "yes". Remove the correspondig attribute from the list if found and erase is true.

Returns
false if no attribute was found.

Definition at line 382 of file LHEF.h.

References TagBase::attributes.

bool getattr ( std::string  n,
long &  v,
bool  erase = true 
)
inlineinherited

Find an attribute named n and set the long variable v to the corresponding value. Remove the correspondig attribute from the list if found and erase is true.

Returns
false if no attribute was found.

Definition at line 396 of file LHEF.h.

References TagBase::attributes.

bool getattr ( std::string  n,
int &  v,
bool  erase = true 
)
inlineinherited

Find an attribute named n and set the long variable v to the corresponding value. Remove the correspondig attribute from the list if found and erase is true.

Returns
false if no attribute was found.

Definition at line 410 of file LHEF.h.

References TagBase::attributes.

bool getattr ( std::string  n,
std::string &  v,
bool  erase = true 
)
inlineinherited

Find an attribute named n and set the string variable v to the corresponding value. Remove the correspondig attribute from the list if found and erase is true.

Returns
false if no attribute was found.

Definition at line 424 of file LHEF.h.

References TagBase::attributes.

double getScale ( std::string  st,
int  pdgem,
int  emr,
int  rec 
) const
inline

Return the scale of type st for a given emission of particle type pdgem from the emitter with number emr and a recoiler rec. (Note that the indices for emr and rec starts at 1 and 0 is interpreted as any particle.) First it will check for Scale object with an exact match. If not found, it will search for an exact match for the emitter and recoiler with an undefined emitted particle. If not found, it will look for a match for only emitter and emitted, of if not found, a match for only the emitter. Finally a general Scale object will be used, or if nothing matches, the mups will be returned.

Definition at line 1489 of file LHEF.h.

References Scales::mups, and Scales::scales.

bool hasInfo ( ) const
inline

Check if this object contains useful information besides SCALUP.

Definition at line 1452 of file LHEF.h.

References Scales::muf, Scales::mups, Scales::mur, Scales::scales, and Scales::SCALUP.

void print ( std::ostream &  file) const
inline
void printattrs ( std::ostream &  file) const
inlineinherited

print out ' name="value"' for all unparsed attributes.

Definition at line 435 of file LHEF.h.

References TagBase::attributes, and LHEF::oattr().

static std::string yes ( )
inlinestaticinherited

Static string token for truth values.

Definition at line 467 of file LHEF.h.

Field Documentation

XMLTag::AttributeMap attributes
inherited

The attributes of this tag;

Definition at line 457 of file LHEF.h.

std::string contents
mutableinherited

The contents of this tag.

Definition at line 462 of file LHEF.h.

double muf

The factorization scale used for this event.

Definition at line 1512 of file LHEF.h.

double mups

The starting scale for the parton shower as suggested by the matrix element generator.

Definition at line 1523 of file LHEF.h.

double mur

The renormalization scale used for this event.

Definition at line 1517 of file LHEF.h.

std::vector<Scale> scales

The list of special scales.

Definition at line 1533 of file LHEF.h.

double SCALUP

The default scale in this event.

Definition at line 1528 of file LHEF.h.


The documentation for this struct was generated from the following file: