HepMC3 event record library: Cut Struct Reference

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

`#include <LHEF.h>`

Inheritance diagram for Cut:
[legend]
Collaboration diagram for Cut:
[legend]

## 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

typedef XMLTag::AttributeMap AttributeMap
| inherited

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

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

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

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

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:

- LHEF.h