HepMC3 event record library
Cut Struct Reference

Detailed Description

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

Definition at line 687 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 (const std::string &n, double &v, bool erase=true)
 
bool getattr (const std::string &n, bool &v, bool erase=true)
 
bool getattr (const std::string &n, long &v, bool erase=true)
 
bool getattr (const std::string &n, int &v, bool erase=true)
 
bool getattr (const std::string &n, std::string &v, bool erase=true)
 
void printattrs (std::ostream &file) const
 
void closetag (std::ostream &file, const 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 367 of file LHEF.h.

Constructor & Destructor Documentation

◆ Cut() [1/2]

Cut ( )
inline

Intitialize default values.

Definition at line 692 of file LHEF.h.

References max, and min.

◆ Cut() [2/2]

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

Create from XML tag.

Definition at line 698 of file LHEF.h.

References TagBase::getattr(), XMLTag::getattr(), max, min, np1, TagBase::TagBase(), and type.

Member Function Documentation

◆ closetag()

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

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

Definition at line 463 of file LHEF.h.

References 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 878 of file LHEF.h.

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

◆ eta()

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

Return the pseudorapidity of a particle with momentum p.

Definition at line 850 of file LHEF.h.

◆ getattr() [1/5]

bool getattr ( const 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 400 of file LHEF.h.

References attributes.

◆ getattr() [2/5]

bool getattr ( const 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 386 of file LHEF.h.

References attributes.

◆ getattr() [3/5]

bool getattr ( const 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 428 of file LHEF.h.

References attributes.

◆ getattr() [4/5]

bool getattr ( const 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 414 of file LHEF.h.

References attributes.

◆ getattr() [5/5]

bool getattr ( const 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 442 of file LHEF.h.

References 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 767 of file LHEF.h.

References p1, and p2.

◆ outside()

bool outside ( double value) const
inline

Return true if the given value is outside limits.

Definition at line 890 of file LHEF.h.

References 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 783 of file LHEF.h.

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

◆ print()

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

Print out an XML tag.

Definition at line 740 of file LHEF.h.

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

◆ printattrs()

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

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

Definition at line 453 of file LHEF.h.

References 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 864 of file LHEF.h.

◆ yes()

static std::string yes ( )
inlinestaticinherited

Static string token for truth values.

Definition at line 485 of file LHEF.h.

Field Documentation

◆ attributes

XMLTag::AttributeMap attributes
inherited

The attributes of this tag;

Definition at line 475 of file LHEF.h.

◆ contents

std::string contents
mutableinherited

The contents of this tag.

Definition at line 480 of file LHEF.h.

◆ max

double max

The maximum value of the variable

Definition at line 926 of file LHEF.h.

◆ min

double min

The minimum value of the variable

Definition at line 922 of file LHEF.h.

◆ np1

std::string np1

Symbolic name for p1.

Definition at line 907 of file LHEF.h.

◆ np2

std::string np2

Symbolic name for p1.

Definition at line 917 of file LHEF.h.

◆ p1

std::set<long> p1

The first types particle types for which this cut applies.

Definition at line 902 of file LHEF.h.

◆ p2

std::set<long> p2

The second type of particles for which this cut applies.

Definition at line 912 of file LHEF.h.

◆ type

std::string type

The variable in which to cut.

Definition at line 897 of file LHEF.h.


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