HEJ 2 2.0
High energy resummation for hadron colliders
|
Namespaces | |
namespace | detail |
namespace | event_type |
Namespace for event types. | |
namespace | pid |
particle ids according to PDG | |
Classes | |
struct | Analysis |
Analysis base class. More... | |
struct | Beam |
Beam parameters. More... | |
class | CombinedEventWriter |
Write event output to zero or more output files. More... | |
struct | Config |
struct | DefaultRNG |
Helper struct with default implementations. More... | |
struct | EmptyAnalysis |
class | Event |
struct | EventParameters |
Event parameters. More... | |
class | EventReweighter |
Main class for reweighting events in HEJ. More... | |
struct | EventReweighterConfig |
Configuration options for the EventReweighter class. More... | |
struct | EventWriter |
Pure abstract base class for event writers. More... | |
class | FixedScale |
Functor that returns a fixed scale regardless of the input event. More... | |
class | HepMCInterface |
This class converts the Events into HepMC::GenEvents. More... | |
class | HepMCWriter |
This is an event writer specifically for HepMC output. More... | |
struct | HiggsCouplingSettings |
Settings for Higgs boson coupling to gluons. More... | |
struct | invalid_type |
Exception indicating wrong option type. More... | |
class | istream |
Small wrapper around boost's filtering_istream. More... | |
struct | JetParameters |
Jet parameters. More... | |
class | JetSplitter |
Class to split jets into their constituents. More... | |
class | LesHouchesWriter |
Class for writing events to a file in the Les Houches Event File format. More... | |
class | MatrixElement |
Class to calculate the squares of matrix elements. More... | |
struct | MatrixElementConfig |
Configuration options for the MatrixElement class. More... | |
struct | missing_option |
Exception indicating missing option setting. More... | |
class | Mixmax |
MIXMAX random number generator. More... | |
struct | not_implemented |
Exception indicating functionality that has not been implemented yet. More... | |
struct | OutputFile |
Output file specification. More... | |
struct | ParameterDescription |
Description of event parameters. More... | |
struct | Particle |
Class representing a particle. More... | |
class | |
Class for interaction with a PDF set. More... | |
class | PhaseSpacePoint |
A point in resummation phase space. More... | |
struct | PhaseSpacePointConfig |
Configuration options for the PhaseSpacePoint class. More... | |
class | ProgressBar |
Class representing (and printing) a progress bar. More... | |
struct | pz_less |
Functor to compare momenta in z direction. More... | |
class | Ranlux64 |
Ranlux64 random number generator. More... | |
struct | rapidity_less |
Functor to compare rapidities. More... | |
class | RivetAnalysis |
Class representing a Rivet analysis. More... | |
struct | RNG |
Interface for random number generator. More... | |
struct | RNGConfig |
Settings for random number generator. More... | |
struct | ScaleConfig |
Settings for scale variation. More... | |
class | ScaleFunction |
Class to calculate the scale associated with an event. More... | |
class | ScaleGenerator |
Generate combinations of renormalisation and factorisation scales. More... | |
struct | UnclusteredEvent |
An event before jet clustering. More... | |
struct | unknown_option |
Exception indicating unknown option. More... | |
struct | Weights |
Collection of weights assigned to a single event. More... | |
Typedefs | |
using | EventTreatMap = std::map< event_type::EventType, EventTreatment > |
Container to store the treatments for various event types. More... | |
template<typename T > | |
using | optional = boost::optional< T > |
using | ParticleID = pid::ParticleID |
Enumerations | |
enum class | EventTreatment { reweight , keep , discard } |
enum | FileFormat { Les_Houches , HepMC } |
Supported event file formats. More... | |
Functions | |
PhaseSpacePointConfig | to_PhaseSpacePointConfig (Config const &conf) |
MatrixElementConfig | to_MatrixElementConfig (Config const &conf) |
EventReweighterConfig | to_EventReweighterConfig (Config const &conf) |
double | shat (Event const &ev) |
Square of the partonic centre-of-mass energy . More... | |
LHEF::HEPEUP | to_HEPEUP (Event const &event, LHEF::HEPRUP *) |
Convert an event to a LHEF::HEPEUP. More... | |
std::unique_ptr< Analysis > | get_analysis (YAML::Node const ¶meters) |
Load an analysis. More... | |
std::tuple< fastjet::PseudoJet, fastjet::PseudoJet > | incoming_momenta (std::vector< Particle > const &outgoing) |
Compute the incoming momentum from momentum conservation. More... | |
std::unique_ptr< HEJ::RNG > | make_RNG (std::string const &name, optional< std::string > const &seed) |
Factory function for random number generators. More... | |
std::unique_ptr< EventWriter > | make_format_writer (FileFormat format, std::string const &outfile, LHEF::HEPRUP const &heprup) |
Factory function for event writers. More... | |
std::string | to_string (FileFormat f) |
Convert a file format to a string. More... | |
std::vector< fastjet::PseudoJet > | to_PseudoJet (std::vector< Particle > const &v) |
Convert a vector of Particles to a vector of particle momenta. More... | |
bool | is_parton (Particle const &p) |
Check if a particle is a parton, i.e. quark, antiquark, or gluon. More... | |
bool | is_AWZH_boson (Particle const &particle) |
Check if a particle is a photon, W, Z, or Higgs boson. More... | |
std::vector< Particle > | filter_partons (std::vector< Particle > const &v) |
Extract all partons from a vector of particles. More... | |
ParticleID | to_ParticleID (std::string const &name) |
Convert a particle name to the corresponding PDG particle ID. More... | |
constexpr bool | is_parton (ParticleID p) |
Function to determine if particle is a parton. More... | |
constexpr bool | is_AWZH_boson (ParticleID id) |
function to determine if the particle is a photon, W, Z, or Higgs boson More... | |
std::vector< fastjet::PseudoJet > | resummation_jet_momenta (std::vector< fastjet::PseudoJet > const &p_born, fastjet::PseudoJet const &qperp) |
Calculate the resummation jet momenta. More... | |
double | resummation_jet_weight (std::vector< fastjet::PseudoJet > const &p_born, fastjet::PseudoJet const &qperp) |
Calculate additional weight from changing the jet momenta. More... | |
ScaleFunction | operator* (double factor, ScaleFunction base_scale) |
Multiply a scale choice by a constant factor. More... | |
ScaleFunction | operator/ (ScaleFunction base_scale, double denom) |
Divide a scale choice by a constant factor. More... | |
double | H_T (Event const &) |
Calculate for the input event. More... | |
double | max_jet_pt (Event const &) |
The maximum of all (scalar) jet transverse momentum. More... | |
double | jet_invariant_mass (Event const &) |
The invariant mass of the sum of all jet momenta. More... | |
double | m_j1j2 (Event const &) |
Invariant mass of the two hardest jets. More... | |
template<class T , class... Args> | |
std::unique_ptr< T > | make_unique (Args &&... a) |
Create a std::unique_ptr to a T object. More... | |
template<typename T , typename... U> | |
constexpr std::array< T, 1+sizeof...(U)> | make_array (T t, U &&... rest) |
Create an array containing the passed arguments. More... | |
std::string | join (std::string const &) |
std::string | join (std::string const &, std::string const &str) |
template<typename... Strings> | |
std::string | join (std::string const &delim, std::string const &first, std::string const &second, Strings &&... rest) |
Join strings with a delimiter. More... | |
template<typename T > | |
std::string | type_string (T &&) |
Return the name of the argument's type. More... | |
template<typename... T> | |
constexpr void | ignore (T &&...) |
Eliminate compiler warnings for unused variables. More... | |
bool | nearby_ep (double a, double b, double ep) |
Check whether two doubles are closer than ep > 0 to each other. More... | |
bool | nearby_ep (fastjet::PseudoJet const &pa, fastjet::PseudoJet const &pb, double ep) |
Check whether all components of two PseudoJets are closer than ep to each other. More... | |
bool | nearby (fastjet::PseudoJet const &pa, fastjet::PseudoJet const &pb, double const norm=1.) |
Weights | operator* (Weights a, Weights const &b) |
Weights | operator* (Weights a, double b) |
Weights | operator* (double b, Weights a) |
Weights | operator/ (Weights a, Weights const &b) |
Weights | operator/ (Weights a, double b) |
Config | load_config (std::string const &config_file) |
Load configuration from file. More... | |
template<typename T , typename... YamlNames> | |
void | set_from_yaml (T &setting, YAML::Node const &yaml, YamlNames const &... names) |
Set option using the corresponding YAML entry. More... | |
template<typename T , typename... YamlNames> | |
void | set_from_yaml_if_defined (T &setting, YAML::Node const &yaml, YamlNames const &... names) |
Set option using the corresponding YAML entry, if present. More... | |
JetParameters | get_jet_parameters (YAML::Node const &node, std::string const &entry) |
Extract jet parameters from YAML configuration. More... | |
HiggsCouplingSettings | get_Higgs_coupling (YAML::Node const &node, std::string const &entry) |
Extract Higgs coupling settings from YAML configuration. More... | |
ScaleConfig | to_ScaleConfig (YAML::Node const &yaml) |
Extract scale setting parameters from YAML configuration. More... | |
RNGConfig | to_RNGConfig (YAML::Node const &node, std::string const &entry) |
Extract random number generator settings from YAML configuration. More... | |
void | assert_all_options_known (YAML::Node const &conf, YAML::Node const &supported) |
Check whether all options in configuration are supported. More... | |
Variables | |
QCD parameters | |
constexpr double | N_C = 3. |
number of Colours More... | |
constexpr double | C_A = N_C |
More... | |
constexpr double | C_F = (N_C*N_C - 1.)/(2.*N_C) |
More... | |
constexpr double | t_f = 0.5 |
More... | |
constexpr double | n_f = 5. |
number light flavours More... | |
constexpr double | beta0 = 11./3.*C_A - 4./3.*t_f*n_f |
More... | |
QFT parameters | |
constexpr double | vev = 246.2196508 |
Higgs vacuum expectation value in GeV. More... | |
Generation Parameters | |
constexpr double | CLAMBDA = 0.2 |
Scale for virtual correction, cf. eq. (20) in [1]. More... | |
constexpr double | CMINPT = CLAMBDA |
minimal of all partons More... | |
Main HEJ 2 Namespace.
using HEJ::EventTreatMap = typedef std::map<event_type::EventType, EventTreatment> |
Container to store the treatments for various event types.
using HEJ::optional = typedef boost::optional<T> |
using HEJ::ParticleID = typedef pid::ParticleID |
|
strong |
enum HEJ::FileFormat |
Supported event file formats.
Enumerator | |
---|---|
Les_Houches | Les Houches Output |
HepMC | HepMC Output |
void HEJ::assert_all_options_known | ( | YAML::Node const & | conf, |
YAML::Node const & | supported | ||
) |
Check whether all options in configuration are supported.
conf | Configuration to be checked |
supported | Tree of supported options |
If conf contains an entry that does not appear in supported an unknown_option exception is thrown. Sub-entries of "analysis" (if present) are not checked.
Extract all partons from a vector of particles.
std::unique_ptr< Analysis > HEJ::get_analysis | ( | YAML::Node const & | parameters | ) |
Load an analysis.
parameters | Analysis parameters |
If parameters["plugin"] exists, an analysis (deriving from the Analysis class) will be loaded from the library parameters["plugin"]. Otherwise, if parameters["rivet"] exists, the corresponding RivetAnalysis will be loaded. If none of these parameters are specified, a pointer to the default EmptyAnalysis is returned.
HiggsCouplingSettings HEJ::get_Higgs_coupling | ( | YAML::Node const & | node, |
std::string const & | entry | ||
) |
Extract Higgs coupling settings from YAML configuration.
JetParameters HEJ::get_jet_parameters | ( | YAML::Node const & | node, |
std::string const & | entry | ||
) |
Extract jet parameters from YAML configuration.
double HEJ::H_T | ( | Event const & | ) |
Calculate for the input event.
is the sum of the (scalar) transverse momenta of all final-state particles
|
constexpr |
Eliminate compiler warnings for unused variables.
std::tuple< fastjet::PseudoJet, fastjet::PseudoJet > HEJ::incoming_momenta | ( | std::vector< Particle > const & | outgoing | ) |
Compute the incoming momentum from momentum conservation.
outgoing | Outgoing particles |
|
inline |
Check if a particle is a photon, W, Z, or Higgs boson.
|
inlineconstexpr |
function to determine if the particle is a photon, W, Z, or Higgs boson
id | PDG ID of particle |
|
inline |
Check if a particle is a parton, i.e. quark, antiquark, or gluon.
|
inlineconstexpr |
Function to determine if particle is a parton.
p | PDG ID of particle |
double HEJ::jet_invariant_mass | ( | Event const & | ) |
The invariant mass of the sum of all jet momenta.
|
inline |
|
inline |
std::string HEJ::join | ( | std::string const & | delim, |
std::string const & | first, | ||
std::string const & | second, | ||
Strings &&... | rest | ||
) |
Join strings with a delimiter.
delim | Delimiter to be put between consecutive strings |
first | First string |
second | Second string |
rest | Remaining strings |
Config HEJ::load_config | ( | std::string const & | config_file | ) |
double HEJ::m_j1j2 | ( | Event const & | ) |
Invariant mass of the two hardest jets.
|
constexpr |
Create an array containing the passed arguments.
std::unique_ptr< EventWriter > HEJ::make_format_writer | ( | FileFormat | format, |
std::string const & | outfile, | ||
LHEF::HEPRUP const & | heprup | ||
) |
Factory function for event writers.
format | The format of the output file |
outfile | The name of the output file |
heprup | General process information |
std::unique_ptr< HEJ::RNG > HEJ::make_RNG | ( | std::string const & | name, |
optional< std::string > const & | seed | ||
) |
Factory function for random number generators.
name | Name of the random number generator |
seed | Optional seed |
At present, name should be one of "ranlux64" or "mixmax" (case insensitive). The interpretation of the seed depends on the random number generator. For ranlux64, it is the name of a seed file. For mixmax it should be a string convertible to a long integer.
std::unique_ptr< T > HEJ::make_unique | ( | Args &&... | a | ) |
Create a std::unique_ptr to a T object.
For non-array types this works like std::make_unique, which is not available under C++11
double HEJ::max_jet_pt | ( | Event const & | ) |
The maximum of all (scalar) jet transverse momentum.
|
inline |
|
inline |
Check whether two doubles are closer than ep > 0 to each other.
|
inline |
Check whether all components of two PseudoJets are closer than ep to each other.
ScaleFunction HEJ::operator* | ( | double | factor, |
ScaleFunction | base_scale | ||
) |
Multiply a scale choice by a constant factor.
For example, multiplying 0.5 and a scale function for H_T will result in a scale function for H_T/2.
ScaleFunction HEJ::operator/ | ( | ScaleFunction | base_scale, |
double | denom | ||
) |
Divide a scale choice by a constant factor.
For example, dividing a scale function for H_T by 2 will result in a scale function for H_T/2.
std::vector< fastjet::PseudoJet > HEJ::resummation_jet_momenta | ( | std::vector< fastjet::PseudoJet > const & | p_born, |
fastjet::PseudoJet const & | qperp | ||
) |
Calculate the resummation jet momenta.
p_born | born Jet Momenta |
qperp | Sum of non-jet Parton Transverse Momenta |
double HEJ::resummation_jet_weight | ( | std::vector< fastjet::PseudoJet > const & | p_born, |
fastjet::PseudoJet const & | qperp | ||
) |
Calculate additional weight from changing the jet momenta.
p_born | born Jet Momenta |
qperp | Sum of non-jet Parton Transverse Momenta |
Computes the Jacobian for changing the original delta functions expressed in terms of jet momenta to delta functions of the parton momenta in the resummation phase space
void HEJ::set_from_yaml | ( | T & | setting, |
YAML::Node const & | yaml, | ||
YamlNames const &... | names | ||
) |
Set option using the corresponding YAML entry.
setting | Option variable to be set |
yaml | Root of the YAML configuration |
names | Name of the entry |
If the entry does not exist or has the wrong type or format an exception is thrown.
For example
is equivalent to
with improved diagnostics on errors.
void HEJ::set_from_yaml_if_defined | ( | T & | setting, |
YAML::Node const & | yaml, | ||
YamlNames const &... | names | ||
) |
Set option using the corresponding YAML entry, if present.
setting | Option variable to be set |
yaml | Root of the YAML configuration |
names | Name of the entry |
This function works similar to set_from_yaml, but does not throw any exception if the requested YAML entry does not exist.
double HEJ::shat | ( | Event const & | ev | ) |
Square of the partonic centre-of-mass energy .
|
inline |
! Extract EventReweighterConfig from Config
LHEF::HEPEUP HEJ::to_HEPEUP | ( | Event const & | event, |
LHEF::HEPRUP * | |||
) |
Convert an event to a LHEF::HEPEUP.
|
inline |
! Extract MatrixElementConfig from Config
ParticleID HEJ::to_ParticleID | ( | std::string const & | name | ) |
Convert a particle name to the corresponding PDG particle ID.
|
inline |
! Extract PhaseSpacePointConfig from Config
|
inline |
Convert a vector of Particles to a vector of particle momenta.
RNGConfig HEJ::to_RNGConfig | ( | YAML::Node const & | node, |
std::string const & | entry | ||
) |
Extract random number generator settings from YAML configuration.
ScaleConfig HEJ::to_ScaleConfig | ( | YAML::Node const & | yaml | ) |
Extract scale setting parameters from YAML configuration.
|
inline |
Convert a file format to a string.
std::string HEJ::type_string | ( | T && | ) |
Return the name of the argument's type.
|
constexpr |
|
constexpr |
Scale for virtual correction, cf. eq. (20) in [1].
|
constexpr |
minimal of all partons
|
constexpr |
number of Colours
|
constexpr |
number light flavours
|
constexpr |
|
constexpr |
Higgs vacuum expectation value in GeV.