]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PDF/spdf/faux5l.F
Removal of useless dependencies via forward declarations
[u/mrichter/AliRoot.git] / PDF / spdf / faux5l.F
CommitLineData
21886bb6 1#include "pdf/pilot.h"
2c ---------------------------------------------------------------------
3 double precision function faux5L(ifl,x,q)
4c auxiliary function for parametrization of CTEQ5L (J. Pumplin 9/99).
5c ---------------------------------------------------------------------
6#include "pdf/impdp.inc"
7 integer ifl
8
9 parameter (nex=8, nlf=2)
10 dimension am(0:nex,0:nlf,-5:2)
11 dimension alfvec(-5:2), qmavec(-5:2)
12 dimension mexvec(-5:2), mlfvec(-5:2)
13 dimension ut1vec(-5:2), ut2vec(-5:2)
14 dimension af(0:nex)
15
16 data mexvec( 2) / 8 /
17 data mlfvec( 2) / 2 /
18 data ut1vec( 2) / 0.4971265E+01 /
19 data ut2vec( 2) / -0.1105128E+01 /
20 data alfvec( 2) / 0.2987216E+00 /
21 data qmavec( 2) / 0.0000000E+00 /
22 data (am( 0,k, 2),k=0, 2)
23 & / 0.5292616E+01, -0.2751910E+01, -0.2488990E+01 /
24 data (am( 1,k, 2),k=0, 2)
25 & / 0.9714424E+00, 0.1011827E-01, -0.1023660E-01 /
26 data (am( 2,k, 2),k=0, 2)
27 & / -0.1651006E+02, 0.7959721E+01, 0.8810563E+01 /
28 data (am( 3,k, 2),k=0, 2)
29 & / -0.1643394E+02, 0.5892854E+01, 0.9348874E+01 /
30 data (am( 4,k, 2),k=0, 2)
31 & / 0.3067422E+02, 0.4235796E+01, -0.5112136E+00 /
32 data (am( 5,k, 2),k=0, 2)
33 & / 0.2352526E+02, -0.5305168E+01, -0.1169174E+02 /
34 data (am( 6,k, 2),k=0, 2)
35 & / -0.1095451E+02, 0.3006577E+01, 0.5638136E+01 /
36 data (am( 7,k, 2),k=0, 2)
37 & / -0.1172251E+02, -0.2183624E+01, 0.4955794E+01 /
38 data (am( 8,k, 2),k=0, 2)
39 & / 0.1662533E-01, 0.7622870E-02, -0.4895887E-03 /
40
41 data mexvec( 1) / 8 /
42 data mlfvec( 1) / 2 /
43 data ut1vec( 1) / 0.2612618E+01 /
44 data ut2vec( 1) / -0.1258304E+06 /
45 data alfvec( 1) / 0.3407552E+00 /
46 data qmavec( 1) / 0.0000000E+00 /
47 data (am( 0,k, 1),k=0, 2)
48 & / 0.9905300E+00, -0.4502235E+00, 0.1624441E+00 /
49 data (am( 1,k, 1),k=0, 2)
50 & / 0.8867534E+00, 0.1630829E-01, -0.4049085E-01 /
51 data (am( 2,k, 1),k=0, 2)
52 & / 0.8547974E+00, 0.3336301E+00, 0.1371388E+00 /
53 data (am( 3,k, 1),k=0, 2)
54 & / 0.2941113E+00, -0.1527905E+01, 0.2331879E+00 /
55 data (am( 4,k, 1),k=0, 2)
56 & / 0.3384235E+02, 0.3715315E+01, 0.8276930E+00 /
57 data (am( 5,k, 1),k=0, 2)
58 & / 0.6230115E+01, 0.3134639E+01, -0.1729099E+01 /
59 data (am( 6,k, 1),k=0, 2)
60 & / -0.1186928E+01, -0.3282460E+00, 0.1052020E+00 /
61 data (am( 7,k, 1),k=0, 2)
62 & / -0.8545702E+01, -0.6247947E+01, 0.3692561E+01 /
63 data (am( 8,k, 1),k=0, 2)
64 & / 0.1724598E-01, 0.7120465E-02, 0.4003646E-04 /
65
66 data mexvec( 0) / 8 /
67 data mlfvec( 0) / 2 /
68 data ut1vec( 0) / -0.4656819E+00 /
69 data ut2vec( 0) / -0.2742390E+03 /
70 data alfvec( 0) / 0.4491863E+00 /
71 data qmavec( 0) / 0.0000000E+00 /
72 data (am( 0,k, 0),k=0, 2)
73 & / 0.1193572E+03, -0.3886845E+01, -0.1133965E+01 /
74 data (am( 1,k, 0),k=0, 2)
75 & / -0.9421449E+02, 0.3995885E+01, 0.1607363E+01 /
76 data (am( 2,k, 0),k=0, 2)
77 & / 0.4206383E+01, 0.2485954E+00, 0.2497468E+00 /
78 data (am( 3,k, 0),k=0, 2)
79 & / 0.1210557E+03, -0.3015765E+01, -0.1423651E+01 /
80 data (am( 4,k, 0),k=0, 2)
81 & / -0.1013897E+03, -0.7113478E+00, 0.2621865E+00 /
82 data (am( 5,k, 0),k=0, 2)
83 & / -0.1312404E+01, -0.9297691E+00, -0.1562531E+00 /
84 data (am( 6,k, 0),k=0, 2)
85 & / 0.1627137E+01, 0.4954111E+00, -0.6387009E+00 /
86 data (am( 7,k, 0),k=0, 2)
87 & / 0.1537698E+00, -0.2487878E+00, 0.8305947E+00 /
88 data (am( 8,k, 0),k=0, 2)
89 & / 0.2496448E-01, 0.2457823E-02, 0.8234276E-03 /
90
91 data mexvec(-1) / 8 /
92 data mlfvec(-1) / 2 /
93 data ut1vec(-1) / 0.3862583E+01 /
94 data ut2vec(-1) / -0.1265969E+01 /
95 data alfvec(-1) / 0.2457668E+00 /
96 data qmavec(-1) / 0.0000000E+00 /
97 data (am( 0,k,-1),k=0, 2)
98 & / 0.2647441E+02, 0.1059277E+02, -0.9176654E+00 /
99 data (am( 1,k,-1),k=0, 2)
100 & / 0.1990636E+01, 0.8558918E-01, 0.4248667E-01 /
101 data (am( 2,k,-1),k=0, 2)
102 & / -0.1476095E+02, -0.3276255E+02, 0.1558110E+01 /
103 data (am( 3,k,-1),k=0, 2)
104 & / -0.2966889E+01, -0.3649037E+02, 0.1195914E+01 /
105 data (am( 4,k,-1),k=0, 2)
106 & / -0.1000519E+03, -0.2464635E+01, 0.1964849E+00 /
107 data (am( 5,k,-1),k=0, 2)
108 & / 0.3718331E+02, 0.4700389E+02, -0.2772142E+01 /
109 data (am( 6,k,-1),k=0, 2)
110 & / -0.1872722E+02, -0.2291189E+02, 0.1089052E+01 /
111 data (am( 7,k,-1),k=0, 2)
112 & / -0.1628146E+02, -0.1823993E+02, 0.2537369E+01 /
113 data (am( 8,k,-1),k=0, 2)
114 & / -0.1156300E+01, -0.1280495E+00, 0.5153245E-01 /
115
116 data mexvec(-2) / 7 /
117 data mlfvec(-2) / 2 /
118 data ut1vec(-2) / 0.1895615E+00 /
119 data ut2vec(-2) / -0.3069097E+01 /
120 data alfvec(-2) / 0.5293999E+00 /
121 data qmavec(-2) / 0.0000000E+00 /
122 data (am( 0,k,-2),k=0, 2)
123 & / -0.6556775E+00, 0.2490190E+00, 0.3966485E-01 /
124 data (am( 1,k,-2),k=0, 2)
125 & / 0.1305102E+01, -0.1188925E+00, -0.4600870E-02 /
126 data (am( 2,k,-2),k=0, 2)
127 & / -0.2371436E+01, 0.3566814E+00, -0.2834683E+00 /
128 data (am( 3,k,-2),k=0, 2)
129 & / -0.6152826E+01, 0.8339877E+00, -0.7233230E+00 /
130 data (am( 4,k,-2),k=0, 2)
131 & / -0.8346558E+01, 0.2892168E+01, 0.2137099E+00 /
132 data (am( 5,k,-2),k=0, 2)
133 & / 0.1279530E+02, 0.1021114E+00, 0.5787439E+00 /
134 data (am( 6,k,-2),k=0, 2)
135 & / 0.5858816E+00, -0.1940375E+01, -0.4029269E+00 /
136 data (am( 7,k,-2),k=0, 2)
137 & / -0.2795725E+02, -0.5263392E+00, 0.1290229E+01 /
138
139 data mexvec(-3) / 7 /
140 data mlfvec(-3) / 2 /
141 data ut1vec(-3) / 0.3753257E+01 /
142 data ut2vec(-3) / -0.1113085E+01 /
143 data alfvec(-3) / 0.3713141E+00 /
144 data qmavec(-3) / 0.0000000E+00 /
145 data (am( 0,k,-3),k=0, 2)
146 & / 0.1580931E+01, -0.2273826E+01, -0.1822245E+01 /
147 data (am( 1,k,-3),k=0, 2)
148 & / 0.2702644E+01, 0.6763243E+00, 0.7231586E-02 /
149 data (am( 2,k,-3),k=0, 2)
150 & / -0.1857924E+02, 0.3907500E+01, 0.5850109E+01 /
151 data (am( 3,k,-3),k=0, 2)
152 & / -0.3044793E+02, 0.2639332E+01, 0.5566644E+01 /
153 data (am( 4,k,-3),k=0, 2)
154 & / -0.4258011E+01, -0.5429244E+01, 0.4418946E+00 /
155 data (am( 5,k,-3),k=0, 2)
156 & / 0.3465259E+02, -0.5532604E+01, -0.4904153E+01 /
157 data (am( 6,k,-3),k=0, 2)
158 & / -0.1658858E+02, 0.2923275E+01, 0.2266286E+01 /
159 data (am( 7,k,-3),k=0, 2)
160 & / -0.1149263E+02, 0.2877475E+01, -0.7999105E+00 /
161
162 data mexvec(-4) / 7 /
163 data mlfvec(-4) / 2 /
164 data ut1vec(-4) / 0.4400772E+01 /
165 data ut2vec(-4) / -0.1356116E+01 /
166 data alfvec(-4) / 0.3712017E-01 /
167 data qmavec(-4) / 0.1300000E+01 /
168 data (am( 0,k,-4),k=0, 2)
169 & / -0.8293661E+00, -0.3982375E+01, -0.6494283E-01 /
170 data (am( 1,k,-4),k=0, 2)
171 & / 0.2754618E+01, 0.8338636E+00, -0.6885160E-01 /
172 data (am( 2,k,-4),k=0, 2)
173 & / -0.1657987E+02, 0.1439143E+02, -0.6887240E+00 /
174 data (am( 3,k,-4),k=0, 2)
175 & / -0.2800703E+02, 0.1535966E+02, -0.7377693E+00 /
176 data (am( 4,k,-4),k=0, 2)
177 & / -0.6460216E+01, -0.4783019E+01, 0.4913297E+00 /
178 data (am( 5,k,-4),k=0, 2)
179 & / 0.3141830E+02, -0.3178031E+02, 0.7136013E+01 /
180 data (am( 6,k,-4),k=0, 2)
181 & / -0.1802509E+02, 0.1862163E+02, -0.4632843E+01 /
182 data (am( 7,k,-4),k=0, 2)
183 & / -0.1240412E+02, 0.2565386E+02, -0.1066570E+02 /
184
185 data mexvec(-5) / 6 /
186 data mlfvec(-5) / 2 /
187 data ut1vec(-5) / 0.5562568E+01 /
188 data ut2vec(-5) / -0.1801317E+01 /
189 data alfvec(-5) / 0.4952010E-02 /
190 data qmavec(-5) / 0.4500000E+01 /
191 data (am( 0,k,-5),k=0, 2)
192 & / -0.6031237E+01, 0.1992727E+01, -0.1076331E+01 /
193 data (am( 1,k,-5),k=0, 2)
194 & / 0.2933912E+01, 0.5839674E+00, 0.7509435E-01 /
195 data (am( 2,k,-5),k=0, 2)
196 & / -0.8284919E+01, 0.1488593E+01, -0.8251678E+00 /
197 data (am( 3,k,-5),k=0, 2)
198 & / -0.1925986E+02, 0.2805753E+01, -0.3015446E+01 /
199 data (am( 4,k,-5),k=0, 2)
200 & / -0.9480483E+01, -0.9767837E+00, -0.1165544E+01 /
201 data (am( 5,k,-5),k=0, 2)
202 & / 0.2193195E+02, -0.1788518E+02, 0.9460908E+01 /
203 data (am( 6,k,-5),k=0, 2)
204 & / -0.1327377E+02, 0.1201754E+02, -0.6277844E+01 /
205
206 if(q .le. qmavec(ifl)) then
207 faux5L = 0.d0
208 return
209 endif
210
211 if(x .ge. 1.d0) then
212 faux5L = 0.d0
213 return
214 endif
215
216 tmp = log(q/alfvec(ifl))
217 if(tmp .le. 0.d0) then
218 faux5L = 0.d0
219 return
220 endif
221
222 sb = log(tmp)
223 sb1 = sb - 1.2d0
224 sb2 = sb1*sb1
225
226 do i = 0, nex
227 af(i) = 0.d0
228 sbx = 1.d0
229 do k = 0, mlfvec(ifl)
230 af(i) = af(i) + sbx*am(i,k,ifl)
231 sbx = sb1*sbx
232 enddo
233 enddo
234
235 y = -log(x)
236 u = log(x/0.00001d0)
237
238 part1 = af(1)*y**(1.d0+0.01d0*af(4))*(1.d0+ af(8)*u)
239 part2 = af(0)*(1.d0 - x) + af(3)*x
240 part3 = x*(1.d0-x)*(af(5)+af(6)*(1.d0-x)+af(7)*x*(1.d0-x))
241 part4 = ut1vec(ifl)*log(1.d0-x) +
242 & AF(2)*log(1.d0+exp(ut2vec(ifl))-x)
243
244 faux5L = exp(log(x) + part1 + part2 + part3 + part4)
245
246c include threshold factor...
247 faux5L = faux5L * (1.d0 - qmavec(ifl)/q)
248
249 return
250 end