ePDF  1.1.0
A QED evolution library
Public Member Functions | Private Attributes | List of all members
ePDF::AnalyticSolutions Class Reference

The "AnalyticSolutions" class that return the analytic solutions. More...

#include <analyticsolutions.h>

Public Member Functions

 AnalyticSolutions (YAML::Node const &config)
 The "AnalyticSolutions" constructor. More...
 
 AnalyticSolutions (YAML::Node const &config, int const &orderA, std::vector< bool > const orderR)
 The "AnalyticSolutions" constructor. More...
 
void SetPhotonMatching (std::vector< double > const &vec)
 Set the parameters for photon matching. More...
 
void SetNumInt (bool const &numint)
 Turn on or off the numeric integrals (which vanish in the z->1 limit) More...
 
void SetRecHat (bool const &rechatON)
 Turn on or off the terms vanishing in the z->1 limit. More...
 
double GetSolution (double const &x, double const &Q, int const &id, std::string const &term)
 Return only part of the solution. More...
 
double Evolve (double const &x, double const &Q, int const &id)
 Function that returns the PDFs in x space. More...
 
std::vector< double > Evolve (double const &x, double const &Q)
 Function that returns all PDFs in x space as a vector. More...
 
double TestPhoton (double const &x, double const &Q, std::string test)
 Function that returns the photon PDF in x space. More...
 

Private Member Functions

Utility functions
double RecSeries (std::vector< double > const &series) const
 Build the perturbative series. More...
 
void Warmup (double const &Q)
 Set up the Q dependent terms. More...
 
double AsySolution (double const &x, int const &id) const
 Returns the different solutions. N.B. only the x-dependent part, should be called after Warmup. More...
 
double AsyBarSolution (double const &x, int const &id) const
 
double RecSolution (double const &x, int const &id) const
 
double RecBarSolution (double const &x, int const &id) const
 
std::vector< double > RecBarNS (double const &z) const
 Returns a vector with the \bar{J}_k(z) for k = LL1, LL2, LL3, NLL0, NLL1, NLL2. More...
 
std::vector< double > RecBarS (double const &z) const
 
std::vector< double > RecBarG (double const &z) const
 
std::vector< double > RecHatNS (double const &z) const
 Returns a vector with the \hat{J}_k(z) for k = LL1, LL2, LL3, NLL0, NLL1, NLL2. More...
 
std::vector< double > RecHatS (double const &z) const
 
std::vector< double > RecHatG (double const &z) const
 
double AsyEleAF (double const &z) const
 
double AsyEleAR (double const &z) const
 
std::vector< double > AsyEleBarAF (double const &z) const
 
std::vector< double > AsyEleBarAR (double const &z) const
 
double AsyPhoton (double const &z) const
 This contains AR and AF. More...
 
double sumRiMi (double const &C1, double const &C2, double const &C3, double const &C4, double const &C5, double const &z, double const &k, double const &M1, double const &M2) const
 Auxiliary function used in AsyPhoton. More...
 
std::vector< double > AsyPhotonBar (double const &z) const
 This contains AR and AF. More...
 
double AsyPhotonSIMPLIFIED (double const &z) const
 

Private Attributes

AlphaQED _aQED
 Coupling object. More...
 
const double _Qi
 Initial scale. More...
 
const double _nl
 Active number of. More...
 
bool _numint
 If true, numerical contributions calculated. More...
 
bool _rechatON
 If true, hat terms retained. More...
 
Beta-function coefficients

Convert Beta0 e Beta1 (relative to alpha/(4 pi) expansion) in b0 e b1 (relative to alpha expansion)

const double _b0
 
const double _b1
 
const double _a0twopi
 
const double _L0
 
double _atwopi
 
double _t
 
double _eta0
 
std::vector< bool > _orderR
 
int _orderA
 
double _x0photon
 
double _x1photon
 
double _pphoton
 

Detailed Description

The "AnalyticSolutions" class that return the analytic solutions.

Constructor & Destructor Documentation

◆ AnalyticSolutions() [1/2]

ePDF::AnalyticSolutions::AnalyticSolutions ( YAML::Node const &  config)

The "AnalyticSolutions" constructor.

Parameters
configthe YAML:Node with the parameters
Note
It reads the perturbative order from config file

◆ AnalyticSolutions() [2/2]

ePDF::AnalyticSolutions::AnalyticSolutions ( YAML::Node const &  config,
int const &  orderA,
std::vector< bool > const  orderR 
)

The "AnalyticSolutions" constructor.

Parameters
configthe YAML:Node with the parameters
orderA0 == LL, 1 = NLL
orderRturn on or off contributions aL,(aL)^2,(aL)^3, a, a^2L, a^3L^2
Note
It overwrites the perturbative order found in config file

Member Function Documentation

◆ AsyBarSolution()

double ePDF::AnalyticSolutions::AsyBarSolution ( double const &  x,
int const &  id 
) const
private

◆ AsyEleAF()

double ePDF::AnalyticSolutions::AsyEleAF ( double const &  z) const
private

◆ AsyEleAR()

double ePDF::AnalyticSolutions::AsyEleAR ( double const &  z) const
private

◆ AsyEleBarAF()

std::vector<double> ePDF::AnalyticSolutions::AsyEleBarAF ( double const &  z) const
private

◆ AsyEleBarAR()

std::vector<double> ePDF::AnalyticSolutions::AsyEleBarAR ( double const &  z) const
private

◆ AsyPhoton()

double ePDF::AnalyticSolutions::AsyPhoton ( double const &  z) const
private

This contains AR and AF.

◆ AsyPhotonBar()

std::vector<double> ePDF::AnalyticSolutions::AsyPhotonBar ( double const &  z) const
private

This contains AR and AF.

◆ AsyPhotonSIMPLIFIED()

double ePDF::AnalyticSolutions::AsyPhotonSIMPLIFIED ( double const &  z) const
private
Note
TO BE TESTED

◆ AsySolution()

double ePDF::AnalyticSolutions::AsySolution ( double const &  x,
int const &  id 
) const
private

Returns the different solutions. N.B. only the x-dependent part, should be called after Warmup.

◆ Evolve() [1/2]

std::vector<double> ePDF::AnalyticSolutions::Evolve ( double const &  x,
double const &  Q 
)

Function that returns all PDFs in x space as a vector.

Parameters
xBjorken x
Qthe final scale

◆ Evolve() [2/2]

double ePDF::AnalyticSolutions::Evolve ( double const &  x,
double const &  Q,
int const &  id 
)

Function that returns the PDFs in x space.

Parameters
xBjorken x
Qthe final scale
idPDF "flavour" (0: singlet, 1: photon, 2: nonsinglet)

◆ GetSolution()

double ePDF::AnalyticSolutions::GetSolution ( double const &  x,
double const &  Q,
int const &  id,
std::string const &  term 
)

Return only part of the solution.

Parameters
xBjorken x
Qthe final scale
termA == asy, R == rec, ABAR = expansion of asy, RBAR = terms not vanishing in the z->1 limit

◆ RecBarG()

std::vector<double> ePDF::AnalyticSolutions::RecBarG ( double const &  z) const
private

◆ RecBarNS()

std::vector<double> ePDF::AnalyticSolutions::RecBarNS ( double const &  z) const
private

Returns a vector with the \bar{J}_k(z) for k = LL1, LL2, LL3, NLL0, NLL1, NLL2.

◆ RecBarS()

std::vector<double> ePDF::AnalyticSolutions::RecBarS ( double const &  z) const
private

◆ RecBarSolution()

double ePDF::AnalyticSolutions::RecBarSolution ( double const &  x,
int const &  id 
) const
private

◆ RecHatG()

std::vector<double> ePDF::AnalyticSolutions::RecHatG ( double const &  z) const
private

◆ RecHatNS()

std::vector<double> ePDF::AnalyticSolutions::RecHatNS ( double const &  z) const
private

Returns a vector with the \hat{J}_k(z) for k = LL1, LL2, LL3, NLL0, NLL1, NLL2.

◆ RecHatS()

std::vector<double> ePDF::AnalyticSolutions::RecHatS ( double const &  z) const
private

◆ RecSeries()

double ePDF::AnalyticSolutions::RecSeries ( std::vector< double > const &  series) const
private

Build the perturbative series.

◆ RecSolution()

double ePDF::AnalyticSolutions::RecSolution ( double const &  x,
int const &  id 
) const
private

◆ SetNumInt()

void ePDF::AnalyticSolutions::SetNumInt ( bool const &  numint)

Turn on or off the numeric integrals (which vanish in the z->1 limit)

◆ SetPhotonMatching()

void ePDF::AnalyticSolutions::SetPhotonMatching ( std::vector< double > const &  vec)

Set the parameters for photon matching.

◆ SetRecHat()

void ePDF::AnalyticSolutions::SetRecHat ( bool const &  rechatON)

Turn on or off the terms vanishing in the z->1 limit.

◆ sumRiMi()

double ePDF::AnalyticSolutions::sumRiMi ( double const &  C1,
double const &  C2,
double const &  C3,
double const &  C4,
double const &  C5,
double const &  z,
double const &  k,
double const &  M1,
double const &  M2 
) const
private

Auxiliary function used in AsyPhoton.

◆ TestPhoton()

double ePDF::AnalyticSolutions::TestPhoton ( double const &  x,
double const &  Q,
std::string  test 
)

Function that returns the photon PDF in x space.

Parameters
xBjorken x
Qthe final scale
testsolution type

◆ Warmup()

void ePDF::AnalyticSolutions::Warmup ( double const &  Q)
private

Set up the Q dependent terms.

Member Data Documentation

◆ _a0twopi

const double ePDF::AnalyticSolutions::_a0twopi
private

@nameSave internal values during calculations

◆ _aQED

AlphaQED ePDF::AnalyticSolutions::_aQED
private

Coupling object.

◆ _atwopi

double ePDF::AnalyticSolutions::_atwopi
private

◆ _b0

const double ePDF::AnalyticSolutions::_b0
private

◆ _b1

const double ePDF::AnalyticSolutions::_b1
private

◆ _eta0

double ePDF::AnalyticSolutions::_eta0
private

◆ _L0

const double ePDF::AnalyticSolutions::_L0
private

◆ _nl

const double ePDF::AnalyticSolutions::_nl
private

Active number of.

◆ _numint

bool ePDF::AnalyticSolutions::_numint
private

If true, numerical contributions calculated.

◆ _orderA

int ePDF::AnalyticSolutions::_orderA
private

◆ _orderR

std::vector<bool> ePDF::AnalyticSolutions::_orderR
private

@nameselect the accuracy of the perturbative solution

◆ _pphoton

double ePDF::AnalyticSolutions::_pphoton
private

◆ _Qi

const double ePDF::AnalyticSolutions::_Qi
private

Initial scale.

◆ _rechatON

bool ePDF::AnalyticSolutions::_rechatON
private

If true, hat terms retained.

◆ _t

double ePDF::AnalyticSolutions::_t
private

◆ _x0photon

double ePDF::AnalyticSolutions::_x0photon
private

@nameParameters for photon matching

◆ _x1photon

double ePDF::AnalyticSolutions::_x1photon
private

The documentation for this class was generated from the following file: