CepGen 1.2.5
Central exclusive processes event generator
|
Class template to define any process to compute using this MC integrator/events generator. More...
#include <CepGen/Process/Process.h>
Public Types | |
enum class | Mapping { linear = 0 , exponential , square , power_law } |
Type of mapping to apply on the variable. More... | |
Public Member Functions | |
Process (const ParametersList &) | |
Process (const Process &) | |
Copy constructor for a user process. | |
virtual | ~Process ()=default |
Process & | operator= (const Process &) |
Assignment operator. | |
virtual std::unique_ptr< Process > | clone () const |
Copy all process attributes into a new object. | |
virtual double | computeWeight ()=0 |
Compute the phase space point weight. | |
void | clear () |
Reset process prior to the phase space and variables definition. | |
void | clearEvent () |
Restore the event object to its initial state. | |
void | initialise () |
Initialise the process once the kinematics has been set. | |
const Kinematics & | kinematics () const |
Constant reference to the process kinematics. | |
Kinematics & | kinematics () |
Reference to the process kinematics. | |
void | setKinematics () |
double | weight (const std::vector< double > &) |
Compute the weight for a phase-space point. | |
void | dumpPoint (std::ostream *=nullptr) const |
Dump the coordinate of the phase-space point being evaluated. | |
void | dumpVariables (std::ostream *=nullptr) const |
List all variables handled by this generic process. | |
size_t | ndim () const |
Number of dimensions on which the integration is performed. | |
bool | hasEvent () const |
Does the process contain (and hold) an event? | |
const Event & | event () const |
Handled particles objects and their relationships. | |
Event & | event () |
Event object read/write accessor. | |
Event * | eventPtr () |
Event pointer read/write accessor. | |
const Momentum & | pA () const |
Positive-z incoming beam particle's 4-momentum. | |
double | mA2 () const |
Positive-z incoming beam particle's squared mass. | |
double | mA () const |
Positive-z incoming beam particle's mass. | |
const Momentum & | pB () const |
Negative-z incoming beam particle's 4-momentum. | |
double | mB2 () const |
Negative-z incoming beam particle's squared mass. | |
double | mB () const |
Negative-z incoming beam particle's mass. | |
const Momentum & | pX () const |
Positive-z outgoing beam particle's 4-momentum. | |
double | mX2 () const |
Positive-z outgoing beam particle's squared mass. | |
double | mX () const |
Positive-z outgoing beam particle's mass. | |
const Momentum & | pY () const |
Negative-z outgoing beam particle's 4-momentum. | |
double | mY2 () const |
Negative-z outgoing beam particle's squared mass. | |
double | mY () const |
Negative-z outgoing beam particle's mass. | |
double | x1 () const |
Positive-z incoming parton's fractional momentum. | |
double | t1 () const |
Positive-z incoming parton's squared mass. | |
const Momentum & | q1 () const |
Positive-z incoming parton's 4-momentum. | |
double | x2 () const |
Negative-z incoming parton's fractional momentum. | |
double | t2 () const |
Negative-z incoming parton's squared mass. | |
const Momentum & | q2 () const |
Negative-z incoming parton's 4-momentum. | |
Momentum & | q1 () |
Positive-z incoming parton's 4-momentum. | |
Momentum & | q2 () |
Negative-z incoming parton's 4-momentum. | |
double | wCM () const |
Two-parton centre of mass energy. | |
Momentum & | pA () |
Positive-z incoming beam particle's 4-momentum. | |
Momentum & | pB () |
Negative-z incoming beam particle's 4-momentum. | |
Momentum & | pX () |
Positive-z outgoing beam particle's 4-momentum. | |
Momentum & | pY () |
Negative-z outgoing beam particle's 4-momentum. | |
double & | mX2 () |
Positive-z outgoing beam particle's squared mass. | |
double & | mY2 () |
Negative-z outgoing beam particle's squared mass. | |
double & | t1 () |
Positive-z incoming parton's squared mass. | |
double & | x1 () |
Positive-z incoming parton's fractional momentum. | |
double & | t2 () |
Negative-z incoming parton's squared mass. | |
double & | x2 () |
Negative-z incoming parton's fractional momentum. | |
Momentum & | pc (size_t) |
Central particle's 4-momentum. | |
const Momentum & | pc (size_t) const |
Central particle's 4-momentum. | |
double | s () const |
Two-beam squared centre of mass energy. | |
double | sqrtS () const |
Two-beam centre of mass energy. | |
double | inverseSqrtS () const |
Inverse two-beam centre of mass energy. | |
utils::RandomGenerator & | randomGenerator () const |
Accessor for this process' random number generator. | |
Process & | defineVariable (double &out, const Mapping &type, const Limits &lim, const std::string &name, const std::string &description="") |
Register a variable to be handled and populated whenever a new phase space point weight is to be calculated. | |
double | variableValue (size_t i, double x) const |
Retrieve the physical value for one variable. | |
const std::string & | name () const |
Module unique indexing name. | |
bool | operator== (const SteeredObject &oth) const |
Equality operator. | |
bool | operator!= (const SteeredObject &oth) const |
Inequality operator. | |
const ParametersList & | parameters () const override |
Module user-defined parameters. | |
virtual void | setParameters (const ParametersList ¶ms) override |
Set module parameters. | |
void | setDescribedParameters (const ParametersList ¶ms_orig) |
Set (documented) module parameters. | |
Static Public Member Functions | |
static ParametersDescription | description () |
Protected Member Functions | |
virtual void | addEventContent ()=0 |
Set the incoming and outgoing state to be expected in the process. | |
virtual void | prepareKinematics () |
Compute the incoming state kinematics. | |
virtual void | fillKinematics ()=0 |
Fill the Event object with the particles' kinematics. | |
double | shat () const |
\(\hat s=(p_1+p_2)^2=(p_3+...)^2\) | |
double | generateVariables () const |
Generate and initialise all variables handled by this process. | |
void | setEventContent (const std::unordered_map< Particle::Role, spdgids_t > &) |
Set the incoming and outgoing states to be defined in this process (and prepare the Event object accordingly) | |
double | alphaEM (double q) const |
Compute the electromagnetic running coupling algorithm at a given scale. | |
double | alphaS (double q) const |
Compute the strong coupling algorithm at a given scale. | |
const std::vector< double > & | lastCoordinates () const |
Last coordinates fed. | |
template<typename T > | |
T | steer (const std::string &key) const |
Retrieve a parameters as previously steered. | |
template<typename T , typename U > | |
U | steerAs (const std::string &key) const |
Retrieve a recasted parameters as previously steered. | |
std::string | steerName () const |
Retrieve module name from parameters. | |
std::string | steerPath (const std::string &key) const |
Retrieve a path from common search paths. | |
Protected Attributes | |
double | mp_ |
Proton mass, in GeV/c \(^2\). | |
double | mp2_ |
Squared proton mass, in GeV \(^2\)/c \(^4\). | |
std::unique_ptr< utils::RandomGenerator > | rnd_gen_ |
Process-local random number generator engine. | |
const std::string | name_ |
Module unique indexing name. | |
ParametersList | params_ |
Module parameters. | |
Friends | |
class | utils::ProcessVariablesAnalyser |
std::ostream & | operator<< (std::ostream &, const Mapping &) |
Human-friendly printout of the mapping type. | |
|
strong |
|
explicit |
Definition at line 47 of file Process.cpp.
Definition at line 58 of file Process.cpp.
|
virtualdefault |
|
protectedpure virtual |
Implemented in FactorisedProcess, MadGraphProcessBuilder, and LPAIR.
|
protected |
Definition at line 346 of file Process.cpp.
|
protected |
Definition at line 353 of file Process.cpp.
void clear | ( | ) |
Definition at line 129 of file Process.cpp.
void clearEvent | ( | ) |
Definition at line 262 of file Process.cpp.
|
virtual |
Reimplemented in FortranFactorisedProcess, MadGraphProcessBuilder, LPAIR, PPtoFF, and PPtoWW.
Definition at line 85 of file Process.cpp.
|
pure virtual |
Implemented in FactorisedProcess, and LPAIR.
Process & defineVariable | ( | double & | out, |
const Mapping & | type, | ||
const Limits & | lim, | ||
const std::string & | name, | ||
const std::string & | description = "" |
||
) |
[out] | out | Reference to the variable to be mapped |
[in] | type | Type of mapping to apply |
[in] | lim | Integration limits |
[in] | name | Computer-readable variable name |
[in] | description | Human-readable description of the variable |
Definition at line 149 of file Process.cpp.
|
static |
Definition at line 403 of file Process.cpp.
void dumpPoint | ( | std::ostream * | os = nullptr | ) | const |
Definition at line 360 of file Process.cpp.
void dumpVariables | ( | std::ostream * | os = nullptr | ) | const |
Definition at line 137 of file Process.cpp.
Event & event | ( | ) |
Definition at line 273 of file Process.cpp.
const Event & event | ( | ) | const |
Definition at line 267 of file Process.cpp.
Event * eventPtr | ( | ) |
Definition at line 279 of file Process.cpp.
|
protectedpure virtual |
Implemented in LPAIR, and FactorisedProcess.
|
protected |
Definition at line 193 of file Process.cpp.
void initialise | ( | ) |
Definition at line 285 of file Process.cpp.
Kinematics & kinematics | ( | ) |
const Kinematics & kinematics | ( | ) | const |
|
protected |
|
inherited |
Definition at line 42 of file NamedModule.h.
|
inherited |
Definition at line 51 of file SteeredObject.h.
Definition at line 60 of file Process.cpp.
|
inherited |
Definition at line 49 of file SteeredObject.h.
Momentum & pA | ( | ) |
Definition at line 89 of file Process.cpp.
const Momentum & pA | ( | ) | const |
Definition at line 91 of file Process.cpp.
|
overridevirtualinherited |
Reimplemented from Steerable.
Definition at line 54 of file SteeredObject.h.
Momentum & pB | ( | ) |
Definition at line 93 of file Process.cpp.
const Momentum & pB | ( | ) | const |
Definition at line 95 of file Process.cpp.
Momentum & pc | ( | size_t | i | ) |
Definition at line 113 of file Process.cpp.
const Momentum & pc | ( | size_t | i | ) | const |
Definition at line 120 of file Process.cpp.
|
protectedvirtual |
Reimplemented in LPAIR, and FactorisedProcess.
Momentum & pX | ( | ) |
Definition at line 97 of file Process.cpp.
const Momentum & pX | ( | ) | const |
Definition at line 99 of file Process.cpp.
Momentum & pY | ( | ) |
Definition at line 101 of file Process.cpp.
const Momentum & pY | ( | ) | const |
Definition at line 103 of file Process.cpp.
Momentum & q1 | ( | ) |
Definition at line 105 of file Process.cpp.
const Momentum & q1 | ( | ) | const |
Definition at line 107 of file Process.cpp.
Momentum & q2 | ( | ) |
Definition at line 109 of file Process.cpp.
const Momentum & q2 | ( | ) | const |
Definition at line 111 of file Process.cpp.
utils::RandomGenerator & randomGenerator | ( | ) | const |
Definition at line 340 of file Process.cpp.
|
inherited |
Definition at line 73 of file SteeredObject.h.
|
protected |
Definition at line 370 of file Process.cpp.
void setKinematics | ( | ) |
Definition at line 393 of file Process.cpp.
|
overridevirtualinherited |
Reimplemented from Steerable.
Reimplemented in Initial, Remnants, CutsList, IncomingBeams, and Kinematics.
Definition at line 62 of file SteeredObject.h.
|
protected |
Definition at line 127 of file Process.cpp.
|
protectedinherited |
Definition at line 39 of file Steerable.h.
Definition at line 44 of file Steerable.h.
|
protectedinherited |
Definition at line 48 of file Steerable.h.
|
protectedinherited |
Definition at line 30 of file Steerable.cpp.
double variableValue | ( | size_t | i, |
double | x | ||
) | const |
Definition at line 188 of file Process.cpp.
double weight | ( | const std::vector< double > & | x | ) |
Definition at line 234 of file Process.cpp.
|
friend |
Definition at line 416 of file Process.cpp.
|
friend |
|
protectedinherited |
Definition at line 45 of file NamedModule.h.
|
mutableprotectedinherited |
Definition at line 50 of file Steerable.h.
|
protected |