|
|
|||
File indexing completed on 2026-06-02 08:51:48
0001 /** 0002 * @file RunningAlphaStrongStandard.h 0003 * @author Bryan BERTHOU (SPhN / CEA Saclay) 0004 * @date July 13th, 2011. 0005 * @version 1.0 0006 */ 0007 0008 #ifndef RUNNING_ALPHA_STRONG_STANDARD_H 0009 #define RUNNING_ALPHA_STRONG_STANDARD_H 0010 0011 #include <string> 0012 #include <vector> 0013 0014 #include "RunningAlphaStrongModule.h" 0015 0016 namespace PARTONS { 0017 0018 /*! 0019 * \class RunningAlphaStrongStandard 0020 * 0021 * \brief Evaluation of the strong running coupling constant in the \f$\overline{MS}\f$ scheme. 0022 * 0023 * This module evaluates the strong running coupling constant in the \f$\overline{MS}\f$ scheme. 0024 * It takes \f$\alpha(M_Z)\f$ and quark masses (c, b and t) as inputs and computes the evolution downwards to get \f$\Lambda_{QCD}\f$ for different numbers of active flavors. Then \f$\alpha(M_Z)\f$ is computed at the required scale. 0025 * 0026 * For an example of usage of this module see the abstract class documentation. 0027 * 0028 * Note 1: Quark masses and \f$\alpha(M_Z)\f$ are defined in FundamentalPhysicalConstants.h. These values come from Ref. @cite Nakamura:2010zzi 0029 * 0030 * Note 2: The convention for the QCD beta function is the following: <br> 0031 * \f$\frac{d \alpha_{s}(n_{f})}{d \ln(\mu^2)} = \beta ( \alpha_{s} ) = - \sum_{n=1}^\infty \beta_{n-1} \times ( \alpha_{s} / \pi )^{(n+1)}\f$ 0032 */ 0033 class RunningAlphaStrongStandard: public RunningAlphaStrongModule { 0034 0035 public: 0036 0037 /** 0038 * Unique ID to automatically register the class in the registry. 0039 */ 0040 static const unsigned int classId; 0041 0042 /** 0043 * Constructor. 0044 * @param className Name of class. 0045 */ 0046 RunningAlphaStrongStandard(const std::string &className); 0047 0048 virtual RunningAlphaStrongStandard* clone() const; 0049 0050 /** 0051 * Destructor. 0052 */ 0053 virtual ~RunningAlphaStrongStandard(); 0054 0055 virtual double compute(); 0056 0057 /** 0058 * Get number of colors (SU(\f$n_{c}\f$)) 0059 */ 0060 unsigned int GetColourNumber() const; 0061 0062 protected: 0063 0064 /** 0065 * Copy constructor. 0066 * @param other Object to be copied. 0067 */ 0068 RunningAlphaStrongStandard(const RunningAlphaStrongStandard &other); 0069 0070 virtual void initModule(); 0071 virtual void isModuleWellConfigured(); 0072 0073 private: 0074 0075 /** 0076 * Evaluate beta function coefficients for a fixed number of flavors. 0077 * \f$n_{c}\f$-independent expressions (not used) are given in @cite Chetyrkin:1997un.<br> 0078 * \f$n_{c}\f$-dependent expressions (used) are given in @cite Czakon:2004bu. 0079 * @param NFlavour Number of flavors. 0080 */ 0081 void ComputeExpansionCoefficients(unsigned int NFlavour); 0082 0083 /** 0084 * Evaluate \f$\Lambda_{QCD}\f$ for different number of flavors. 0085 */ 0086 void ComputeLambdaQCD(); 0087 0088 /** 0089 * Evaluate \f$\alpha_s\f$ at four loops. 0090 */ 0091 void Running(double Mu, double Lambda, unsigned int NFlavour); 0092 0093 /** 0094 * Returns \f$\Lambda_{QCD}\f$ from \f$\alpha_s\f$ at given scale. 0095 */ 0096 double FindLambda(double Lambda, std::vector<double> Parameters); 0097 0098 /** 0099 * Number of colors (SU(\f$n_{c}\f$)). 0100 */ 0101 unsigned int fNc; 0102 0103 //TODO voir s'il ne serait pas pertinent de faire une classe pour les coeff de renormalisation 0104 0105 double fBeta0; ///< 1st coefficient of beta function expansion. 0106 double fBeta1; ///< 2nd coefficient of beta function expansion. 0107 double fBeta2; ///< 3rd coefficient of beta function expansion. 0108 double fBeta3; ///< 4th coefficient of beta function expansion. 0109 0110 double fB1; ///< Reduced coefficient RunningAlphaStrong::fBeta1 / RunningAlphaStrong::fBeta0. 0111 double fB2; ///< Reduced coefficient RunningAlphaStrong::fBeta2 / RunningAlphaStrong::fBeta0. 0112 double fB3; ///< Reduced coefficient RunningAlphaStrong::fBeta3 / RunningAlphaStrong::fBeta0. 0113 double fLambdaQCD3; ///< \f$\Lambda_{QCD}(n_{f} = 3)\f$. 0114 double fLambdaQCD4; ///< \f$\Lambda_{QCD}(n_{f} = 4)\f$. 0115 double fLambdaQCD5; ///< \f$\Lambda_{QCD}(n_{f} = 5)\f$. 0116 double fLambdaQCD6; ///< \f$\Lambda_{QCD}(n_{f} = 6)\f$. 0117 double fAlphaSMZ; ///< Reference value of strong coupling. 0118 double fAlphaS; ///< Current value of strong coupling. 0119 }; 0120 0121 } /* namespace PARTONS */ 0122 0123 #endif /* RUNNING_ALPHA_STRONG_STANDARD_H */ 0124
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|