]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ISAJET/isasusy/sualfs.F
enum moved from AliRun to AliStack
[u/mrichter/AliRoot.git] / ISAJET / isasusy / sualfs.F
1 #include "isajet/pilot.h"
2 C----------------------------------------------------------------------
3       FUNCTION SUALFS(QSQ,ALAM4,TMASS,LOOP)
4 C----------------------------------------------------------------------
5 C
6 C       This function returns the 1, 2, or 3-loop value of alpha_s
7 C       Input:
8 C               QSQ     = Q**2 (real)
9 C               ALAM4   = Lambda for 4 active quark flavors (real)
10 C               TMASS   = top quark mass to determine lambda-6 (real)
11 C               LOOP    = number of loops for alpha_s (= 1, 2 or 3)
12 C       Parametrization of the strong coupling constant according to
13 C       LOOP = 1, 2 : from the book;
14 C       LOOP = 3:     W. J. Marciano, Phys. Rev. D 29 (1984) 580.
15 C       Note : threshold at 2*Mq
16 C
17 #if defined(CERNLIB_IMPNONE)
18       IMPLICIT NONE
19 #endif
20 #include "isajet/sslun.inc"
21       REAL SUALFS, QSQ, ALAM4, TMASS
22       INTEGER LOOP
23       REAL PI, BMASS
24       REAL ANF, ALAM, ALAMSQ, ALAM5, T, TT, B0, B1, B2, X, ALPHAS
25       DATA PI/3.1415927/, BMASS/5.0/
26 C
27       IF (QSQ .LT. 4.0*BMASS**2) THEN
28         ANF   = 4.0
29         ALAM  = ALAM4
30       ELSE IF (QSQ .LT. 4.0*TMASS**2) THEN
31         ANF   = 5.0
32         ALAM  = ALAM4*(ALAM4/(2.0*BMASS))**(2.0/23.0)
33      1           *(ALOG(4.0*BMASS**2/ALAM4**2))**(-963.0/13225.0)
34       ELSE
35         ANF   = 6.0
36         ALAM5 = ALAM4*(ALAM4/(2.0*BMASS))**(2.0/23.0)
37      1           *(ALOG(4.0*BMASS**2/ALAM4**2))**(-963.0/13225.0)
38         ALAM  = ALAM5*(ALAM5/(2.0*TMASS))**(2.0/21.0)
39      1           *(ALOG(4.0*TMASS**2/ALAM5**2))**(-107.0/1127.0)
40       END IF
41       B0       = 11.0-2.0/3.0*ANF
42       ALAMSQ   = ALAM**2
43       T        = ALOG(QSQ/ALAMSQ)
44       IF (T .LE. 1.0) T = ALOG(4.0/ALAMSQ)
45       ALPHAS   = 4*PI/B0/T
46       IF (LOOP .EQ. 1) THEN
47         SUALFS = ALPHAS
48       ELSE IF (LOOP .EQ. 2) THEN
49         B1 = 102.0-38.0/3.0*ANF
50         X  = B1/(B0**2*T)
51         TT = ALOG(T)
52         SUALFS = ALPHAS*(1.0-X*TT)
53       ELSE IF (LOOP .EQ. 3) THEN
54         B1 = 102.0-38.0/3.0*ANF
55         B2 = 0.5*(2857.0-5033.0/9.0*ANF+325.0/27.0*ANF**2)
56         X  = B1/(B0**2*T)
57         TT = ALOG(T)
58         SUALFS = ALPHAS*(1.0-X*TT+X**2*((TT-0.5)**2
59      $      +B2*B0/B1**2-1.25))
60       ELSE
61         WRITE(LOUT,*) ' WRONG LOOP NUMBER IN ALPHA-S EVALUATION!'
62         STOP 99
63       END IF
64 C
65       RETURN
66       END