Manual
User Manual:
Open the PDF directly: View PDF .
Page Count: 18
Download | |
Open PDF In Browser | View PDF |
APFEL v2.6.1: A PDF Evolution Library with QED corrections Valerio Bertone1,2 , Stefano Carrazza2 and Juan Rojo1 1 2 Rudolf Peierls Centre for Theoretical Physics, 1 Keble Road, University of Oxford, OX1 3NP, Oxford, UK PH Department, TH Unit, CERN, CH-1211 Geneva 23, Switzerland Abstract In this document we present the user manual for the APFEL library. Written in Fortran 77, all the functionalities can also be accessed via the C/C++ and Python interfaces. For simplicity, we will restrict ourselves to the description of the C/C++ interface, but the usage of the Fortran 77 and Python interfaces is very similar and examples of their use are provided in the examples folder of the APFEL source code. First of all, we will discuss how to install APFEL and how to execute the basic example programs. After that, we will list the various customization options that can be accessed by the user for both the PDF evolution and the DIS structure functions modules. Contents 1 Installation 1 2 The PDF evolution module 2.1 Customization of the PDF evolution . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Setting functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 4 5 3 The DIS module 1 18 Installation The APFEL library is available from its HepForge website: http://apfel.hepforge.org/ and from the GitHub webpage: https://github.com/scarrazza/apfel It can also be accessed directly from the git repository. The last development version can be downloaded by giving: 1 git clone https : // github . com / scarrazza / apfel . git For the tagged versions one can use the git tag commands: 1 1 2 git tag -l git checkout tags / tag_name to switch to any of the past releases. We strongly recommend to use the latest stables release. The installation of the APFEL library can be easily done following the standard autotools sequence: 1 2 3 ./ configure make make install which automatically installs APFEL in /usr/local/. Note that by default the APFEL library requires an installation of the LHAPDF PDF library1 . However, an LHAPDF-less installation is also supported by giving: 1 ./ configure -- disable - lhapdf To use a different installation path, one simply needs to use the option: 1 ./ configure -- prefix =/ path / to / the / installation / folder In this case, the APFEL installation path should be included to the environmental variable LD LIBRARY PATH. This can be done adding to the local .bashrc file (or .profile file on Mac) the string: 1 export LD_LIBRARY_PATH = $LD_LIBRARY_PATH :/ path / to / the / installation /←folder / lib Once APFEL has been properly compiled and installed, the configuration script apfel-config should automatically be present. Such script is useful to determine the compiler flags. Type: 1 apfel - config -- help in a shell to see all the possible options. Particularly useful is the --list-funcs flag that lists all the functions available in APFEL along with a short explanation. In addition, also the shell script apfel is provided which starts an interactive console session of APFEL providing a prompt tool to use the library without coding. In the following we will list and illustrate all the functionalities of APFEL and explaining how they can be accessed by the user. The most recent version of APFEL provide also an additional module to compute DIS (and SIA) structure functions in different mass scheme. Such module is dependent of the original PDF evolution module as it inherits from it many of the setting functions that we will describe in the next section. We will start describing 1 The current release of APFEL assumes that LHAPDF version 6 has been previously installed as version 5 is no longer supported. 2 the functions of the PDF evolution module and we will devote the following section to a thourough description of the DIS module. 2 The PDF evolution module The basic usage of the PDF evolution module of APFEL requires only two steps to have the complete set of evolved PDFs. The first step is the initialization of APFEL through the call of the following function: 1 APFEL :: InitializeAPFEL () ; This will precompute all the needed evolution operators that enter the discretized DGLAP equation. Let us recall that once the general settings of the evolution have been defined (perturbative order, heavy quark masses, reference value of αs , and so on), the initialization needs to be performed only once, irrespective of the scales that are used in the PDF evolution. The second step consists in performing the actual PDF evolution between the initial scale Q0 and the final scale Q (in GeV). This can be achieved using the function: 1 APFEL :: EvolveAPFEL ( Q0 , Q ) ; Calling this function APFEL solves the discretized DGLAP equations using the evolution operators precomputed in the initialization step. Now the user can access the evolved PDFs at the scale Q via the use of the functions: 1 2 APFEL :: xPDF (i , x ) ; APFEL :: xgamma ( x ) ; where the real variable x is the desired value of Bjorken-x while the integer variable i in the function xPDF, which runs from −6 to 6, corresponds to the quark flavor index according to the following convention: Note that in APFEL we have explicitly separated i: xPDF : −6 t̄ −5 b̄ −4 c̄ −3 s̄ −2 ū −1 d¯ 0 g 1 d 2 u 3 s 4 c 5 b 6 t the access to the quark and gluon PDFs (via xPDF) and from that to the photon PDF (via xgamma). Note also that the functions xPDF and xgamma return x times the PDFs (i.e. the momentum fractions). The basic information given above is enough to write a simple and yet complete program that performs PDF evolution using APFEL. As an illustration, a C/C++ program that computes and tabulates PDFs to be compared with the Les Houches PDF benchmark evolution tables would be the following: 1 2 3 4 # include # include # include # include < iostream > < iomanip > < cmath > " APFEL / APFEL . h " 3 5 using namespace std ; 6 7 8 9 10 11 int main () { // Define grid in x double xlha [11] = {1 e -7 , 1e -6 , 1e -5 , 1e -4 , 1e -3 , 1e -2 , 1e -1 , 3e -1 , 5e -1 , 7e -1 , 9e -1}; 12 // Precomputes evolution operators on the grid APFEL :: InitializeAPFEL () ; 13 14 15 // Perform evolution double Q0 = sqrt (2) ; double Q = sqrt (10000) ; APFEL :: EvolveAPFEL ( Q0 , Q ) ; 16 17 18 19 20 cout << scientific << setprecision (5) << endl ; cout << " x " << setw (11) << " u - ubar " << setw (11) << " d - dbar " << setw (11) << " 2( ubr + dbr ) " << setw (11) << " c + cbar " << setw (11) << " gluon " << setw (11) << " photon " << endl ; 21 22 23 24 25 26 27 28 29 cout << scientific ; // Tabulate PDFs for the LHA x values for ( int i = 0; i < 11; i ++) cout << xlha [ i ] << " \ t " << APFEL :: xPDF (2 , xlha [ i ]) - APFEL :: xPDF ( -2 , xlha [ i ]) << " \ t " << APFEL :: xPDF (1 , xlha [ i ]) - APFEL :: xPDF ( -1 , xlha [ i ]) << " \ t " << 2*( APFEL :: xPDF ( -1 , xlha [ i ]) + APFEL :: xPDF ( -2 , xlha [ i ]) ) << " \ t " << APFEL :: xPDF (4 , xlha [ i ]) + APFEL :: xPDF ( -4 , xlha [ i ]) << " \ t " << APFEL :: xPDF (0 , xlha [ i ]) << " \ t " << APFEL :: xgamma ( xlha [ i ]) << " \ t " << endl ; 30 31 32 33 34 35 36 37 38 39 40 41 return 0; 42 43 } It should be noticed that this example code uses the default settings of APFEL for the evolution parameters such as: initial scale PDFs, perturbative order, heavy quark masses, values of the couplings, etc. In the following we will discuss how the user can customize the settings for the PDF evolution in APFEL. 2.1 Customization of the PDF evolution The customization of the PDF evolution with APFEL can be achieved using a number of dedicated functions, to be called before the initialization stage, that is before calling InitializeAPFEL2 . We will subdivide the available functions into three cathegories: 2 This is not entirely precise because there is a number of customization functions that are effective only at the evolution level and thus can be called also after InitializeAPFEL but before EvolveAPFEL. We will discuss this feature case by case when going through all functions available in APFEL. 4 • the setting functions which provide the real costumization tools. These functions allow the user to change the way how the initialization and the output (see next items) functions behave. • The initialization functions which are resposible to perform the “main” operations, like initializing the evolution factor and evolving PDFs. • The output functions which finally return the result of a given set of setting and initialization functions. In the following we will list and comment all the functions belonging to each of the cathegories above. Finally, we remind the reader that running the configuration script apfel-config with the --list-funcs flag will list all the functions available in APFEL along with a short explanation. 2.1.1 Setting functions Bofore going through the various setting functions, the user should be aware of the fact that APFEL has a set of default settings that are used if the user does not intervene to change any of them. This is why the example described above needs only a very limited number of steps. However, while each time that APFEL is run a banner with a list of the main settings is displayed, it is usefull to report here the default settings of APFEL. We will first go through all the setting functions and only at the end we will report the default settings so that the meaning of all of them should be clear to the reader who went through this section. Bofore proceeding with the descitpion of the setting functions of the evolution module, it is useful to notice that in the following we will use the identifiers int, double, bool and string to specify the type of entry expected by each of the fuctions described below. 1 APFEL :: SetPerturbativeOrder ( int pto ) ; This function sets the perturbative order of the PDF evolution to pto. The integer pto can take the values 0, 1 ot 2 according to whether the PDF evolution is performed at O(αs ), O(αs2 ), or O(αs3 ), that is LO, NLO and NNLO, respectively. This function also sets the perturbative order of the evolution of the couplings αs and α and possibly of the heavy quark masses. The default for pto is 2. 1 APFEL :: SetTheory ( string theory ) ; This function sets the theory to be used in the evolution. The alternatives for theory are: • "QCD": the PDF evolution is done solving the pure QCD DGLAP equations, • "QED": the PDF evolution is done solving the pure QED DGLAP equations, • "QUniD": the PDF evolution is done solving the coupled QCD+QED DGLAP equations as explained above. 5 There are more options available that access more “exotic” (and obsolete) solutions of the coupled QCD+QED DGLAP equations. They are: • "QCEDP" for QCD+QED in parallel, • "QCEDS" for QCD+QED in series, • "QECDP" for QED+QCD in parallel, • "QECDS" for QED+QCD in series, • "QavDP" for the averaged solution in parallel, • "QavDS" for the averaged solution in series, and they refer to different combinations of the separate QCD and QED evolutions. The reader can refer to the original APFEL publication for a detailed explanation. However, the use of these solution is discouraged unless the user is well aware of their meaning. The default is "QCD". 1 APFEL :: SetVFNS () ; This function sets the Variable-Flavour Number Scheme (VFNS) for the PDF, αs , and α3 evolution. In practice this means that, if any heavy quark threshold is encountered during the evolution, the solutions of the DGLAP equation below and above the threshold itself will be properly matched. This option is used as a default. 1 APFEL :: SetFFNS ( int nfl ) ; This function, as opposed to SetVFNS, sets the Fixed-Flavour Number Scheme (FFNS) with nfl active flavours for the PDF, αs and α (and MS) evolution. This function forces the evolution to be done with nfl active flavours in any evolution range. The allowed values are nfl = 3, 4, 5 and 6. 1 APFEL :: SetAlphaQCDRef ( double alpharef , double Qref ) ; This function sets the reference values of the strong coupling √ αs at the scale Qref in GeV to alpharef. The default is alpharef = 0.35 at Qref = 2 GeV. 1 APFEL :: SetAlphaQEDRef ( double alpharef , double Qref ) ; This function sets the reference values of the QED coupling α at the scale Qref in GeV to alpharef. The default is alpharef = 7.496252·10−3 at Qref = 1.777 GeV. 1 APFEL :: SetLambdaQCDRef ( double lambdaref , int nref ) ; 3 In case the MS definition for the heavy quark masses is used (see below) and the running of the masses has been enabled, this function sets the VFNS also for the running of the heavy quark masses. 6 This function sets the value of ΛQCD in GeV with nref flavours to lambdaref. This value is used only if the lambda solution of the β-function equation (see below) is used to compute the running of αs . The default is lambdaref = 0.220 GeV with nref = 5. 1 APFEL :: SetPoleMasses ( double mc , double mb , double mt ) ; This function sets the values of the heavy quark thresholds in GeV and sets the pole-mass scheme as a renormalization scheme for the heavy quark masses. This function is used as √ a default with mc = 2 GeV, mb = 4.5 GeV, mt = 175 GeV. 1 2 3 APFEL :: SetMSbarMasses ( double mc , double mb , double mt ) ; sets the values of the heavy quark thresholds in GeV in the MSbar scheme . This function, as opposed to SetPoleMasses, sets the values of the heavy quark masses in GeV and sets the MS scheme as a renormalization scheme for the heavy quark masses. The reference scales at which the masses are defined can be specified using the SetMassScaleReference function (see below). 1 APFEL :: SetM assS caleR efer ence ( double Qc , double Qb , double Qt ) ; This function sets the reference scales in GeV at which heavy quark masses are given. This function is effective only if the MS definition for the heavy quark masses is used and has no effect if the pole masses are used. If this function is not called, APFEL will assume that the mass reference scales are equal to the masses themselves. In other words, in the absence of a call to this function when using the MS definition for the heavy quark masses, the SetMSbarMasses function will define mc (mc ), mb (mb ) and mt (mt ). If instead this function is called and the reference scales are found to be different from the masses themselves, the values of mc (mc ), mb (mb ) and mt (mt ) are also evaluated by applying the RG evolution as they are needed as thresholds for the VFNS evolution when using the MS definition for the heavy quark masses. 1 APFEL :: EnableMassRunning ( bool ) ; This function enables or disables the running of the MS masses. This is effective only if the SetMSbarMasses is also called and in practice switches on and off the solution RG equation of the heavy quark masses. The default is true. 1 APFEL :: SetTauMass ( double mtau ) ; This function sets the values of the τ lepton in GeV to mtau. This function is effective only if the evolution of the lepton PDFs is enabled (see below). The default is mtau = 1.777 GeV. 1 APFEL :: SetMaxFlavourAlpha ( int nf ) ; 7 This function sets the maximum number of active flavours in the evolution of the couplings αs and α (and the masses) to nf. In practice, this function forces the code not to match the solution of the β-function and γ-function equations at a given threshold if that threshold is above the maximum number allowed nf. The default is nf = 6. 1 APFEL :: SetMaxFlavourPDFs ( int nf ) ; This function sets the maximum number of active flavours in the evolution of PDFs to nf. In practice, this function forces the code not to match the solution of the DGLAP equation at a given threshold if that threshold is above the maximum number allowed nf. The default is nf = 6. 1 APFEL :: SetRenFacRatio ( double ratio ) ; This function sets the ratio between factorization scale µF (entering PDFs) and renormalization scale µR (entering the couplings and possibly the heavy quark masses) to ratio. If ratio is different from one, APFEL will assume that µR = µF / ratio and, as explained above, this gives rise to additional terms in the higher order splitting functions. The default is ratio = 1. 1 APFEL :: SetTimeLikeEvolution ( bool ) ; This function enables or disables the time-like evolution. This evolution, as opposed to the space-like evolution used for PDFs, is used to evolve fragmentation functions (FFs). The default is false. 1 APFEL :: SetSmallxResummation ( bool , string la ) ; This function enables or disables the small-x resummation in the evolution and set the logarithmic accuracy of the resummation to la. The possible options for la are "LL" and "NLL". The small-x resummation of the evolution relies on an external code called HELL that returns the difference between the fixed-order and the resummed splitting functions as explained above. By default, the small-x resummation is disabled. 1 APFEL :: SetAlphaEvolution ( string evol ) ; This function sets the solution of the β-function equations for the running couplings to evol. The variable evol can take the following strings: • "exact": the β-function equations are solved numerically in an exact way using the Runge-Kutta method. The boundary condition is given by the reference values of the coupling at the reference scales. • "expanded": the β-function equations are solved analytically by expanding the inverse of the β-function when computing the solution of the RG equation. See above for more details. The boundary condition is given by the reference values of the coupling at the reference scales. 8 • "lambda": the β-function equations are solved in an analytical way in terms of the Landau pole ΛQCD . See above for more details. It should be noticed that a different choice of evol only affects the running of αs beyond LO while the running of α, being computed always at LO, is left unchanged. The default is evol = "exact". 1 APFEL :: SetPDFEvolution ( string evolp ) ; This function sets the solution of the DGLAP equations for the evolution of PDFs to evolp. The variable evolp can take the following strings: • "exactmu": the DGLAP equation differential in the factorization scale µF is solved numerically in an exact way using the Runge-Kutta method. • "exactalpha": the DGLAP equation differential in the coupling αs is solved numerically in an exact way using the Runge-Kutta method. This solution is completely equivalent to exactmu. • "expandalpha": the DGLAP equation differential in the coupling αs is solved analytically by expanding the ratio between splitting functions and β-function. See above for more details. • "truncated": this solution mimics the N -space truncated solution and its implementation requires the numerical derivatives of the expandalpha solution. A detailed explanantion of the implementation of thsi particular solution is given above. In all cases the boundary conditions are given by the input initial scale PDFs. The default is evolp = "exactmu". 1 APFEL :: SetEpsilonTruncation ( double eps ) ; If the truncated evolution for PDFs has been chosen by calling the SetPDFEvolution function, the SetEpsilonTruncation function sets the truncation parameter used to compute the numerical dericatives to eps. 1 APFEL :: SetPDFSet ( string name ) ; This function sets the PDF set to be evolved to name. The string variable name can be the name of an LHAPDF set. This is needed to distinguish the LHAPDF sets from the other possible options available. Other possible options for name are: • "ToyLH": this option returns the so-called toy LH PDFs that have been conceived for benchmark purposes. Details can be found in Ref. ???. • "external": this option is useful to evolve an “external” set of PDFs provided by the user. If this option is chosen, APFEL will look for a routine called ExternalSetAPFEL whose structure is the following: 9 subroutine ExternalSetAPFEL(x,Q0,xf) where x and Q0 are the input values of the Bjorken variable and the scale in GeV, while xf(-6:7) is the output array whose entries from −6 to 6 are the usual quark and gluon distributions (times x) and the 7-th entry corresponds instead to the photon PDF. • "external1": This option is completely analogous to external with the only difference that the name of the routined expected is now ExternalSetAPFEL1. A second slot for an external set might be useful in some cases if the user want to evolve a second PDF set in the same code. • "repexternal": This option is an extension of the previous two and the only difference is that the code expects a soubroutine called ExternalSetAPFELRep whose structure is: subroutine ExternalSetAPFELRep(x,Q0,irep,xf) where, in addition to the entries discussed above, there is the integer irep that identifies the irep-th replica of the input set. This option might be useful is the input set has more than one replica but it’s not directly an LHAPDF set. • "leptexternal": This option is a further extension of the original external option in that it also provides as an output the lepton PDFs. In particular, if this option is chosen, the code looks for a subroutine called ExternalSetAPFELLept whose structure is the following: subroutine ExternalSetAPFELLept(x,Q0,irep,xf,xl) where there is the additional output array xl(-3:3) whose entries correspond to: xl(-3) = xτ + (x, Q0 ), xl(-2) = xµ+ (x, Q0 ), xl(-1) = xe+ (x, Q0 ), xl(0) = xγ(x, Q0 ), xl(1) = xe− (x, Q0 ), xl(2) = xµ− (x, Q0 ), xl(3) = xτ − (x, Q0 ). In addition, as compared to the options above, the index of the array xf now runs from -6 to 6 (and no longer to 7) as the photon PDF is now the 0-th entry of the array xl. • "pretabulated": This option is mainly conceived for an internal purposes but the user the expert user might want to exploit it becuase it allows one to evolve PDF sets whose functional form is not know as it makes possible to evolve PDFs starting from their value in a finite number of points. However, it is necessary to know the full structure of the internal grids used by APFEL. This information is anyway 10 (partially) accessible using some ad hoc functions of APFEL.In particular, if this option is chosen, the codes looks for a subroutine called pretabulatedPDFs with the following structure: pretabulatedPDFs(igrid,alpha,xf,xl) where the integer igrid identifies the subgrid and the integer alpha runs over the nodes of the igrid-th grid. Again, xf(-6:6) and xl(-3:3) are the quark and gluon, and the lepton and photon PDFs. • "pretabulated1": This option is a copy of pretabulated and the only difference is that in this case the code looks for a subroutine called pretabulatedPDFs1 have the very same structure of that shown above. • "apfel": This option is again conceived for internal purposes but it might turn out to be useful if a higher performance of the evolution is required. If the apfel option is chosen, the code will use as initial PDFs the PDFs evolved from a previous call of the function EvolveAPFEL. Of course, this requires that a previous evolution with a PDF set different from apfel exists. This might be convenient when one want to tabulate PDFs over a grid in Q in a faster way. In fact, using the apfel option allows one to split a wide range in Q into small sequential steps without the need to do every single evolution starting from the same initial scale. This is convenient because the execution time is proportional to the wideness of the energy range covered by the evolution. There are other options that are strictly used for internal purposes and thus there is no need to list them here. The default is name = "ToyLH". 1 APFEL :: SetReplica ( int nr ) ; This function selects the member or replica of the PDF set to be evolved to nr. This function is effective only if an LHAPDF set is used and, of course, the integer nr must be within zero and the maximum number of members/replicas contained in the LHAPDF set in use. The default is default nr = 0, that is, according to the LHAPDF convention, the central member. 1 APFEL :: SetQLimits ( double Qmin , double Qmax ) ; This function sets the energy range in GeV within which the evolution is allowed. In practice, for a given pair of Qmin and Qmax, the initial scale Q0 and the final scale Q of any evolution must be such that Qmin < Q0, Q < Qmax. The default is Qmin = 0.5 GeV and Qmax = 100000 GeV. 1 APFEL :: SetNumberOfGrids ( int ng ) ; This function sets the number of internal x-space subgrids to be used by APFEL to ng. The parameters of the single grids must be specified grid by grid using the SetGridParameters function discussed below. The default is ng = 3. 11 1 APFEL :: SetGridParameters ( int i , int n , int deg , double x ) ; This function must always be associated with one call to the SetNumberOfGrids function described above. It sets the parameter of the i-th subgrid where i must run from 1 to ng and thus there must be exactly ng calls to SetGridParameters. n corresponds to the number intervals (not nodes) of the i-th subgrid, deg identifies the degree of the lagrange polynomials and thus it is bound to be bigger than zero, and finally x is lower bound of the grid being the upper bound always assumed to be 1. It is necessary that the value of x is increasingly bigger as the index igrid increases. In practice this mean that the lower bound of the igrid-th subgrid must be in the range covered by the (igrid - 1)-th subgrid. 1 2 3 4 5 1 2 1 2 1 2 3 4 1 2 3 1 2 3 APFEL :: SetExternalGrid ( int i , int np , int deg , double * x ) ; sets the external grid in the position i with np intervals , interpolation degree deg . x must be a one - dimentional array with upper bound in 1 ( there cannot be more than 1 external grid ) . APFEL :: SetFastEvolution ( bool ) ; sets the fast PDF evolution ( default true ) . APFEL :: GetVersion () ; returns the APFEL version in use . APFEL :: EnableWelcomeMessage ( bool ) ; enables the printing of the welcome message with the APFEL banner and the report of the evolution parameters ( default true ) . APFEL :: E na b le Ev o lu t io nO p er a to r ( bool ) ; enables the computation of the external evolution parameters ( default false ) . APFEL :: Enab leLe ptonE volu tion ( bool ) ; enables the evolution of the lepton PDFs when the fast QUniD is used ( default false ) . 2 APFEL :: LockGrids ( bool ) ; locks the subgrids ( default false ) . 1 APFEL :: CleanUp () ; 1 12 2 3 1 2 3 1 2 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 resets all the evolution parameters to the default settings . APFEL :: SetLHgridParameters ( int nx , int nxm , double xmin , double xm , ←double xmax , int nq2 , double q2min , double q2max ) ; sets the parameters of the grid over which PDFs will be tabulated in the LHAPDF format . APFEL :: ListFunctions () ; lists all the functions available in APFEL . Initialization functions : APFEL :: InitializeAPFEL () ; initializes the APFEL library . If no settings has been specified , it uses the default ones . APFEL :: EvolveAPFEL ( double Q0 , double Q ) ; evolves PDFs on the grid to the scale Q [ GeV ] starting from the scale Q0 [ GeV ]. APFEL :: DeriveAPFEL ( double Q ) ; computes the logarithmic derivative with respect of Q of PDFs at the scale Q [ GeV ]. Output functions : APFEL :: xPDF ( int i , double x ) and xgamma ( double x ) ; return " x " times the i - th and the photon PDF in " x " at the final scale " Q " [ GeV ] defined in " EvolveAPFEL " . APFEL :: xPDFall ( double x , double * xf ) ; returns at once " x " times all the PDF in the array xf [ -6:6] computed in " x " at the final scale " Q " [ GeV ] defined in " EvolveAPFEL " . APFEL :: xPDFj ( int i , double x ) and xgammaj ( double x ) ; return " x " times the i - th and the photon PDF in " x " at the final scale " Q " [ GeV ] defined in " EvolveAPFEL " interpolated on the joint grid . APFEL :: dxPDF ( int i , double x ) and dxgamma ( double x ) ; return " x " times the derivative in ln ( Q ^2) of the i - th and the photon PDF in " x " at the scale " Q " [ GeV ] defined in " DeriveAPFEL " . APFEL :: NPDF ( int i , int N ) and Ngamma ( int N ) ; return the N - th moment of the i - th and the photon PDF the final scale " Q " [ GeV ] defined in " EvolveAPFEL " . APFEL :: LUMI ( int i , int j , double S ) ; returns the partonic luminosity of the i - th and j - th partons for the CoM energy S [ GeV ^2] for the final invariant mass Mx = Q [ GeV ] defined in " EvolveAPFEL " . APFEL :: AlphaQCD ( double Q ) ; returns the QCD strong coupling alpha_s at the 13 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 1 scale " Q " [ GeV ]. APFEL :: AlphaQED ( double Q ) ; returns the QED coupling alpha at the scale " Q " [ GeV ]. APFEL :: HeavyQuarkMass ( int i , double Q ) ; returns the mass of the i - th heavy quark ( i = 4 ,5 ,6) scale " Q " [ GeV ] ( the masses run only when using the MSbar scheme ) . APFEL :: nIntervals () ; returns the number of intervals of the joint grid . APFEL :: xGrid ( int alpha ) ; returns the value of " x " on the alpha - th node of the joint grid . APFEL :: GetPerturbativeOrder () ; returns the perturbative order set for the evolution APFEL :: E x t e r n a l E v o l u t i o n O p e r a t or ( string fname , int i , int j , double x , ←int beta ) ; returns the PDF evolution operator . APFEL :: LHAPDFgrid ( int Nrep , double Qin , string fname ) ; produces a PDF interpolation grid in the LHAPDF format . APFEL :: LHAPDFgridDerivative ( int Nrep , string fname ) ; produces an interpolation grid in the LHAPDF format for the derived PDFs . ---- Functions of the DIS module ---- 2 3 Initialization functions : 4 5 6 7 8 9 10 11 APFEL :: InitializeAPFEL_DIS () ; initializes the DIS module . If no settings has been specified , it uses the default ones . APFEL :: C o m p u t e S t r u c t u r e F u n c t i o n s A P F E L ( double Q0 , double Q ) ; computes the DIS structure functions on the grid at the scale " Q " [ GeV ] applying also the PDF evolution from the initial scale " Q0 " [ GeV ]. 12 13 Setting functions : 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 APFEL :: SetMassScheme ( string ms ) ; sets the mass scheme to be used to compute the structure functions ( " ms " = " ZM - VFNS " , " FFNS " , " FONLL - A " , " FONLL - B " , " FONLL - C " , default " ms " = " ZM - VFNS " ) . APFEL :: SetPolarizationDIS ( double pol ) ; sets the beam polarization ( default " pol " = 0) . APFEL :: SetProcessDIS ( string pr ) ; sets process ( " pr " = " EM " , " NC " , " CC " , default " pr " = " EM " ) . APFEL :: SetProjectileDIS ( string lept ) ; sets the projectile ( " lept " = " electron " , " positron " , " neutrino " , " antineutrino " , default " lept " = " electron " ) . 14 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 APFEL :: SetTargetDIS ( string tar ) ; sets the target ( " tar " = " proton " , " neutron " , " isoscalar " , " iron " , default " tar " = " proton " ) APFEL :: SetZMass ( double massz ) ; sets the value of the mass of the Z boson ( default " massz " = 91.1876 GeV ) . APFEL :: SetWMass ( double massw ) ; sets the value of the mass of the W boson ( default " massw " = 80.385 GeV ) . APFEL :: SetProtonMass ( double massp ) ; sets the value of the mass of the proton ( default " massp " = 0.938272046 GeV ) . APFEL :: SetSin2ThetaW ( double sw ) ; sets the value of sin ^2( theta_W ) ( default " sw " = 0.23126) . APFEL :: SetGFermi ( double gf ) ; sets the value of Fermi constant ( default " gf " = 1.1663787 e -5) . APFEL :: SetCKM ( double vud , double vus , double vub , double vcd , double vcs , double vcb , double vtd , double vts , double vtb ) ; sets the absolute value of the entries of the CKM matrix ( default : 0.97427 d0 , 0.22536 d0 , 0.00355 d0 , 0.22522 d0 , 0.97343 d0 , 0.04140 d0 , 0.00886 d0 , 0.04050 d0 , 0.99914 d0 ) . APFEL :: SetRenQRatio ( double ratio ) ; sets the ratio muR / Q ( default 1) APFEL :: SetFacQRatio ( double ratio ) ; sets the ratio muF / Q ( default 1) APFEL :: E n a b l e D y n a m i c a l S c a l e V a r i a t i o n s ( bool ) ; enables or disables the possibility to perform fact / ren scale variations point by point without requiring the ratio \ mu_ {R , F } / Q to be constant . Limitations : \ mu_F = \ mu_R and slower code . APFEL :: E n a b l e T a r g e t M a s s C o r r e c t i o n s ( bool ) ; enables or disables the target mass corrections to the DIS structure functions due to the finite mass of the proton . APFEL :: EnableDampingFONLL ( bool ) ; enables or disables the damping factor when the FONLL structure functions are computed . APFEL :: SelectCharge ( string selch ) ; selects one particular charge in the NC structure functions ( " selch " = " down " , " up " , " strange " , " charm " , " bottom " , " top " , " all " , default " selch " = " all " ) APFEL :: S et P ro pa g at o rC or r ec t io n ( double dr ) ; sets the correction to the Z propagator involved in the NC DIS structure functions ( default " dr " = 0) . APFEL :: SetEWCouplings ( double vd , double vu , double ad , double au ) ; sets the vector and axial couplings of the up and down - type quarks . If they are not set by the user the standard couplinglings are used . 84 15 85 Output functions : 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 APFEL :: F2light ( double x ) , F2charm ( double x ) , F2bottom ( double F2top ( double x ) , F2total ( double x ) ; APFEL :: FLlight ( double x ) , FLcharm ( double x ) , FLbottom ( double FLtop ( double x ) , FLtotal ( double x ) ; APFEL :: F3light ( double x ) , F3charm ( double x ) , F3bottom ( double F3top ( double x ) , F3total ( double x ) ; return the F2 , FL and xF3 struncture functions in " x " at the final scale " Q " [ GeV ] defined in " ComputeStructureFunctionsAPFEL ". APFEL :: GetZMass () ; returns the value of the mass of the Z boson APFEL :: GetWMass () ; returns the value of the mass of the W boson APFEL :: GetProtonMass () ; returns the value of the mass of the proton APFEL :: GetSin2ThetaW () ; returns the value of sin ^2( theta_W ) APFEL :: GetGFermi () ; returns the value of Fermi constant APFEL :: GetCKM ( int u , int d ) ; returns the absolute value of the (u , d ) entry of the CKM matrix APFEL :: G et S IA To t al C ro ss S ec t io n ( int pto , double Q ) ; returns the SIA total cross section in natural units at the perturbative order " pto " and at the scale " Q " in GeV ( only for time - like evolution ) . APFEL :: ExternalDISOperator ( string SF , int ihq , int i , double beta ) ; returns the DIS operators . x), x), x), x , int ←- 115 116 Special functions for the production of FK tables : 117 118 119 120 121 122 123 APFEL :: SetFKObservable ( string obs ) ; APFEL :: GetFKObservable () ; APFEL :: FKSimulator ( string obs , double x , double q , double y , int i , int←beta ) ; APFEL :: FKObservables ( string obs , double x , double q , double y ) ; APFEL :: C o m p u t e H a r d C r o s s S e c t i o n s D Y ( string inputfile , string outputfile ) ; APFEL :: ComputeFKTables ( string inputfile , double Q0 , int flmap [196]) ; Using the dafualt settings of APFEL this is how the evolution banner would look like: 1 2 3 4 5 6 7 8 Welcome to _/_/_/ _/_/_/_/ _/_/_/_/ _/_/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/_/_/ _/_/_/_/ _/_/_/ _/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/_/_/ _/_/_/_/ _____v2 .6.1 A PDF Evolution Library , arXiv :1310.1394 Authors : V . Bertone , S . Carrazza , J . Rojo 9 10 Report of the evolution parameters : 11 12 QCD evolution 16 13 14 15 16 17 18 19 20 21 22 23 Space - like evolution ( PDFs ) Evolution scheme : VFNS at N2LO Solution of the DGLAP equation : " exactmu " with maximum 6 active flavours Solution of the coupling equations : " exact " with maximum 6 active ←flavours Coupling reference value : - AlphaQCD ( 1.4142 GeV ) = 0.350000 Pole heavy quark thresholds : - Mc = 1.414 GeV - Mb = 4.500 GeV - Mt = 175.000 GeV muR / muF = 1.0000 24 25 26 Allowed evolution range [ Fast evolution enabled 0.50 : 100000.00 ] GeV As clear, the most important settings are reported in the banner and we recommand to consult the banner every time that APFEL is run to make sure that the desired setting are actually used. Here is the complete set of default settings used by APFEL: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 APFEL :: EnableWelcomeMessage ( true ) ; APFEL :: SetQLimits (0.5 ,100000) ; APFEL :: SetPerturbativeOrder (2) ; APFEL :: SetVFNS APFEL :: SetTheory ( " QCD " ) ; APFEL :: SetFastEvolution ( true ) ; APFEL :: SetTimeLikeEvolution ( false ) ; APFEL :: SetSmallxResummation ( false , " NLL " ) ; APFEL :: SetAlphaQCDRef (0.35 , sqrt (2) ;) ; APFEL :: SetAlphaQEDRef (7.496252 e -3 ,1.777) ; APFEL :: SetLambdaQCDRef (0.220 ,5) ; APFEL :: SetEpsilonTruncation (1 e -5) ; APFEL :: SetAlphaEvolution ( " exact " ) ; APFEL :: SetPDFEvolution ( " exactmu " ) ; APFEL :: SetRenFacRatio (1) ; APFEL :: SetPoleMasses ( sqrt (2) ,4.5 ,175) ; APFEL :: SetM assS caleR efer ence ( sqrt (2) ,4.5 ,175) ; APFEL :: SetTauMass (1.777) ; APFEL :: EnableMassRunning ( true ) ; APFEL :: SetMaxFlavourPDFs (6) ; APFEL :: SetMaxFlavourAlpha (6) ; APFEL :: SetPDFset ( " ToyLH " ) ; APFEL :: SetReplica (0) ; APFEL :: E na b le Ev o lu t io nO p er a to r ( false ) ; APFEL :: Enab leLe ptonE volu tion ( false ) ; APFEL :: LockGrids ( false ) ; APFEL :: SetLHgridParameters (100 ,50 ,1 e -9 ,1 e -1 ,1 ,50 ,1 ,1 e10 ) ; APFEL :: SetNumberOfGrids (3) ; APFEL :: SetGridParameters (1 ,80 ,3 ,1 e -5) ; APFEL :: SetGridParameters (2 ,50 ,5 ,1 e -1) ; APFEL :: SetGridParameters (3 ,40 ,5 ,8 e -1) ; As an illustration, if the user wants to perform the QCD evolution at NLO instead of the default NNLO, she/he needs to add to the code above, before the initialization routine 17 InitializeAPFEL, a call to the corresponding function, that is: 1 APFEL :: S etPerturbativeOrder (1) ; or if the user wants to use as a boundary condition for the PDF evolution a particular set available through the LHAPDF interface, say NNPDF23 nlo as 0118 qed.LHgrid, she/he needs to call before the initialization the following function: 1 APFEL :: SetPDFSet ( " N NP D F2 3_ n lo _ as _0 1 18 _ qe d . LHgrid " ) ; By default, APFEL will use the central replica of the selected PDF set. Varying any other setting is similar, various example programs have been collected in the examples folder in the APFEL source folder. When modifying the default settings, particular care must be taken with the number of interpolation grids, the number of points in each grid and the order of the interpolation. The default settings in APFEL use three grids whose ranges and number of points have been tuned to give accurate and fast results over a wide range of x. If the default parameters are modified, the user should check that the accuracy is still good enough, by comparing for instance with another run of APFEL with the default interpolation parameters. The folder examples in the APFEL source directory contains several examples that further illustrate the functionalities of the code, and that can be used by the user as a starting point towards a program that suits her/his particular physics needs. All these examples are available in the three possible interfaces to APFEL: Fortran 77, C/C++ and Python. 3 The DIS module 18
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.5 Linearized : No Page Count : 18 Page Mode : UseOutlines Author : Title : Subject : Creator : LaTeX with hyperref package Producer : pdfTeX-1.40.16 Create Date : 2018:06:18 13:21:48+02:00 Modify Date : 2018:06:18 13:21:48+02:00 Trapped : False PTEX Fullbanner : This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015) kpathsea version 6.2.1EXIF Metadata provided by EXIF.tools