cepgen is hosted by Hepforge, IPPP Durham
CepGen 1.2.3
A generic central exclusive processes event generator
Loading...
Searching...
No Matches

Matrix element for the \(\gamma\gamma\to\ell^{+}\ell^{-}\) process as defined in [28]. More...

+ Inheritance diagram for LPAIR:
+ Collaboration diagram for LPAIR:

Public Types

enum class  Mapping { linear = 0 , exponential , square , power_law }
 Type of mapping to apply on the variable. More...
 

Public Member Functions

 LPAIR (const ParametersList &params)
 
 LPAIR (const LPAIR &oth)
 
proc::ProcessPtr clone () const override
 Copy all process attributes into a new object.
 
void addEventContent () override
 Set the incoming and outgoing state to be expected in the process.
 
double computeWeight () override
 Compute the phase space point weight.
 
void prepareKinematics () override
 Compute the incoming state kinematics.
 
void fillKinematics () override
 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.
 
ProcessdefineVariable (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 &params) override
 Set module parameters.
 
void setDescribedParameters (const ParametersList &params_orig)
 Set (documented) module parameters.
 

Static Public Member Functions

static ParametersDescription description ()
 

Protected Member Functions

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 >
steer (const std::string &key) const
 Retrieve a parameters as previously steered.
 
template<typename T , typename 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.
 

Detailed Description

Definition at line 35 of file LPAIR.cpp.

Member Enumeration Documentation

◆ Mapping

enum class Mapping
stronginherited
Enumerator
linear 

a linear \({\rm d}x\) mapping

exponential 

an exponential \(\frac{\dot{x}}{x} = \dot{\log x}\) mapping

square 

a square \({\rm d}x^2=2x\cdot\dot{x}\) mapping

power_law 

a power-law mapping inherited from LPAIR

Definition at line 126 of file Process.h.

Constructor & Destructor Documentation

◆ LPAIR() [1/2]

LPAIR ( const ParametersList params)
explicit

Definition at line 37 of file LPAIR.cpp.

◆ LPAIR() [2/2]

LPAIR ( const LPAIR oth)

Definition at line 42 of file LPAIR.cpp.

Member Function Documentation

◆ addEventContent()

void addEventContent ( )
overridevirtual

Implements Process.

Definition at line 47 of file LPAIR.cpp.

◆ alphaEM()

double alphaEM ( double  q) const
protectedinherited

Definition at line 350 of file Process.cpp.

◆ alphaS()

double alphaS ( double  q) const
protectedinherited

Definition at line 357 of file Process.cpp.

◆ clear()

void clear ( )
inherited

Definition at line 129 of file Process.cpp.

◆ clearEvent()

void clearEvent ( )
inherited

Definition at line 264 of file Process.cpp.

◆ clone()

proc::ProcessPtr clone ( ) const
overridevirtual

Reimplemented from Process.

Definition at line 45 of file LPAIR.cpp.

◆ computeWeight()

double computeWeight ( )
overridevirtual

Implements Process.

Definition at line 574 of file LPAIR.cpp.

◆ defineVariable()

Process & defineVariable ( double &  out,
const Mapping type,
const Limits lim,
const std::string &  name,
const std::string &  description = "" 
)
inherited
Note
To be run once per generation (before any point computation)
Parameters
[out]outReference to the variable to be mapped
[in]typeType of mapping to apply
[in]limIntegration limits
[in]nameComputer-readable variable name
[in]descriptionHuman-readable description of the variable

Definition at line 149 of file Process.cpp.

◆ description()

static ParametersDescription description ( )
static

Definition at line 176 of file LPAIR.cpp.

◆ dumpPoint()

void dumpPoint ( std::ostream *  os = nullptr) const
inherited

Definition at line 364 of file Process.cpp.

◆ dumpVariables()

void dumpVariables ( std::ostream *  os = nullptr) const
inherited

Definition at line 137 of file Process.cpp.

◆ event() [1/2]

Event & event ( )
inherited

Definition at line 275 of file Process.cpp.

◆ event() [2/2]

const Event & event ( ) const
inherited

Definition at line 269 of file Process.cpp.

◆ eventPtr()

Event * eventPtr ( )
inherited

Definition at line 281 of file Process.cpp.

◆ fillKinematics()

void fillKinematics ( )
overridevirtual

Implements Process.

Definition at line 131 of file LPAIR.cpp.

◆ generateVariables()

double generateVariables ( ) const
protectedinherited
Returns
Phase space point-dependent component of the Jacobian weight of the point in the phase space for integration
Note
To be run at each point computation (therefore, to be optimised!)

Definition at line 195 of file Process.cpp.

◆ hasEvent()

bool hasEvent ( ) const
inherited

Definition at line 62 of file Process.h.

◆ initialise()

void initialise ( )
inherited

Definition at line 287 of file Process.cpp.

◆ inverseSqrtS()

double inverseSqrtS ( ) const
inherited

Definition at line 109 of file Process.h.

◆ kinematics() [1/2]

Kinematics & kinematics ( )
inherited

Definition at line 51 of file Process.h.

◆ kinematics() [2/2]

const Kinematics & kinematics ( ) const
inherited

Definition at line 50 of file Process.h.

◆ lastCoordinates()

const std::vector< double > & lastCoordinates ( ) const
protectedinherited

Definition at line 163 of file Process.h.

◆ mA()

double mA ( ) const
inherited

Definition at line 69 of file Process.h.

◆ mA2()

double mA2 ( ) const
inherited

Definition at line 68 of file Process.h.

◆ mB()

double mB ( ) const
inherited

Definition at line 72 of file Process.h.

◆ mB2()

double mB2 ( ) const
inherited

Definition at line 71 of file Process.h.

◆ mX()

double mX ( ) const
inherited

Definition at line 75 of file Process.h.

◆ mX2() [1/2]

double & mX2 ( )
inherited

Definition at line 97 of file Process.h.

◆ mX2() [2/2]

double mX2 ( ) const
inherited

Definition at line 74 of file Process.h.

◆ mY()

double mY ( ) const
inherited

Definition at line 78 of file Process.h.

◆ mY2() [1/2]

double & mY2 ( )
inherited

Definition at line 98 of file Process.h.

◆ mY2() [2/2]

double mY2 ( ) const
inherited

Definition at line 77 of file Process.h.

◆ name()

const std::string & name ( ) const
inherited

Definition at line 42 of file NamedModule.h.

◆ ndim()

size_t ndim ( ) const
inherited

Definition at line 60 of file Process.h.

◆ operator!=()

template<typename T >
bool operator!= ( const SteeredObject< T > &  oth) const
inherited

Definition at line 51 of file SteeredObject.h.

◆ operator==()

template<typename T >
bool operator== ( const SteeredObject< T > &  oth) const
inherited

Definition at line 49 of file SteeredObject.h.

◆ pA() [1/2]

Momentum & pA ( )
inherited

Definition at line 89 of file Process.cpp.

◆ pA() [2/2]

const Momentum & pA ( ) const
inherited

Definition at line 91 of file Process.cpp.

◆ parameters()

template<typename T >
const ParametersList & parameters ( ) const
overridevirtualinherited

Reimplemented from Steerable.

Definition at line 54 of file SteeredObject.h.

◆ pB() [1/2]

Momentum & pB ( )
inherited

Definition at line 93 of file Process.cpp.

◆ pB() [2/2]

const Momentum & pB ( ) const
inherited

Definition at line 95 of file Process.cpp.

◆ pc() [1/2]

Momentum & pc ( size_t  i)
inherited

Definition at line 113 of file Process.cpp.

◆ pc() [2/2]

const Momentum & pc ( size_t  i) const
inherited

Definition at line 120 of file Process.cpp.

◆ prepareKinematics()

void prepareKinematics ( )
overridevirtual

Reimplemented from Process.

Definition at line 59 of file LPAIR.cpp.

◆ pX() [1/2]

Momentum & pX ( )
inherited

Definition at line 97 of file Process.cpp.

◆ pX() [2/2]

const Momentum & pX ( ) const
inherited

Definition at line 99 of file Process.cpp.

◆ pY() [1/2]

Momentum & pY ( )
inherited

Definition at line 101 of file Process.cpp.

◆ pY() [2/2]

const Momentum & pY ( ) const
inherited

Definition at line 103 of file Process.cpp.

◆ q1() [1/2]

Momentum & q1 ( )
inherited

Definition at line 105 of file Process.cpp.

◆ q1() [2/2]

const Momentum & q1 ( ) const
inherited

Definition at line 107 of file Process.cpp.

◆ q2() [1/2]

Momentum & q2 ( )
inherited

Definition at line 109 of file Process.cpp.

◆ q2() [2/2]

const Momentum & q2 ( ) const
inherited

Definition at line 111 of file Process.cpp.

◆ randomGenerator()

utils::RandomGenerator & randomGenerator ( ) const
inherited

Definition at line 344 of file Process.cpp.

◆ s()

double s ( ) const
inherited

Definition at line 107 of file Process.h.

◆ setDescribedParameters()

template<typename T >
void setDescribedParameters ( const ParametersList params_orig)
inherited

Definition at line 73 of file SteeredObject.h.

◆ setEventContent()

void setEventContent ( const std::unordered_map< Particle::Role, spdgids_t > &  part_ids)
protectedinherited

Definition at line 374 of file Process.cpp.

◆ setKinematics()

void setKinematics ( )
inherited

Definition at line 397 of file Process.cpp.

◆ setParameters()

template<typename T >
virtual void setParameters ( const ParametersList params)
overridevirtualinherited

Reimplemented from Steerable.

Reimplemented in Initial, Remnants, CutsList, IncomingBeams, and Kinematics.

Definition at line 62 of file SteeredObject.h.

◆ shat()

double shat ( ) const
protectedinherited

Definition at line 127 of file Process.cpp.

◆ sqrtS()

double sqrtS ( ) const
inherited

Definition at line 108 of file Process.h.

◆ steer()

template<typename T >
T steer ( const std::string &  key) const
protectedinherited

Definition at line 39 of file Steerable.h.

◆ steerAs()

template<typename T , typename U >
U steerAs ( const std::string &  key) const
protectedinherited

Definition at line 44 of file Steerable.h.

◆ steerName()

std::string steerName ( ) const
protectedinherited

Definition at line 48 of file Steerable.h.

◆ steerPath()

std::string steerPath ( const std::string &  key) const
protectedinherited

Definition at line 30 of file Steerable.cpp.

◆ t1() [1/2]

double & t1 ( )
inherited

Definition at line 99 of file Process.h.

◆ t1() [2/2]

double t1 ( ) const
inherited

Definition at line 81 of file Process.h.

◆ t2() [1/2]

double & t2 ( )
inherited

Definition at line 101 of file Process.h.

◆ t2() [2/2]

double t2 ( ) const
inherited

Definition at line 84 of file Process.h.

◆ variableValue()

double variableValue ( size_t  i,
double  x 
) const
inherited

Definition at line 190 of file Process.cpp.

◆ wCM()

double wCM ( ) const
inherited

Definition at line 90 of file Process.h.

◆ weight()

double weight ( const std::vector< double > &  x)
inherited

Definition at line 236 of file Process.cpp.

◆ x1() [1/2]

double & x1 ( )
inherited

Definition at line 100 of file Process.h.

◆ x1() [2/2]

double x1 ( ) const
inherited

Definition at line 80 of file Process.h.

◆ x2() [1/2]

double & x2 ( )
inherited

Definition at line 102 of file Process.h.

◆ x2() [2/2]

double x2 ( ) const
inherited

Definition at line 83 of file Process.h.

Member Data Documentation

◆ mp2_

double mp2_
protectedinherited

Definition at line 122 of file Process.h.

◆ mp_

double mp_
protectedinherited

Definition at line 121 of file Process.h.

◆ name_

const std::string name_
protectedinherited

Definition at line 45 of file NamedModule.h.

◆ params_

ParametersList params_
mutableprotectedinherited

Definition at line 50 of file Steerable.h.

◆ rnd_gen_

std::unique_ptr<utils::RandomGenerator> rnd_gen_
protectedinherited

Definition at line 161 of file Process.h.