10#include <apfel/constants.h>
24 double Evaluate(
double const& x,
double const& b,
double const& zeta,
int const& ifunc)
const
26 if (ifunc < 0 || ifunc >= this->_nfuncs)
27 throw std::runtime_error(
"[QGG6::Evaluate]: function index out of range");
34 const double g2 = this->_pars[0];
35 const double N1 = this->_pars[1];
36 const double alpha = this->_pars[2];
37 const double sigma = this->_pars[3];
38 const double lambda = this->_pars[4];
39 const double delta = this->_pars[5];
43 const double xhat = 0.1;
45 const double g1 = N1 * ( pow(x, sigma) ) / ( pow(xhat, sigma) ) * pow((1 - x) / (1 - xhat), alpha);
48 return ((1 - pow(lambda, 2)) / (pow(1 + g1 / 4 * b * b, 1)) + pow(lambda,2) * exp( - delta/ 2 * b * b ) ) * exp( - g2 * log(zeta / Q02) * b * b / 4 );
55 formula = R
"delimiter($$f_{\rm NP}(x,\zeta, b_T)=\left[\frac{1-\lambda^2}{\left(1 + \left(\frac{g_1}{4}\right)b_T^2\right)}+\lambda^2e^{-\delta\frac{b_T^2}{2}}\right]e^{- g_2 \log\left(\frac{\zeta}{Q_0^2}\right)\frac{b_T^2}{4}}$$)delimiter";
56 formula += R"delimiter($$g_1(x) = N_1 \frac{x^{\sigma}(1-x)^{\alpha}}{\hat{x}^{\sigma}(1-\hat{x})^{\alpha}}$$)delimiter";
57 formula += R"delimiter($$Q_0^2 = 1\;{\rm GeV}^2$$)delimiter";
58 formula += R"delimiter($$\hat{x} = 0.1$$)delimiter";
64 return {R
"delimiter($g_2$)delimiter",
65 R"delimiter($N_1$)delimiter",
66 R"delimiter($\alpha$)delimiter",
67 R"delimiter($\sigma$)delimiter",
68 R"delimiter($\lambda$)delimiter",
69 R"delimiter($\delta$)delimiter"};
74 return "Parameterisation with a q-Gaussian and a Gaussian and 6 free parameters.";
Mother class that implements the main feautures of a functional parameterisation of non-perturbative ...
Definition: parameterisation.h:20
Pavia 2019 parameterisation derived from the "Parameterisation" mother class.
Definition: QGG6.h:19
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: QGG6.h:24
std::string LatexFormula() const
Virtual function that returns a string with the formula of the non-perturbative function(s) in LaTex ...
Definition: QGG6.h:52
std::string GetDescription() const
Virtual function that returns a short description of the parametrisation.
Definition: QGG6.h:72
std::vector< std::string > GetParameterNames() const
Virtual function that returns a vector of strings containing the names of the parameters in LaTex for...
Definition: QGG6.h:62
QGG6()
Definition: QGG6.h:22