|
|
|||
File indexing completed on 2026-06-02 08:17:14
0001 // 0002 // APFEL++ 2017 0003 // 0004 // Author: Valerio Bertone: valerio.bertone@cern.ch 0005 // 0006 0007 #pragma once 0008 0009 #include "apfel/expression.h" 0010 0011 namespace apfel 0012 { 0013 /** 0014 * @defgroup TMDMatchingFunctions TMD matching functions 0015 * The perturbative matching functions for PDFs and FFs (references: 0016 * https://arxiv.org/pdf/2012.03256.pdf, 0017 * https://arxiv.org/pdf/1604.07869.pdf, and 0018 * https://arxiv.org/pdf/1706.01473.pdf). Notice that the 0019 * expressions for FFs are implicitly multiplied by a factor 0020 * x<SUP>2</SUP>. This is because the convolution with FFs has the 0021 * form: 0022 * 0023 * \f$D(x) = C(x) \otimes d(x) / x^2 = (1/x^2) \int_x^1 (dy/y) [y^2 C(y)] d(x/y)\f$ 0024 * 0025 * For the implementation of the O(α<SUB>s</SUB><SUP>2</SUP>) 0026 * and O(α<SUB>s</SUB><SUP>3</SUP>) expressions I have used 0027 * the parameterization provided with 0028 * https://arxiv.org/pdf/2012.03256.pdf. A notebook with the 0029 * expressions can be found in docs/latex/src/codes/. 0030 */ 0031 ///@{ 0032 ///@} 0033 /** 0034 * @defgroup SLMatchFunc Space-like matching functions 0035 * TMD mathing functions for PDFs (space-like hard scales) 0036 * @ingroup TMDMatchingFunctions 0037 */ 0038 ///@{ 0039 ///@} 0040 /** 0041 * @defgroup NLOmatch NLO matching functions for PDFs 0042 * @ingroup SLMatchFunc 0043 */ 0044 ///@{ 0045 /** 0046 * @brief The O(α<SUB>s</SUB>) non-singlet matching function 0047 * for PDFs (references: https://arxiv.org/pdf/1604.07869.pdf and 0048 * https://arxiv.org/pdf/1706.01473.pdf). 0049 */ 0050 class C1nspdf: public Expression 0051 { 0052 public: 0053 C1nspdf(); 0054 double Regular(double const& x) const; 0055 double Local(double const&) const; 0056 }; 0057 0058 /** 0059 * @brief The O(α<SUB>s</SUB>) quark-gluon matching function 0060 * for PDFs (references: https://arxiv.org/pdf/1604.07869.pdf and 0061 * https://arxiv.org/pdf/1706.01473.pdf). 0062 */ 0063 class C1qgpdf: public Expression 0064 { 0065 public: 0066 C1qgpdf(); 0067 double Regular(double const& x) const; 0068 }; 0069 0070 /** 0071 * @brief The O(α<SUB>s</SUB>) gluon-quark matching function 0072 * for PDFs (references: https://arxiv.org/pdf/1604.07869.pdf and 0073 * https://arxiv.org/pdf/1706.01473.pdf). 0074 */ 0075 class C1gqpdf: public Expression 0076 { 0077 public: 0078 C1gqpdf(); 0079 double Regular(double const& x) const; 0080 }; 0081 0082 /** 0083 * @brief The O(α<SUB>s</SUB>) gluon-gluon matching function 0084 * for PDFs (references: https://arxiv.org/pdf/1604.07869.pdf and 0085 * https://arxiv.org/pdf/1706.01473.pdf). 0086 */ 0087 class C1ggpdf: public Expression 0088 { 0089 public: 0090 C1ggpdf(); 0091 double Local(double const&) const; 0092 }; 0093 ///@} 0094 0095 /** 0096 * @defgroup NNLOmatch NNLO matching functions for PDFs 0097 * @ingroup SLMatchFunc 0098 */ 0099 ///@{ 0100 /** 0101 * @brief The O(α<SUB>s</SUB><SUP>2</SUP>) valence plus 0102 * matching function for PDFs (reference: 0103 * https://arxiv.org/pdf/2012.03256.pdf). 0104 */ 0105 class C2nsppdf: public Expression 0106 { 0107 public: 0108 C2nsppdf(int const& nf); 0109 double Regular(double const& x) const; 0110 double Singular(double const& x) const; 0111 double Local(double const& x) const; 0112 protected: 0113 int const _nf; 0114 double _A2; 0115 }; 0116 0117 /** 0118 * @brief The O(α<SUB>s</SUB><SUP>2</SUP>) valence minus 0119 * matching function for PDFs (reference: 0120 * https://arxiv.org/pdf/2012.03256.pdf). 0121 */ 0122 class C2nsmpdf: public Expression 0123 { 0124 public: 0125 C2nsmpdf(int const& nf); 0126 double Regular(double const& x) const; 0127 double Singular(double const& x) const; 0128 double Local(double const& x) const; 0129 protected: 0130 int const _nf; 0131 double _A2; 0132 }; 0133 0134 /** 0135 * @brief The O(α<SUB>s</SUB><SUP>2</SUP>) pure-singlet 0136 * matching function for PDFs (reference: 0137 * https://arxiv.org/pdf/2012.03256.pdf). 0138 */ 0139 class C2pspdf: public Expression 0140 { 0141 public: 0142 C2pspdf(); 0143 double Regular(double const& x) const; 0144 }; 0145 0146 /** 0147 * @brief The O(α<SUB>s</SUB><SUP>2</SUP>) quark-gluon 0148 * matching function for PDFs (reference: 0149 * https://arxiv.org/pdf/2012.03256.pdf). 0150 */ 0151 class C2qgpdf: public Expression 0152 { 0153 public: 0154 C2qgpdf(); 0155 double Regular(double const& x) const; 0156 }; 0157 0158 /** 0159 * @brief The O(α<SUB>s</SUB><SUP>2</SUP>) gluon-quark 0160 * matching function for PDFs (reference: 0161 * https://arxiv.org/pdf/2012.03256.pdf). 0162 */ 0163 class C2gqpdf: public Expression 0164 { 0165 public: 0166 C2gqpdf(int const& nf); 0167 double Regular(double const& x) const; 0168 private: 0169 int const _nf; 0170 }; 0171 0172 /** 0173 * @brief The O(α<SUB>s</SUB><SUP>2</SUP>) gluon-gluon 0174 * matching function for PDFs (reference: 0175 * https://arxiv.org/pdf/2012.03256.pdf). 0176 */ 0177 class C2ggpdf: public Expression 0178 { 0179 public: 0180 C2ggpdf(int const& nf); 0181 double Regular(double const& x) const; 0182 double Singular(double const& x) const; 0183 double Local(double const& x) const; 0184 private: 0185 int const _nf; 0186 double _A2; 0187 }; 0188 ///@} 0189 0190 /** 0191 * @defgroup NNNLOmatch NNNLO matching functions for PDFs 0192 * @ingroup SLMatchFunc 0193 */ 0194 ///@{ 0195 /** 0196 * @brief The O(α<SUB>s</SUB><SUP>3</SUP>) valence plus 0197 * matching function for PDFs (reference: 0198 * https://arxiv.org/pdf/2012.03256.pdf). 0199 */ 0200 class C3nsppdf: public Expression 0201 { 0202 public: 0203 C3nsppdf(int const& nf); 0204 double Regular(double const& x) const; 0205 double Singular(double const& x) const; 0206 double Local(double const& x) const; 0207 protected: 0208 int const _nf; 0209 double _A2; 0210 }; 0211 0212 /** 0213 * @brief The O(α<SUB>s</SUB><SUP>3</SUP>) valence minus 0214 * matching function for PDFs (reference: 0215 * https://arxiv.org/pdf/2012.03256.pdf). 0216 */ 0217 class C3nsmpdf: public Expression 0218 { 0219 public: 0220 C3nsmpdf(int const& nf); 0221 double Regular(double const& x) const; 0222 double Singular(double const& x) const; 0223 double Local(double const& x) const; 0224 protected: 0225 int const _nf; 0226 double _A2; 0227 }; 0228 0229 /** 0230 * @brief The O(α<SUB>s</SUB><SUP>3</SUP>) pure-valence 0231 * matching function for PDFs (reference: 0232 * https://arxiv.org/pdf/2012.03256.pdf). 0233 */ 0234 class C3pvpdf: public Expression 0235 { 0236 public: 0237 C3pvpdf(); 0238 double Regular(double const& x) const; 0239 }; 0240 0241 /** 0242 * @brief The O(α<SUB>s</SUB><SUP>3</SUP>) pure-singlet 0243 * matching function for PDFs (reference: 0244 * https://arxiv.org/pdf/2012.03256.pdf). 0245 */ 0246 class C3pspdf: public Expression 0247 { 0248 public: 0249 C3pspdf(int const& nf); 0250 double Regular(double const& x) const; 0251 protected: 0252 int const _nf; 0253 }; 0254 0255 /** 0256 * @brief The O(α<SUB>s</SUB><SUP>3</SUP>) quark-gluon 0257 * matching function for PDFs (reference: 0258 * https://arxiv.org/pdf/2012.03256.pdf). 0259 */ 0260 class C3qgpdf: public Expression 0261 { 0262 public: 0263 C3qgpdf(int const& nf); 0264 double Regular(double const& x) const; 0265 protected: 0266 int const _nf; 0267 }; 0268 0269 /** 0270 * @brief The O(α<SUB>s</SUB><SUP>3</SUP>) gluon-quark 0271 * matching function for PDFs (reference: 0272 * https://arxiv.org/pdf/2012.03256.pdf). 0273 */ 0274 class C3gqpdf: public Expression 0275 { 0276 public: 0277 C3gqpdf(int const& nf); 0278 double Regular(double const& x) const; 0279 protected: 0280 int const _nf; 0281 }; 0282 0283 /** 0284 * @brief The O(α<SUB>s</SUB><SUP>3</SUP>) gluon-gluon 0285 * matching function for PDFs (reference: 0286 * https://arxiv.org/pdf/2012.03256.pdf). 0287 */ 0288 class C3ggpdf: public Expression 0289 { 0290 public: 0291 C3ggpdf(int const& nf); 0292 double Regular(double const& x) const; 0293 double Singular(double const& x) const; 0294 double Local(double const& x) const; 0295 protected: 0296 int const _nf; 0297 double _A2; 0298 }; 0299 ///@} 0300 0301 /** 0302 * @defgroup NLOBM NLO matching functions for Boer-Mulders PDFs 0303 * NLO matching functions for linearly polarised gluon PDF (Boer-Mulders) 0304 * @ingroup SLMatchFunc 0305 */ 0306 ///@{ 0307 /** 0308 * @brief The O(α<SUB>s</SUB>) gluon-quark matching function 0309 * for linearly polarised gluon PDF (reference: 0310 * https://arxiv.org/pdf/1907.03780.pdf). 0311 */ 0312 class C1gqpdfBM: public Expression 0313 { 0314 public: 0315 C1gqpdfBM(); 0316 double Regular(double const& x) const; 0317 }; 0318 0319 /** 0320 * @brief The O(α<SUB>s</SUB>) gluon-gluon matching function 0321 * for linearly polarised gluon PDF (reference: 0322 * https://arxiv.org/pdf/1907.03780.pdf). 0323 */ 0324 class C1ggpdfBM: public Expression 0325 { 0326 public: 0327 C1ggpdfBM(); 0328 double Regular(double const& x) const; 0329 }; 0330 ///@} 0331 0332 /** 0333 * @defgroup NNLOBM NNLO matching functions for Boer-Mulders PDFs 0334 * NNLO matching functions for linearly polarised gluon PDF (Boer-Mulders) 0335 * @ingroup SLMatchFunc 0336 */ 0337 ///@{ 0338 /** 0339 * @brief The O(α<SUB>s</SUB><SUP>2</SUP>) gluon-quark 0340 * matching function for linearly polarised gluon PDF (reference: 0341 * https://arxiv.org/pdf/1907.03780.pdf). 0342 */ 0343 class C2gqpdfBM: public Expression 0344 { 0345 public: 0346 C2gqpdfBM(int const& nf); 0347 double Regular(double const& x) const; 0348 protected: 0349 int const _nf; 0350 }; 0351 0352 /** 0353 * @brief The O(α<SUB>s</SUB><SUP>2</SUP>) gluon-gluon 0354 * matching function for linearly polarised gluon PDFs (reference: 0355 * https://arxiv.org/pdf/1907.03780.pdf). 0356 */ 0357 class C2ggpdfBM: public Expression 0358 { 0359 public: 0360 C2ggpdfBM(int const& nf); 0361 double Regular(double const& x) const; 0362 protected: 0363 int const _nf; 0364 }; 0365 ///@} 0366 0367 /** 0368 * @defgroup NLOSivers NLO matching functions for Sivers quark PDFs 0369 * NLO matching functions for Sivers quark PDFs 0370 * @ingroup SLMatchFunc 0371 */ 0372 ///@{ 0373 /** 0374 * @brief The O(α<SUB>s</SUB>) non-singlet matching function 0375 * for Sivers PDFs (see Eq. (A.9) of 0376 * https://arxiv.org/pdf/2009.10710.pdf). 0377 */ 0378 class C1nspdfSivers: public Expression 0379 { 0380 public: 0381 C1nspdfSivers(); 0382 double Regular(double const& x) const; 0383 double Local(double const&) const; 0384 }; 0385 ///@} 0386 0387 /** 0388 * @defgroup NLOg1 NLO matching functions for helicity PDFs g1 0389 * NLO matching functions for the helicity PDFs g1 0390 * @ingroup SLMatchFunc 0391 */ 0392 ///@{ 0393 /** 0394 * @brief The O(α<SUB>s</SUB>) non-singlet matching function 0395 * for g1 PDFs (reference: https://arxiv.org/pdf/1702.06558.pdf). 0396 */ 0397 class C1nspdfg1: public Expression 0398 { 0399 public: 0400 C1nspdfg1(); 0401 double Regular(double const& x) const; 0402 double Local(double const&) const; 0403 }; 0404 0405 /** 0406 * @brief The O(α<SUB>s</SUB>) quark-gluon matching function 0407 * for g1 PDFs (reference: https://arxiv.org/pdf/1702.06558.pdf). 0408 */ 0409 class C1qgpdfg1: public Expression 0410 { 0411 public: 0412 C1qgpdfg1(); 0413 double Regular(double const& x) const; 0414 }; 0415 0416 /** 0417 * @brief The O(α<SUB>s</SUB>) gluon-quark matching function 0418 * for g1 PDFs (reference: https://arxiv.org/pdf/1702.06558.pdf). 0419 */ 0420 class C1gqpdfg1: public Expression 0421 { 0422 public: 0423 C1gqpdfg1(); 0424 double Regular(double const& x) const; 0425 }; 0426 0427 /** 0428 * @brief The O(α<SUB>s</SUB>) gluon-gluon matching function 0429 * for g1 PDFs (reference: https://arxiv.org/pdf/1702.06558.pdf). 0430 */ 0431 class C1ggpdfg1: public Expression 0432 { 0433 public: 0434 C1ggpdfg1(); 0435 double Regular(double const& x) const; 0436 double Local(double const&) const; 0437 }; 0438 ///@} 0439 }
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|