]>
Commit | Line | Data |
---|---|---|
21886bb6 | 1 | * |
2 | * $Id$ | |
3 | * | |
4 | * $Log$ | |
7ef50f50 | 5 | * Revision 1.4 2000/09/18 10:02:36 hristov |
6 | * Makefile added to PDF8 | |
7 | * | |
21886bb6 | 8 | * Revision 1.1.1.2 1996/10/30 08:30:46 cernlib |
9 | * Version 7.04 | |
10 | * | |
11 | * Revision 1.1.1.1 1996/04/12 15:29:46 plothow | |
12 | * Version 7.01 | |
13 | * | |
14 | * | |
15 | #include "pdf/pilot.h" | |
16 | c------------------------------------------------------- | |
17 | subroutine SFWHI5(ZX,ZQ,ZUV,ZDV,ZUB,ZDB,ZSB,ZCB,ZGL) | |
18 | c------------------------------------------------------- | |
19 | c WHIT5 parton distribution in the photon | |
20 | c | |
21 | c INPUT: integer ic : if ic=0 then qc=0 | |
22 | c else qc is calculated | |
23 | c DOUBLE PRECISION Q2 : energy scale Q^2 (GeV^2) | |
24 | c DOUBLE PRECISION x : energy fraction | |
25 | c | |
26 | c OUTPUT: DOUBLE PRECISION qu : up-quark dist. | |
27 | c DOUBLE PRECISION qd : down- or strange-quark dist. | |
28 | c DOUBLE PRECISION qc : charm-quark dist. | |
29 | c DOUBLE PRECISION g : gluon dist. | |
30 | c------------------------------------------------------- | |
31 | c Modified by M.Tanaka on July 22, 1994. | |
32 | c The bug pointed out by M.Drees is fixed. | |
33 | c------------------------------------------------------- | |
34 | c Modified by I.Watanabe on July 22, 1994. | |
35 | c------------------------------------------------------- | |
36 | implicit none | |
37 | external WHIT5G | |
7ef50f50 | 38 | #if defined(CERNLIB_DOUBLE) |
39 | DOUBLE PRECISION | |
40 | #endif | |
41 | #if defined(CERNLIB_SINGLE) | |
42 | REAL | |
43 | #endif | |
21886bb6 | 44 | + ZX,ZQ,ZUV,ZDV,ZUB,ZDB,ZSB,ZCB,ZGL |
45 | c arg | |
46 | integer ic | |
47 | DOUBLE PRECISION Q2,x | |
48 | DOUBLE PRECISION qu,qd,qc,g | |
49 | c const | |
50 | DOUBLE PRECISION q42it,q52it,lam42,lam52 | |
51 | DOUBLE PRECISION alinv,mc,PI | |
52 | c local | |
53 | DOUBLE PRECISION qv,qsea,cv,cs,dcv,dcs | |
54 | DOUBLE PRECISION A0val,A1val,A2val,Bval,Cval, | |
55 | $ A0sea,B0sea,BB0sea,C0sea | |
56 | DOUBLE PRECISION A0dcv,A1dcv,A2dcv,A3dcv,Bdcv,Cdcv | |
57 | DOUBLE PRECISION Adcs, B0dcs, B1dcs, Cdcs | |
58 | DOUBLE PRECISION x1,x2,mc2q2 | |
59 | DOUBLE PRECISION s,s2,s3,s4,prsccf,alstpi | |
60 | DOUBLE PRECISION WHIT5G | |
61 | c parameters | |
62 | parameter(lam42=0.16d0, lam52=0.091411319d0) | |
63 | parameter(Q42IT=4.0d0, Q52IT=100.0d0) | |
64 | parameter(alinv=137.036d0, mc=1.5d0) | |
65 | parameter(pi=3.14159265358979323846d0) | |
66 | common /scale/ s,s2,s3,s4,prsccf | |
67 | c | |
68 | c begin | |
69 | x=ZX | |
70 | Q2=ZQ*ZQ | |
71 | ic=1 | |
72 | c | |
73 | x1=1.0d0-x | |
74 | x2=x**2 | |
75 | mc2q2=mc**2/Q2 | |
76 | c | |
77 | if(Q2.lt.100.0d0) then | |
78 | c under 100 GeV^2 | |
79 | c | |
80 | c set scale s | |
81 | if(Q2.lt.4.0d0) then | |
82 | cccc for under 4GeV^2 prescription | |
83 | s= 0.0d0 | |
84 | prsccf = log(Q2/LAM42)/ log(Q42IT/LAM42) | |
85 | alstpi = 6.0d0/25.0d0/ log(Q42IT/LAM42) | |
86 | else | |
87 | s= log( log(Q2/LAM42)/ log(Q42IT/LAM42)) | |
88 | prsccf = 1.0d0 | |
89 | alstpi = 6.0d0/25.0d0/ log(Q2/LAM42) | |
90 | endif | |
91 | s2=s**2 | |
92 | s3=s2*s | |
93 | s4=s2**2 | |
94 | c | |
95 | cccccc WHIT5 quark (U100) | |
96 | c | |
97 | A0val= 2.540000d+00+s*( 2.000000d+00)+s2*( 7.180000d-01) | |
98 | A1val= 6.230000d-02+s*(-7.010000d+00)+s2*( 1.251000d-01) | |
99 | A2val=-1.642000d-01+s*(-4.360000d-01)+s2*( 1.048000d+01) | |
100 | $ +s3*(-5.200000d+00) | |
101 | Bval = 6.990000d-01+s*(-2.796000d-02)+s2*(-3.650000d-03) | |
102 | Cval = 4.420000d-01+s*(-1.255000d+00)+s2*( 1.941000d+00) | |
103 | $ +s3*(-9.950000d-01) | |
104 | A0sea= 2.227000d+00+s*( 5.720000d+00)+s2*(-1.295000d+01) | |
105 | $ +s3*( 7.220000d+00)+s4*(-2.514000d-01) | |
106 | B0sea=-8.810000d-02+s*( 1.465000d-01)+s2*(-9.750000d-01) | |
107 | $ +s3*( 7.820000d-01)+s4*(-2.074000d-01) | |
108 | BB0sea=3.370000d+00+s*( 1.416000d+01)+s2*(-3.150000d+01) | |
109 | $ +s3*( 2.789000d+01)+s4*(-8.710000d+00) | |
110 | C0sea= 1.581000d+01+s*(-3.630000d+01)+s2*( 7.710000d+01) | |
111 | $ +s3*(-7.810000d+01)+s4*( 2.948000d+01) | |
112 | c | |
113 | qv = prsccf/alinv/x* | |
114 | $ (A0val+A1val*x+A2val*x2) * x**Bval * x1**Cval | |
115 | qsea= prsccf/alinv/x* | |
116 | $ A0sea * x**(B0sea+BB0sea*x) * x1**C0sea | |
117 | c | |
118 | qu = qv/3.0d0 + qsea/6.0d0 | |
119 | qu = qu*x | |
120 | ZUV=qu | |
121 | ZUB=qu | |
122 | qd = qv/12.0d0 + qsea/6.0d0 | |
123 | qd = qd*x | |
124 | ZDV=qd | |
125 | ZDB=qd | |
126 | ZSB=qd | |
127 | c | |
128 | if((ic.ne.0) .and. (x*(1.0d0+4.0d0*mc2q2).lt.1.0d0)) then | |
129 | call WHIT5Q(x,mc2q2,cv,cs) | |
130 | qc = cv/alinv/2.0d0/PI + cs*alstpi | |
131 | qc = qc*x | |
132 | ZCB=qc | |
133 | else | |
134 | qc = 0.0d0 | |
135 | ZCB=qc | |
136 | endif | |
137 | c | |
138 | g = WHIT5G(x,Q2) | |
139 | g = g*x | |
140 | ZGL=g | |
141 | c | |
142 | else | |
143 | c over 100 GeV^2 | |
144 | c | |
145 | c set scale s | |
146 | s= log( log(Q2/LAM52)/ log(Q52IT/LAM52)) | |
147 | prsccf = 1.0d0 | |
148 | alstpi = 6.0d0/23.0d0/ log(Q2/LAM52) | |
149 | s2=s**2 | |
150 | s3=s2*s | |
151 | s4=s2**2 | |
152 | c | |
153 | cccccc WHIT5 quark (O100) | |
154 | c | |
155 | A0val= 4.270000d+00+s*( 3.096000d+00)+s2*( 1.617000d+00) | |
156 | A1val=-4.740000d+00+s*(-6.900000d+00)+s2*(-2.417000d+00) | |
157 | A2val= 2.837000d+00+s*( 6.470000d+00)+s2*( 4.070000d+00) | |
158 | Bval = 6.780000d-01+s*(-3.940000d-02)+s2*( 1.750000d-02) | |
159 | Cval = 1.728000d-01+s*(-2.457000d-02)+s2*( 1.440000d-01) | |
160 | A0sea= 2.318000d+00+s*(-3.760000d+00)+s2*( 2.026000d+01) | |
161 | $ +s3*(-5.950000d+01)+s4*( 5.900000d+01) | |
162 | B0sea=-2.425000d-01+s*(-4.360000d-01)+s2*( 1.241000d+00) | |
163 | $ +s3*(-3.510000d+00)+s4*( 3.360000d+00) | |
164 | BB0sea=5.330000d+00+s*(-8.680000d+00)+s2*( 7.420000d+01) | |
165 | $ +s3*(-2.070000d+02)+s4*( 1.967000d+02) | |
166 | C0sea= 8.480000d+00+s*( 9.310000d+00)+s2*(-1.041000d+02) | |
167 | $ +s3*( 2.801000d+02)+s4*(-2.663000d+02) | |
168 | c | |
169 | qv = 1.0d0/alinv/x* | |
170 | $ (A0val+A1val*x+A2val*x2) * x**Bval * x1**Cval | |
171 | qsea= 1.0d0/alinv/x* | |
172 | $ A0sea * x**(B0sea+BB0sea*x) * x1**C0sea | |
173 | c | |
174 | qu = qv/3.0d0 + qsea/6.0d0 | |
175 | qu = qu*x | |
176 | ZUV=qu | |
177 | ZUB=qu | |
178 | qd = qv/12.0d0 + qsea/6.0d0 | |
179 | qd = qd*x | |
180 | ZDV=qd | |
181 | ZDB=qd | |
182 | ZSB=qd | |
183 | g = WHIT5G(x,Q2) | |
184 | g = g*x | |
185 | ZGL=g | |
186 | c | |
187 | if((ic.ne.0) .and. (x*(1.0d0+4.0d0*mc2q2).lt.1.0d0)) then | |
188 | A0dcv= s*( 1.219000d-01)+s2*( 6.200000d+00) | |
189 | $ +s3*(-2.504000d+01)+s4*( 3.098000d+01) | |
190 | A1dcv= s*( 1.913000d+00)+s2*(-7.690000d+01) | |
191 | $ +s3*( 3.180000d+02)+s4*(-3.920000d+02) | |
192 | A2dcv= s*(-7.160000d+00)+s2*( 2.503000d+02) | |
193 | $ +s3*(-1.062000d+03)+s4*( 1.308000d+03) | |
194 | A3dcv= s*( 3.190000d+00)+s2*(-2.301000d+02) | |
195 | $ +s3*( 1.012000d+03)+s4*(-1.250000d+03) | |
196 | Bdcv = 4.990000d-01+s*( 3.470000d+00)+s2*(-1.526000d+01) | |
197 | $ +s3*( 1.967000d+01) | |
198 | Cdcv = 3.290000d-01+s*( 8.240000d+00)+s2*(-3.800000d+01) | |
199 | $ +s3*( 4.630000d+01) | |
200 | Adcs = s*(-6.580000d-02)+s2*( 1.059000d-01) | |
201 | $ +s3*(-6.630000d-02) | |
202 | B0dcs=-2.750000d-01+s*(-4.760000d-01)+s2*( 1.191000d-01) | |
203 | B1dcs= 6.370000d+00+s*(-5.320000d+00)+s2*( 1.986000d+00) | |
204 | Cdcs = 3.400000d+00+s*( 3.750000d-01)+s2*(-8.790000d+00) | |
205 | $ +s3*( 1.001000d+01) | |
206 | c | |
207 | dcv = 1.0d0/alinv/x* | |
208 | $ (A0dcv+x*A1dcv+x2*A2dcv+x2*x*A3dcv) * x**Bdcv * x1**Cdcv | |
209 | dcs = 1.0d0/alinv/x* | |
210 | $ Adcs * x**(B0dcs+B1dcs*x) * x1**Cdcs | |
211 | c | |
212 | call WHIT5Q(x,mc*mc/Q2,cv,cs) | |
213 | qc = cv/alinv/2.0d0/PI + cs*alstpi + dcs + dcv | |
214 | qc = qc*x | |
215 | ZCB=qc | |
216 | else | |
217 | qc = 0.0d0 | |
218 | ZCB=qc | |
219 | endif | |
220 | endif | |
221 | c | |
222 | return | |
223 | end |