]>
Commit | Line | Data |
---|---|---|
21886bb6 | 1 | #include "pdf/pilot.h" |
2 | c --------------------------------------------------------------------- | |
3 | double precision function faux5L(ifl,x,q) | |
4 | c auxiliary function for parametrization of CTEQ5L (J. Pumplin 9/99). | |
5 | c --------------------------------------------------------------------- | |
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 | ||
246 | c include threshold factor... | |
247 | faux5L = faux5L * (1.d0 - qmavec(ifl)/q) | |
248 | ||
249 | return | |
250 | end |