]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HERWIG/src/hwualf.f
Private copy constructors and assignment operators without implementation (Effective...
[u/mrichter/AliRoot.git] / HERWIG / src / hwualf.f
CommitLineData
3820ca8e 1
2CDECK ID>, HWUALF.
3
4*CMZ :- -15/07/92 14.08.45 by Mike Seymour
5
6*-- Author : Bryan Webber
7
8C-----------------------------------------------------------------------
9
10 FUNCTION HWUALF(IOPT,SCALE)
11
12C-----------------------------------------------------------------------
13
14C STRONG COUPLING CONSTANT
15
16C IOPT.EQ.0 INITIALIZES
17
18C .EQ.1 TWO-LOOP, FLAVOUR THRESHOLDS
19
20C .EQ.2 RATIO OF ABOVE TO ONE-LOOP
21
22C WITH 5-FLAVOUR BETA, LAMBDA=QCDL3
23
24C .EQ.3 ONE-LOOP WITH 5-FLAVOUR BETA, LAMBDA=QCDL3
25
26C-----------------------------------------------------------------------
27
28 INCLUDE 'HERWIG61.INC'
29
30 DOUBLE PRECISION HWUALF,SCALE,KAFAC,B3,B4,B5,B6,C3,C4,C5,C6,C35,
31
32 & C45,C65,D35,RHO,RAT,RLF,DRH,EPS
33
34 INTEGER IOPT,ITN
35
36 SAVE B3,B4,B5,B6,C3,C4,C5,C6,C35,C45,C65,D35
37
38 DATA EPS/1.D-6/
39
40 IF (IOPT.EQ.0) THEN
41
42C---INITIALIZE CONSTANTS
43
44 CAFAC=FLOAT(NCOLO)
45
46 CFFAC=FLOAT(NCOLO**2-1)/(2.*CAFAC)
47
48 B3=((11.*CAFAC)- 6.)/(12.*PIFAC)
49
50 B4=((11.*CAFAC)- 8.)/(12.*PIFAC)
51
52 B5=((11.*CAFAC)-10.)/(12.*PIFAC)
53
54 B6=((11.*CAFAC)-12.)/(12.*PIFAC)
55
56 BETAF=6.*PIFAC*B5
57
58 C3=((17.*CAFAC**2)-(5.*CAFAC+3.*CFFAC)*3.)/(24.*PIFAC**2)/B3**2
59
60 C4=((17.*CAFAC**2)-(5.*CAFAC+3.*CFFAC)*4.)/(24.*PIFAC**2)/B4**2
61
62 C5=((17.*CAFAC**2)-(5.*CAFAC+3.*CFFAC)*5.)/(24.*PIFAC**2)/B5**2
63
64 C6=((17.*CAFAC**2)-(5.*CAFAC+3.*CFFAC)*6.)/(24.*PIFAC**2)/B6**2
65
66 KAFAC=CAFAC*(67./18.-PIFAC**2/6.)-25./9.
67
68C---QCDLAM IS 5-FLAVOUR LAMBDA-MS-BAR AT LARGE X OR Z
69
70C---QCDL5 IS 5-FLAVOUR LAMBDA-MC
71
72 QCDL5=QCDLAM*EXP(KAFAC/(4.*PIFAC*B5))/SQRT(2.D0)
73
74C---COMPUTE THRESHOLD MATCHING
75
76 RHO=2.*LOG(RMASS(6)/QCDL5)
77
78 RAT=LOG(RHO)/RHO
79
80 C65=(B5/(1.-C5*RAT)-B6/(1.-C6*RAT))*RHO
81
82 RHO=2.*LOG(RMASS(5)/QCDL5)
83
84 RAT=LOG(RHO)/RHO
85
86 C45=(B5/(1.-C5*RAT)-B4/(1.-C4*RAT))*RHO
87
88 RHO=2.*LOG(RMASS(4)/QCDL5)
89
90 RAT=LOG(RHO)/RHO
91
92 C35=(B4/(1.-C4*RAT)-B3/(1.-C3*RAT))*RHO+C45
93
94C---FIND QCDL3
95
96 D35=-1./(B3*C35)
97
98 DO 10 ITN=1,100
99
100 RAT=LOG(D35)/D35
101
102 RLF=B3*D35/(1.-C3*RAT)
103
104 DRH=B3*(RLF+C35)*D35**2/((1.-2.*C3*RAT+C3/D35)*RLF**2)
105
106 D35=D35-DRH
107
108 IF (ABS(DRH).LT.EPS*D35) GOTO 20
109
110 10 CONTINUE
111
112 20 QCDL3=QCDL5*EXP(0.5*D35)
113
114 ENDIF
115
116 IF (SCALE.LE.QCDL5) CALL HWWARN('HWUALF',51,*999)
117
118 RHO=2.*LOG(SCALE/QCDL5)
119
120 IF (IOPT.EQ.3) THEN
121
122 IF (RHO.LE.D35) CALL HWWARN('HWUALF',52,*999)
123
124 HWUALF=1./(B5*(RHO-D35))
125
126 RETURN
127
128 ENDIF
129
130 RAT=LOG(RHO)/RHO
131
132 IF (SCALE.GT.RMASS(6)) THEN
133
134 RLF=B6*RHO/(1.-C6*RAT)+C65
135
136 ELSEIF (SCALE.GT.RMASS(5)) THEN
137
138 RLF=B5*RHO/(1.-C5*RAT)
139
140 ELSEIF (SCALE.GT.RMASS(4)) THEN
141
142 RLF=B4*RHO/(1.-C4*RAT)+C45
143
144 ELSE
145
146 RLF=B3*RHO/(1.-C3*RAT)+C35
147
148 ENDIF
149
150 IF (RLF.LE.ZERO) CALL HWWARN('HWUALF',53,*999)
151
152 IF (IOPT.EQ.1) THEN
153
154 HWUALF=1./RLF
155
156 ELSE
157
158 HWUALF=B5*(RHO-D35)/RLF
159
160 IF (HWUALF.GT.ONE) CALL HWWARN('HWUALF',54,*999)
161
162 ENDIF
163
164 RETURN
165
166 999 HWUALF=ZERO
167
168 END