20 MAP21test():
Parameterisation{
"MAP21test", 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, 0.0, 0.28516E+00}} { };
22 double Evaluate(
double const& x,
double const& b,
double const& zeta,
int const& ifunc)
const
24 if (ifunc < 0 || ifunc >= this->_nfuncs)
25 throw std::runtime_error(
"[MAP21test::Evaluate]: function index out of range");
32 const double g2 = this->_pars[0];
33 const double g2B = this->_pars[11];
34 const double b2 = b * b;
35 const double lnz = log(zeta / _Q02);
36 const double NPevol = exp( - ( g2 * b2 + g2B * b2 * b2 ) * lnz / 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 N1B = this->_pars[12];
47 const double xhat = 0.1;
48 const double g1 = N1 * pow(x / xhat, sigma) * pow((1 - x) / (1 - xhat), alpha);
49 const double g1B = N1B * pow(x / xhat, sigma) * pow((1 - x) / (1 - xhat), alpha);
50 return NPevol * ( g1 * exp( - g1 * pow(b / 2, 2))
51 + lambda * pow(g1B, 2) * ( 1 - g1B * pow(b / 2, 2)) * exp( - g1B * pow(b / 2, 2)) )
52 / ( g1 + lambda * pow(g1B, 2) );
57 const double N3 = this->_pars[5];
58 const double beta = this->_pars[6];
59 const double delta = this->_pars[7];
60 const double gamma = this->_pars[8];
61 const double lambdaF = this->_pars[9];
62 const double N3B = this->_pars[10];
63 const double zhat = 0.5;
64 const double cmn = ( ( pow(x, beta) + delta ) / ( pow(zhat, beta) + delta ) ) * pow((1 - x) / (1 - zhat), gamma);
65 const double g3 = N3 * cmn;
66 const double g3B = N3B * cmn;
67 const double z2 = x * x;
68 return NPevol * ( g3 * exp( - g3 * pow(b / 2, 2) / z2 )
69 + ( lambdaF / z2 ) * pow(g3B, 2) * ( 1 - g3B * pow(b / 2, 2) / z2 ) * exp( - g3B * pow(b / 2, 2) / z2 ) )
70 / ( g3 + ( lambdaF / z2 ) * pow(g3B, 2) );
77 formula = R
"delimiter($$f_{\rm NP}(x,\zeta, b_T)=\exp\left[ - \left( g_1(x) + \frac{1}{2}g_2 \log\left(\frac{\zeta}{Q_0^2}\right) \right) b_T^2 \right])delimiter";
78 formula += R"delimiter(\left[1 - \frac{\lambda g_1^2(x) b_T^2}{4(1 + \lambda g_1(x))}\right]$$\\)delimiter";
79 formula += R"delimiter($$D_{\rm NP}(x,\zeta, b_T)= \frac{1}{g_{3 a\to h} +\big(\lambda_F/z^2\big) g_{3b a \to h}^{2}})delimiter";
81 formula += R
"delimiter($$g_{1,1b}(x) = N_{1,1b} \frac{x^{\sigma}(1-x)^{\alpha}}{\hat{x}^{\sigma}(1-\hat{x})^{\alpha}}$$\\)delimiter";
82 formula += R"delimiter($$g_{3,3b}(z) = N_{3,3b} \frac{(z^{\beta}+\delta)(1-z)^{\gamma}}{(\hat{z}^{\beta}+\delta)(1-\hat{x})^{\gamma}}$$\\)delimiter";
83 formula += R"delimiter($$Q_0^2 = 1\;{\rm GeV}^2$$\\)delimiter";
84 formula += R"delimiter($$\hat{x} = 0.1$$\\)delimiter";
85 formula += R"delimiter($$\hat{z} = 0.5$$)delimiter";
91 return {R
"delimiter($g_2$)delimiter",
92 R"delimiter($N_1$)delimiter",
93 R"delimiter($\alpha$)delimiter",
94 R"delimiter($\sigma$)delimiter",
95 R"delimiter($\lambda$)delimiter",
96 R"delimiter($N_3$)delimiter",
97 R"delimiter($\beta$)delimiter",
98 R"delimiter($\delta$)delimiter",
99 R"delimiter($\gamma$)delimiter",
100 R"delimiter($\lambda_F$)delimiter",
101 R"delimiter($N_{3B}$)delimiter",
102 R"delimiter($g_{2B}$)delimiter",
103 R"delimiter($N_{1B}$)delimiter"};
108 return "Parameterisation used for the MAP 2021 TMD analysis.";
112 const double _Q02 = 1;
MAP 2021 parameterisation derived from the "Parameterisation" mother class.
Definition: MAP21test.h:18
std::string LatexFormula() const
Virtual function that returns a string with the formula of the non-perturbative function(s) in LaTex ...
Definition: MAP21test.h:74
MAP21test()
Definition: MAP21test.h:20
std::string GetDescription() const
Virtual function that returns a short description of the parametrisation.
Definition: MAP21test.h:106
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: MAP21test.h:22
std::vector< std::string > GetParameterNames() const
Virtual function that returns a vector of strings containing the names of the parameters in LaTex for...
Definition: MAP21test.h:89
Mother class that implements the main feautures of a functional parameterisation of non-perturbative ...
Definition: parameterisation.h:20