CepGen 1.2.5
Central exclusive processes event generator
|
Compute the matrix element for a generic factorised process defined in a Fortran weighting function. More...
#include <CepGen/Process/FortranFactorisedProcess.h>
Public Types | |
enum class | Mapping { linear = 0 , exponential , square , power_law } |
Type of mapping to apply on the variable. More... | |
Public Member Functions | |
FortranFactorisedProcess (const ParametersList &, const std::function< double(void)> &func) | |
Construct a Fortran-CepGen interface object using a double precision argument-less F77 function. | |
ProcessPtr | clone () const override |
Copy all process attributes into a new object. | |
double | computeWeight () override |
Compute the phase space point weight. | |
void | fillKinematics () override final |
Fill the Event object with the particles' kinematics. | |
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. | |
Momentum & | pA () |
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. | |
Momentum & | pB () |
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. | |
Momentum & | pX () |
Positive-z outgoing beam particle's 4-momentum. | |
double | mX2 () const |
Positive-z outgoing beam particle's squared mass. | |
double & | mX2 () |
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. | |
Momentum & | pY () |
Negative-z outgoing beam particle's 4-momentum. | |
double | mY2 () const |
Negative-z outgoing beam particle's squared mass. | |
double & | mY2 () |
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 & | x1 () |
Positive-z incoming parton's fractional momentum. | |
double | t1 () const |
Positive-z incoming parton's squared mass. | |
double & | t1 () |
Positive-z incoming parton's squared mass. | |
const Momentum & | q1 () const |
Positive-z incoming parton's 4-momentum. | |
Momentum & | q1 () |
Positive-z incoming parton's 4-momentum. | |
double | x2 () const |
Negative-z incoming parton's fractional momentum. | |
double & | x2 () |
Negative-z incoming parton's fractional momentum. | |
double | t2 () const |
Negative-z incoming parton's squared mass. | |
double & | t2 () |
Negative-z incoming parton's squared mass. | |
const Momentum & | q2 () const |
Negative-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 & | 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 () |
Static Public Attributes | |
static ParametersList | kProcParameters |
List of parameters to steer the process. | |
Protected Member Functions | |
void | addEventContent () override |
Set the incoming and outgoing state to be expected in the process. | |
void | prepareKinematics () override final |
Compute the incoming state kinematics. | |
double | that () const |
\(\hat t=\frac{1}{2}\left[(p_1-p_3)^2+(p_2-p_4)^2\right]\) | |
double | uhat () const |
\(\hat u=\frac{1}{2}\left[(p_1-p_4)^2+(p_2-p_3)^2\right]\) | |
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 | |
const std::unique_ptr< PhaseSpaceGenerator > | psgen_ |
Kinematic variables generator for the phase space coverage. | |
const bool | symmetrise_ |
const bool | store_alphas_ |
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. | |
Definition at line 27 of file FortranFactorisedProcess.h.
|
stronginherited |
|
explicit |
[in] | func | a double precision argument-less Fortran function returning the event weight |
Definition at line 72 of file FortranFactorisedProcess.cpp.
|
overrideprotectedvirtualinherited |
Implements Process.
Reimplemented in MadGraphProcessBuilder.
Definition at line 47 of file FactorisedProcess.cpp.
|
protectedinherited |
Definition at line 346 of file Process.cpp.
|
protectedinherited |
Definition at line 353 of file Process.cpp.
|
inherited |
Definition at line 129 of file Process.cpp.
|
inherited |
Definition at line 262 of file Process.cpp.
|
overridevirtual |
Reimplemented from Process.
Definition at line 32 of file FortranFactorisedProcess.h.
|
overridevirtualinherited |
Implements Process.
Definition at line 85 of file FactorisedProcess.cpp.
|
inherited |
[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.
|
staticinherited |
Definition at line 128 of file FactorisedProcess.cpp.
|
inherited |
Definition at line 360 of file Process.cpp.
|
inherited |
Definition at line 137 of file Process.cpp.
|
inherited |
Definition at line 273 of file Process.cpp.
|
inherited |
Definition at line 267 of file Process.cpp.
|
inherited |
Definition at line 279 of file Process.cpp.
|
finaloverridevirtualinherited |
Implements Process.
Definition at line 93 of file FactorisedProcess.cpp.
|
protectedinherited |
Definition at line 193 of file Process.cpp.
|
inherited |
Definition at line 285 of file Process.cpp.
|
inherited |
|
inherited |
|
protectedinherited |
|
inherited |
Definition at line 42 of file NamedModule.h.
|
inherited |
Definition at line 51 of file SteeredObject.h.
|
inherited |
Definition at line 49 of file SteeredObject.h.
|
inherited |
Definition at line 89 of file Process.cpp.
|
inherited |
Definition at line 91 of file Process.cpp.
|
overridevirtualinherited |
Reimplemented from Steerable.
Definition at line 54 of file SteeredObject.h.
|
inherited |
Definition at line 93 of file Process.cpp.
|
inherited |
Definition at line 95 of file Process.cpp.
|
inherited |
Definition at line 113 of file Process.cpp.
|
inherited |
Definition at line 120 of file Process.cpp.
|
finaloverrideprotectedvirtualinherited |
Reimplemented from Process.
Definition at line 57 of file FactorisedProcess.cpp.
|
inherited |
Definition at line 97 of file Process.cpp.
|
inherited |
Definition at line 99 of file Process.cpp.
|
inherited |
Definition at line 101 of file Process.cpp.
|
inherited |
Definition at line 103 of file Process.cpp.
|
inherited |
Definition at line 105 of file Process.cpp.
|
inherited |
Definition at line 107 of file Process.cpp.
|
inherited |
Definition at line 109 of file Process.cpp.
|
inherited |
Definition at line 111 of file Process.cpp.
|
inherited |
Definition at line 340 of file Process.cpp.
|
inherited |
Definition at line 73 of file SteeredObject.h.
|
protectedinherited |
Definition at line 370 of file Process.cpp.
|
inherited |
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.
|
protectedinherited |
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.
|
protectedinherited |
Definition at line 124 of file FactorisedProcess.cpp.
|
protectedinherited |
Definition at line 126 of file FactorisedProcess.cpp.
|
inherited |
Definition at line 188 of file Process.cpp.
|
inherited |
Definition at line 234 of file Process.cpp.
|
static |
Definition at line 34 of file FortranFactorisedProcess.h.
|
protectedinherited |
Definition at line 45 of file NamedModule.h.
|
mutableprotectedinherited |
Definition at line 50 of file Steerable.h.
|
protectedinherited |
Definition at line 58 of file FactorisedProcess.h.
|
protectedinherited |
|
protectedinherited |
Definition at line 60 of file FactorisedProcess.h.
|
protectedinherited |
Definition at line 59 of file FactorisedProcess.h.