|
|
|||
File indexing completed on 2026-06-02 08:17:12
0001 // 0002 // APFEL++ 2017 0003 // 0004 // Author: Valerio Bertone: valerio.bertone@cern.ch 0005 // 0006 0007 #pragma once 0008 0009 #include "apfel/matchedevolution.h" 0010 0011 #include <functional> 0012 0013 namespace apfel 0014 { 0015 /** 0016 * @brief The AlphaQCDxi is a specialization class of the 0017 * MatchedEvolution class for the computation of the QCD coupling 0018 * running with the possibility to vary the resummation scale 0019 * through the parameter xi. 0020 */ 0021 class AlphaQCDxi: public MatchedEvolution<double> 0022 { 0023 public: 0024 /** 0025 * @name Constructors 0026 * List of constructors. 0027 */ 0028 ///@{ 0029 AlphaQCDxi() = delete; 0030 0031 /** 0032 * @brief AlphaQCDxi constructor. 0033 * @param AlphaRef: the reference value of the coupling 0034 * @param MuRef: the reference value of the scale 0035 * @param Masses: vector of masses 0036 * @param Thresholds: vector of thresholds 0037 * @param pt: perturbative order 0038 * @param xi: resummation-scale parameter (default: 1) 0039 * @param nsteps: number of steps of the ODE solver (default: 10) 0040 */ 0041 AlphaQCDxi(double const& AlphaRef, 0042 double const& MuRef, 0043 std::vector<double> const& Masses, 0044 std::vector<double> const& Thresholds, 0045 int const& pt, 0046 double const& xi = 1, 0047 int const& nsteps = 10); 0048 0049 /** 0050 * @brief AlphaQCDxi constructor. 0051 * @param AlphaRef: the reference value of the coupling 0052 * @param MuRef: the reference value of the scale 0053 * @param Masses: vector of masses 0054 * @param pt: perturbative order 0055 * @param xi: resummation-scale parameter (default: 1) 0056 * @param nsteps: number of steps of the ODE solver (default: 10) 0057 * @note This constructor assumes that masses and thresholds coincide. 0058 */ 0059 AlphaQCDxi(double const& AlphaRef, 0060 double const& MuRef, 0061 std::vector<double> const& Masses, 0062 int const& pt, 0063 double const& xi = 1, 0064 int const& nsteps = 10); 0065 ///@} 0066 0067 /** 0068 * @brief Function for the computation of the matching. 0069 * @param Up: tells whether the matching is upward or not (downward) 0070 * @param nf: number of active flavours 0071 * @param Coup: value of the coupling to be matched 0072 * @return The matched value of the strong coupling \f$\alpha_s\f$ at the threshold 0073 */ 0074 double MatchObject(bool const& Up, int const& nf, double const& Coup) const; 0075 0076 /** 0077 * @brief Function that returns QCD \f$\beta\f$ function. 0078 * @param nf: number of active flavours 0079 * @param as: value of the coupling 0080 * @return The the value of the QCD \f$\beta\f$ function 0081 */ 0082 double Derivative(int const& nf, double const&, double const& as) const; 0083 0084 /** 0085 * @brief Function for the computation of the single coefficients 0086 * of the expansion of the QCD \f$\beta\f$ function. 0087 * @param pt: perturbative order 0088 * @param nf: number of active flavours 0089 * @param lambda: argument of the g-functions 0090 * @return The pt-th coefficient of the QCD \f$\beta\f$ function. 0091 */ 0092 double betaQCD(int const& pt, int const& nf, double const& lambda) const; 0093 0094 private: 0095 int const _pt; //!< Perturbative order 0096 double const _xi; //!< Resummation-scale paremeter 0097 std::function<double(bool const&, int const&, double const&)> _MatchingConditions; //!< Matching condition functions 0098 std::function<double(int const&, double const&)> _BetaFunction; //!< Beta function 0099 }; 0100 }
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|