23 PV17():
Parameterisation{
"PV17", 2, std::vector<double>{0.12840E+00, 0.28516E+00, 0.29755E+01, 0.17293E+00, 0.39432E+00, 2.12062E-01, 0.21012E+01, 0.93554E-01, 0.25246E+01, 0.52915E+01, 3.37975E-02}} { };
25 double Evaluate(
double const& x,
double const& b,
double const& zeta,
int const& ifunc)
const
27 if (ifunc < 0 || ifunc >= this->_nfuncs)
28 throw std::runtime_error(
"[PV17::Evaluate]: function index out of range");
35 const double g2 = this->_pars[0];
37 const double evol = exp( - g2 * log(zeta / Q02) * b * b / 4 );
42 const double N1 = this->_pars[1];
43 const double alpha = this->_pars[2];
44 const double sigma = this->_pars[3];
45 const double lambda = this->_pars[4];
46 const double xhat = 0.1;
47 const double g1 = N1 * pow(x / xhat, sigma) * pow((1 - x) / (1 - xhat), alpha);
48 return evol * exp( - g1 * pow(b / 2, 2) ) * ( 1 - lambda * pow(g1 * b / 2, 2) / ( 1 + lambda * g1 ) );
53 const double N3 = this->_pars[5];
54 const double beta = this->_pars[6];
55 const double delta = this->_pars[7];
56 const double gamma = this->_pars[8];
57 const double lambdaF = this->_pars[9];
58 const double N4 = this->_pars[10];
59 const double zhat = 0.5;
60 const double cmn = ( ( pow(x, beta) + delta ) / ( pow(zhat, beta) + delta ) ) * pow((1 - x) / (1 - zhat), gamma);
61 const double g3 = N3 * cmn;
62 const double g4 = N4 * cmn;
63 const double z2 = x * x;
64 return evol * ( g3 * exp( - g3 * pow(b / 2, 2) / z2 )
65 + ( lambdaF / z2 ) * pow(g4, 2) * ( 1 - g4 * pow(b / 2, 2) / z2 ) * exp( - g4 * pow(b / 2, 2) / z2 ) )
66 / ( g3 + ( lambdaF / z2 ) * pow(g4, 2) );
73 formula = R
"delimiter($$f_{\rm NP}(x,\zeta, b_T)=\exp\Biggl[ - g_2 \log\left(\frac{\zeta}{Q_0^2}\right) \frac{b_T^2}{4}\Biggr]\exp\Biggl[ - g_1 \frac{b_T^2}{4}\Biggr]\left[1 - \frac{\lambda g_1^2(x)}{(1 + \lambda g_1(x))}\frac{b_T^2}{4}\right]$$)delimiter";
74 formula += R"delimiter($$D_{\rm NP}(x,\zeta, b_T)=\exp\Biggl[ - g_2 \log\left(\frac{\zeta}{Q_0^2}\right) \frac{b_T^2}{4}\Biggr]\frac{\Biggl( g_3 \exp\left[ - g_3 \frac{b_T^2}{4 z^2} \right] + \frac{\lambda_F}{z^2} g_4^2 \left( 1 - g_4 \frac{b_T^2}{4 z^2} \right) \left( - g_4 \frac{b_T^2}{4 z^2 } \right)\Biggr)} {\Biggl( g_3 + g_4^2 \frac{\lambda_F}{z^2} \Biggr)}$$)delimiter";
75 formula += R"delimiter($$g_1(x) = N_1 \frac{x^{\sigma}(1-x)^{\alpha}}{\hat{x}^{\sigma}(1-\hat{x})^{\alpha}}$$)delimiter";
76 formula += R"delimiter($$g_{3,4}(z) = N_{3,4} \frac{(z^{\beta}+\delta)(1-z)^{\gamma}}{(\hat{z}^{\beta}+\delta)(1-\hat{z})^{\gamma}}$$)delimiter";
77 formula += R"delimiter($$Q_0^2 = 1\;{\rm GeV}^2$$)delimiter";
78 formula += R"delimiter($$\hat{x} = 0.1$$)delimiter";
79 formula += R"delimiter($$\hat{z} = 0.5$$)delimiter";
85 return {R
"delimiter($g_2$)delimiter",
86 R"delimiter($N_1$)delimiter",
87 R"delimiter($\alpha$)delimiter",
88 R"delimiter($\sigma$)delimiter",
89 R"delimiter($\lambda$)delimiter",
90 R"delimiter($N_3$)delimiter",
91 R"delimiter($\beta$)delimiter",
92 R"delimiter($\delta$)delimiter",
93 R"delimiter($\gamma$)delimiter",
94 R"delimiter($\lambda_F$)delimiter",
95 R"delimiter($N_4$)delimiter"};
100 return "Parameterisation used for the Pavia 2017 TMD analysis.";
Pavia 2017 parameterisation derived from the "Parameterisation" mother class.
Definition: PV17.h:18
double Evaluate(double const &x, double const &b, double const &zeta, int const &ifunc) const
Virtual function that returns the value of one of the functions.
Definition: PV17.h:25
std::vector< std::string > GetParameterNames() const
Virtual function that returns a vector of strings containing the names of the parameters in LaTex for...
Definition: PV17.h:83
PV17()
Definition: PV17.h:23
std::string GetDescription() const
Virtual function that returns a short description of the parametrisation.
Definition: PV17.h:98
std::string LatexFormula() const
Virtual function that returns a string with the formula of the non-perturbative function(s) in LaTex ...
Definition: PV17.h:70
Mother class that implements the main feautures of a functional parameterisation of non-perturbative ...
Definition: parameterisation.h:20