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

Detailed Description

The Cut class represents a cut used by the Matrix Element generator.

Definition at line 669 of file LHEF.h.

#include <LHEF.h>

+ Inheritance diagram for Cut:
+ Collaboration diagram for Cut:

Public Types

typedef XMLTag::AttributeMap AttributeMap
 

Public Member Functions

 Cut ()
 
 Cut (const XMLTag &tag, const std::map< std::string, std::set< long > > &ptypes)
 
void print (std::ostream &file) const
 
bool match (long id1, long id2=0) const
 
bool passCuts (const std::vector< long > &id, const std::vector< std::vector< double > > &p) const
 
bool outside (double value) 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 double eta (const std::vector< double > &p)
 
static double rap (const std::vector< double > &p)
 
static double deltaR (const std::vector< double > &p1, const std::vector< double > &p2)
 
static std::string yes ()
 

Data Fields

std::string type
 
std::set< long > p1
 
std::string np1
 
std::set< long > p2
 
std::string np2
 
double min
 
double max
 
XMLTag::AttributeMap attributes
 
std::string contents
 

Member Typedef Documentation

◆ AttributeMap

Convenient typedef.

Definition at line 350 of file LHEF.h.

Constructor & Destructor Documentation

◆ Cut() [1/2]

Cut ( )
inline

Intitialize default values.

Definition at line 674 of file LHEF.h.

◆ Cut() [2/2]

Cut ( const XMLTag tag,
const std::map< std::string, std::set< long > > &  ptypes 
)
inline

Member Function Documentation

◆ closetag()

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.

◆ deltaR()

static double deltaR ( const std::vector< double > &  p1,
const std::vector< double > &  p2 
)
inlinestatic

Return the delta-R of a particle pair with momenta p1 and p2.

Definition at line 860 of file LHEF.h.

References Cut::eta(), M_PI, Cut::p1, and Cut::p2.

◆ eta()

static double eta ( const std::vector< double > &  p)
inlinestatic

Return the pseudorapidity of a particle with momentum p.

Definition at line 832 of file LHEF.h.

◆ getattr() [1/5]

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.

◆ getattr() [2/5]

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.

◆ getattr() [3/5]

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.

◆ getattr() [4/5]

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.

◆ getattr() [5/5]

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.

◆ match()

bool match ( long  id1,
long  id2 = 0 
) const
inline

Check if a id1 matches p1 and id2 matches p2. Only non-zero values are considered.

Definition at line 749 of file LHEF.h.

References Cut::p1, and Cut::p2.

◆ outside()

bool outside ( double  value) const
inline

Return true if the given value is outside limits.

Definition at line 872 of file LHEF.h.

References Cut::max.

◆ passCuts()

bool passCuts ( const std::vector< long > &  id,
const std::vector< std::vector< double > > &  p 
) const
inline

Check if the particles given as a vector of PDG id numbers, and a vector of vectors of momentum components, p, will pass the cut defined in this event.

Definition at line 765 of file LHEF.h.

References Cut::deltaR(), Cut::eta(), Cut::match(), Cut::outside(), Cut::p2, Cut::rap(), and Cut::type.

◆ print()

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

Print out an XML tag.

Definition at line 722 of file LHEF.h.

References TagBase::contents, Cut::max, Cut::min, Cut::np1, Cut::np2, LHEF::oattr(), Cut::p1, Cut::p2, TagBase::printattrs(), and Cut::type.

◆ printattrs()

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().

◆ rap()

static double rap ( const std::vector< double > &  p)
inlinestatic

Return the true rapidity of a particle with momentum p.

Definition at line 846 of file LHEF.h.

◆ yes()

static std::string yes ( )
inlinestaticinherited

Static string token for truth values.

Definition at line 467 of file LHEF.h.

Field Documentation

◆ attributes

XMLTag::AttributeMap attributes
inherited

The attributes of this tag;

Definition at line 457 of file LHEF.h.

◆ contents

std::string contents
mutableinherited

The contents of this tag.

Definition at line 462 of file LHEF.h.

◆ max

double max

The maximum value of the variable

Definition at line 908 of file LHEF.h.

◆ min

double min

The minimum value of the variable

Definition at line 904 of file LHEF.h.

◆ np1

std::string np1

Symbolic name for p1.

Definition at line 889 of file LHEF.h.

◆ np2

std::string np2

Symbolic name for p1.

Definition at line 899 of file LHEF.h.

◆ p1

std::set<long> p1

The first types particle types for which this cut applies.

Definition at line 884 of file LHEF.h.

◆ p2

std::set<long> p2

The second type of particles for which this cut applies.

Definition at line 894 of file LHEF.h.

◆ type

std::string type

The variable in which to cut.

Definition at line 879 of file LHEF.h.


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