]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PDF/spdf/pdfset.F
This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / PDF / spdf / pdfset.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.3  1997/04/15 14:02:00  cernlib
6 * Import version 7.08
7 *
8 * Revision 1.3  1997/04/08 15:53:25  pdflib
9 * Lambda_QCD for CTEQ4 sets corrected
10 *
11 * Revision 1.2  1996/10/28 15:03:30  pdflib
12 * PDFLIB new version 7.04
13 *
14 * Revision 1.1.1.1  1996/04/12 15:29:25  plothow
15 * Version 7.01
16 *
17 *
18 #include "pdf/pilot.h"
19       SUBROUTINE PDFSET(PARM,VAL)
20 C
21 C **********************************************************************
22 C *                                                                    *
23 C *   Routine to set user parameters in the internal COMMON/W50511/,   *
24 C *                                                  COMMON/W50512/    *
25 C *                                              and COMMON/W50513/    *
26 C *   and provide filling of the internal            COMMON/W50518/    *
27 C *                                                  COMMON/W505110/   *
28 C *                                                  COMMON/W505120/   *
29 C *                                                  COMMON/W505121/   *
30 C *                                              and COMMON/W505122/   *
31 C *                                                                    *
32 C *   Author:  H. Plothow-Besch                                        *
33 C *            CERN-PPE, CH - 1211 Geneva 23, Switzerland              *
34 C *                                                                    *
35 C **********************************************************************
36 C
37 #include "pdf/impdp.inc"
38 C
39 #include "pdf/w5051p0.inc"
40 #include "pdf/w5051p1.inc"
41 #include "pdf/w5051p2.inc"
42 #include "pdf/w5051p3.inc"
43 #include "pdf/w5051p7.inc"
44 #include "pdf/w50510.inc"
45 #include "pdf/w50511.inc"
46 #include "pdf/w50512.inc"
47 #include "pdf/w50513.inc"
48 #include "pdf/w50514.inc"
49 #include "pdf/w50514w.inc"
50 #include "pdf/w50515.inc"
51 #include "pdf/w50516.inc"
52 #include "pdf/w50517.inc"
53 #include "pdf/w50518.inc"
54 #include "pdf/w50519.inc"
55 #include "pdf/w505110.inc"
56 #include "pdf/w505120.inc"
57 #include "pdf/w505121.inc"
58 #include "pdf/w505122.inc"
59 #include "pdf/expdp.inc"
60      +       PQCDL4(NPTYMX,NGRMAX,NSETMX), PQCDL5(NPTYMX,NGRMAX,NSETMX),
61      +       PXMIN(NPTYMX,NGRMAX,NSETMX),  PXMAX(NPTYMX,NGRMAX,NSETMX),
62      +       PQ2MIN(NPTYMX,NGRMAX,NSETMX), PQ2MAX(NPTYMX,NGRMAX,NSETMX)
63 C.
64       PARAMETER (NSDIM = 16)
65       CHARACTER*2 AV(NSDIM)
66       CHARACTER*20 PARM(NCHDIM),STRING
67 #include "pdf/expdp.inc"
68      +       VAL(NCHDIM)
69 C.
70       EQUIVALENCE (VALUE,IVALUE)
71 C.
72       DATA (PQCDL4(1,1,K),K=1,ND11) /
73      +           0.0000D0, 0.0450D0, 0.5000D0, 0.4700D0, 0.4000D0,
74      +           0.2000D0, 0.4000D0, 0.2000D0, 0.2900D0, 0.1770D0 /
75       DATA (PQCDL4(1,2,K),K=1,ND12) /
76      +           0.2000D0, 0.2000D0, 0.2000D0, 0.2000D0, 0.2000D0,
77      +           0.3000D0, 0.1600D0, 0.2600D0, 0.3600D0 /
78       DATA (PQCDL4(1,3,K),K=1,ND13) /
79      +           0.1070D0, 0.2500D0, 0.1780D0, 0.0910D0, 0.2280D0,
80      +           0.0910D0, 0.2280D0, 0.1000D0, 0.1900D0, 0.1000D0,
81      +           0.1900D0, 0.1000D0, 0.1000D0, 0.1000D0, 0.1900D0,
82      +           0.1000D0, 0.3000D0, 0.1900D0, 0.1900D0, 0.1900D0,
83      +           0.1900D0, 0.1350D0, 0.1600D0, 0.2000D0, 0.2350D0,
84      +           0.2150D0, 0.2150D0, 0.2150D0, 0.2300D0, 0.2300D0,
85      +           0.2300D0, 0.2300D0, 0.2300D0, 0.2300D0, 0.2300D0,
86      +           0.2300D0, 0.2300D0, 0.2300D0, 0.2310D0, 0.2310D0,
87      +           0.2540D0, 0.2540D0, 0.2300D0, 0.2300D0, 0.1500D0,
88      +           0.2010D0, 0.2660D0, 0.3440D0, 0.4350D0, 0.5420D0,
89      +           0.3440D0, 0.5070D0, 0.2410D0, 0.3440D0, 0.2410D0,
90      +           0.3440D0, 0.2410D0, 0.3440D0 /
91       DATA (PQCDL4(1,4,K),K=1,ND14) /
92      +           0.2120D0, 0.1940D0, 0.1910D0, 0.1550D0, 0.2370D0,
93      +           0.2120D0, 0.1940D0, 0.1910D0, 0.1550D0, 0.2370D0,
94      +           0.1440D0, 0.1680D0, 0.2310D0, 0.2310D0, 0.3220D0,
95      +           0.2470D0, 0.1900D0, 0.2130D0, 0.2080D0, 0.2080D0,
96      +           0.3220D0, 0.2350D0, 0.1900D0, 0.2130D0, 0.2080D0,
97      +           0.2080D0, 0.3220D0, 0.2350D0, 0.1770D0, 0.2390D0,
98      +           0.2470D0, 0.2350D0, 0.2960D0, 0.2960D0, 0.2130D0,
99      +           0.2530D0, 0.2960D0, 0.3440D0, 0.3990D0, 0.3020D0,
100      +           0.2590D0 /
101       DATA (PQCDL4(1,5,K),K=1,ND15) /
102      +           0.1600D0, 0.2200D0, 0.2000D0, 0.2000D0, 0.2000D0,
103      +           0.2000D0, 0.2000D0, 0.2000D0, 0.2000D0, 0.2000D0,
104      +           0.2000D0 /
105       DATA (PQCDL4(1,6,K),K=1,ND16) /
106      +           0.2300D0 /
107       DATA (PQCDL4(1,7,K),K=1,ND17) /
108      +           0.2540D0,0.2540D0 /
109 C.
110       DATA (PQCDL4(2,1,K),K=1,ND21) /
111      +           0.2000D0, 0.4000D0 /
112       DATA (PQCDL4(2,3,K),K=1,ND23) /
113      +           0.1900D0, 0.1900D0, 0.1900D0 /
114       DATA (PQCDL4(2,5,K),K=1,ND25) /
115      +           0.2000D0, 0.2000D0 /
116       DATA (PQCDL4(2,6,K),K=1,ND26) /
117      +           0.2310D0, 0.1810D0, 0.2810D0 /
118 C.
119       DATA (PQCDL4(3,1,K),K=1,ND31) /
120      +           0.3800D0, 0.4400D0 /
121       DATA (PQCDL4(3,2,K),K=1,ND32) /
122      +           0.4000D0, 0.4000D0, 0.4000D0, 0.4000D0 /
123       DATA (PQCDL4(3,3,K),K=1,ND33) /
124      +           0.2000D0, 0.2000D0, 0.2000D0 /
125       DATA (PQCDL4(3,4,K),K=1,ND34) /
126      +           0.2000D0, 0.2000D0, 0.2000D0, 0.2000D0, 0.2000D0 /
127       DATA (PQCDL4(3,5,K),K=1,ND35) /
128      +           0.2000D0, 0.2000D0, 0.2000D0, 0.2000D0 /
129       DATA (PQCDL4(3,6,K),K=1,ND36) /
130      +           0.2000D0, 0.2000D0, 0.2000D0 /
131       DATA (PQCDL4(3,8,K),K=1,ND38) /
132      +           0.4000D0, 0.4000D0, 0.4000D0, 0.4000D0, 0.4000D0,
133      +           0.4000D0 /
134       DATA (PQCDL4(3,9,K),K=1,ND39) /
135      +           0.2000D0, 0.2000D0, 0.2000D0, 0.2000D0, 0.2000D0,
136      +           0.2000D0, 0.2000D0, 0.2000D0 /
137 C.
138 C.
139       DATA (PQCDL5(1,1,K),K=1,ND11) /
140      +           0.0000D0, 0.0300D0, 0.4111D0, 0.3844D0, 0.3226D0,
141      +           0.1519D0, 0.3226D0, 0.1519D0, 0.2274D0, 0.1330D0 /
142       DATA (PQCDL5(1,2,K),K=1,ND12) /
143      +           0.1519D0, 0.1519D0, 0.1519D0, 0.1519D0, 0.1519D0,
144      +           0.2048D0, 0.1016D0, 0.1745D0, 0.2513D0 /
145       DATA (PQCDL5(1,3,K),K=1,ND13) /
146      +           0.0651D0, 0.1671D0, 0.1144D0, 0.0544D0, 0.1507D0,
147      +           0.0544D0, 0.1507D0, 0.0604D0, 0.1230D0, 0.0604D0,
148      +           0.1230D0, 0.0604D0, 0.0604D0, 0.0604D0, 0.1230D0,
149      +           0.0604D0, 0.2048D0, 0.1230D0, 0.1230D0, 0.1230D0,
150      +           0.1230D0, 0.0842D0, 0.1016D0, 0.1303D0, 0.1559D0,
151      +           0.1412D0, 0.1412D0, 0.1412D0, 0.1522D0, 0.1522D0,
152      +           0.1522D0, 0.1522D0, 0.1522D0, 0.1522D0, 0.1522D0,
153      +           0.1522D0, 0.1522D0, 0.1522D0, 0.1529D0, 0.1529D0,
154      +           0.1700D0, 0.1700D0, 0.1522D0, 0.1522D0, 0.0946D0,
155      +           0.1310D0, 0.1790D0, 0.2388D0, 0.3110D0, 0.3988D0,
156      +           0.2388D0, 0.3698D0, 0.1604D0, 0.2388D0, 0.1604D0,
157      +           0.2388D0, 0.1604D0, 0.2388D0 /
158       DATA (PQCDL5(1,4,K),K=1,ND14) /
159      +           0.1390D0, 0.1259D0, 0.1238D0, 0.0981D0, 0.1574D0,
160      +           0.1390D0, 0.1259D0, 0.1238D0, 0.0981D0, 0.1574D0,
161      +           0.1063D0, 0.1250D0, 0.1520D0, 0.1520D0, 0.2200D0,
162      +           0.1640D0, 0.1430D0, 0.1390D0, 0.1350D0, 0.1350D0,
163      +           0.2200D0, 0.1550D0, 0.1430D0, 0.1390D0, 0.1350D0,
164      +           0.1350D0, 0.2200D0, 0.1550D0, 0.1320D0, 0.1580D0,
165      +           0.1640D0, 0.1810D0, 0.2020D0, 0.2020D0, 0.1400D0,
166      +           0.1690D0, 0.2020D0, 0.2390D0, 0.2820D0, 0.2060D0,
167      +           0.1740D0 /
168       DATA (PQCDL5(1,5,K),K=1,ND15) /
169      +           0.1016D0, 0.1684D0, 0.1303D0, 0.1519D0, 0.1530D0,
170      +           0.1310D0, 0.1310D0, 0.1530D0, 0.1530D0, 0.1310D0,
171      +           0.1310D0 /
172       DATA (PQCDL5(1,6,K),K=1,ND16) /
173      +           0.1559D0 /
174       DATA (PQCDL5(1,7,K),K=1,ND17) /
175      +           0.1700D0,0.1700D0 /
176 C.
177       DATA (PQCDL5(2,1,K),K=1,ND21) /
178      +           0.1519D0, 0.3226D0 /
179       DATA (PQCDL5(2,3,K),K=1,ND23) /
180      +           0.1230D0, 0.1230D0, 0.1230D0 /
181       DATA (PQCDL5(2,5,K),K=1,ND25) /
182      +           0.1303D0, 0.1519D0 /
183       DATA (PQCDL5(2,6,K),K=1,ND26) /
184      +           0.1529D0, 0.1166D0, 0.1904D0 /
185 C.
186       DATA (PQCDL5(3,1,K),K=1,ND31) /
187      +           0.3051D0, 0.3150D0 /
188       DATA (PQCDL5(3,2,K),K=1,ND32) /
189      +           0.3226D0, 0.3226D0, 0.3226D0, 0.3226D0 /
190       DATA (PQCDL5(3,3,K),K=1,ND33) /
191      +           0.1519D0, 0.1519D0, 0.1519D0 /
192       DATA (PQCDL5(3,4,K),K=1,ND34) /
193      +           0.1303D0, 0.1519D0, 0.1519D0, 0.1303D0, 0.1519D0 /
194       DATA (PQCDL5(3,5,K),K=1,ND35) /
195      +           0.1303D0, 0.1303D0, 0.1519D0, 0.1530D0 /
196       DATA (PQCDL5(3,6,K),K=1,ND36) /
197      +           0.1303D0, 0.1303D0, 0.1303D0 /
198       DATA (PQCDL5(3,8,K),K=1,ND38) /
199      +           0.3226D0, 0.3226D0, 0.3226D0, 0.3226D0, 0.3226D0,
200      +           0.3226D0 /
201       DATA (PQCDL5(3,9,K),K=1,ND39) /
202      +           0.3226D0, 0.3226D0, 0.3226D0, 0.3226D0, 0.3226D0,
203      +           0.3226D0, 0.3226D0, 0.3226D0 /
204 C.
205 C.
206       DATA (PXMIN(1,1,K),K=1,ND11) /
207      +           0.0000D0, 5.000D-3, 5.000D-3, 5.000D-3, 1.000D-3,
208      +           5.000D-3, 5.000D-3, 1.000D-4, 1.000D-4, 5.000D-5 /
209       DATA (PXMIN(1,2,K),K=1,ND12) /
210      +           5.000D-5, 5.000D-5, 5.000D-5, 5.000D-5, 5.000D-5,
211      +           5.000D-5, 5.000D-5, 5.000D-5, 5.000D-5 /
212       DATA (PXMIN(1,3,K),K=1,ND13) /
213      +           1.000D-4, 1.000D-4, 1.000D-4, 1.000D-4, 1.000D-4,
214      +           1.000D-4, 1.000D-4, 1.000D-4, 1.000D-4, 1.000D-4,
215      +           1.000D-4, 1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5,
216      +           1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5,
217      +           1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5,
218      +           1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5,
219      +           1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5,
220      +           1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5,
221      +           1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5,
222      +           1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5,
223      +           1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5,
224      +           1.000D-5, 1.000D-5, 1.000D-5 /
225       DATA (PXMIN(1,4,K),K=1,ND14) /
226      +           1.00D-10, 1.00D-10, 1.00D-10, 1.00D-10, 1.00D-10,
227      +           1.00D-10, 1.00D-10, 1.00D-10, 1.00D-10, 1.00D-10,
228      +           1.00D-10, 1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5,
229      +           1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5,
230      +           1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5,
231      +           1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5,
232      +           1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5,
233      +           1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5,
234      +           1.000D-5 /
235       DATA (PXMIN(1,5,K),K=1,ND15) /
236      +           1.000D-6, 1.000D-6, 1.000D-6, 1.000D-6, 1.000D-6,
237      +           1.000D-6, 1.000D-6, 1.000D-4, 1.000D-4, 1.000D-4,
238      +           1.000D-4 /
239       DATA (PXMIN(1,6,K),K=1,ND16) /
240      +           1.000D-4 /
241       DATA (PXMIN(1,7,K),K=1,ND17) /
242      +           1.000D-6, 1.000D-6 /
243 C.
244       DATA (PXMIN(2,1,K),K=1,ND21) /
245      +           5.000D-3, 5.000D-3 /
246       DATA (PXMIN(2,3,K),K=1,ND23) /
247      +           1.000D-5, 1.000D-5, 1.000D-5 /
248       DATA (PXMIN(2,5,K),K=1,ND25) /
249      +           1.000D-5, 1.000D-5 /
250       DATA (PXMIN(2,6,K),K=1,ND26) /
251      +           1.000D-3, 1.000D-3, 1.000D-3 /
252 C.
253       DATA (PXMIN(3,1,K),K=1,ND31) /
254      +           1.000D-5, 1.000D-5 /
255       DATA (PXMIN(3,2,K),K=1,ND32) /
256      +           1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5 /
257       DATA (PXMIN(3,3,K),K=1,ND33) /
258      +           1.000D-4, 1.000D-4, 1.000D-4 /
259       DATA (PXMIN(3,4,K),K=1,ND34) /
260      +           5.000D-4, 5.000D-4, 5.000D-4, 5.000D-4, 5.000D-4 /
261       DATA (PXMIN(3,5,K),K=1,ND35) /
262      +           1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5 /
263       DATA (PXMIN(3,6,K),K=1,ND36) /
264      +           1.370D-3, 1.370D-3, 1.370D-3 /
265       DATA (PXMIN(3,8,K),K=1,ND38) /
266      +           1.000D-3, 1.000D-3, 1.000D-3, 1.000D-3, 1.000D-3,
267      +           1.000D-3 /
268       DATA (PXMIN(3,9,K),K=1,ND39) /
269      +           1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5, 1.000D-5,
270      +           1.000D-5, 1.000D-5, 1.000D-5 /
271 C.
272 C.
273       DATA (PXMAX(1,1,K),K=1,ND11) /
274      +           0.99999D0, 0.99999D0, 0.99999D0, 0.99998D0, 0.99999D0,
275      +           0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0 /
276       DATA (PXMAX(1,2,K),K=1,ND12) /
277      +           0.95000D0, 0.95000D0, 0.95000D0, 0.95000D0, 0.95000D0,
278      +           0.95000D0, 0.95000D0, 0.95000D0, 0.95000D0 /
279       DATA (PXMAX(1,3,K),K=1,ND13) /
280      +           0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0,
281      +           0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0,
282      +           0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0,
283      +           0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0,
284      +           0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0,
285      +           0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0,
286      +           0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0,
287      +           0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0,
288      +           0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0,
289      +           0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0,
290      +           0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0,
291      +           0.99999D0, 0.99999D0, 0.99999D0 /
292       DATA (PXMAX(1,4,K),K=1,ND14) /
293      +           0.99998D0, 0.99998D0, 0.99998D0, 0.99998D0, 0.99998D0,
294      +           0.99998D0, 0.99998D0, 0.99998D0, 0.99998D0, 0.99998D0,
295      +           0.99998D0, 0.99998D0, 0.99998D0, 0.99998D0, 0.99998D0,
296      +           0.99998D0, 0.99998D0, 0.99998D0, 0.99998D0, 0.99998D0,
297      +           0.99998D0, 0.99998D0, 0.99998D0, 0.99998D0, 0.99998D0,
298      +           0.99998D0, 0.99998D0, 0.99998D0, 0.99998D0, 0.99998D0,
299      +           0.99998D0, 0.99998D0, 0.99998D0, 0.99998D0, 0.99998D0,
300      +           0.99998D0, 0.99998D0, 0.99998D0, 0.99998D0, 0.99998D0,
301      +           0.99998D0 /
302       DATA (PXMAX(1,5,K),K=1,ND15) /
303      +           0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0,
304      +           0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0, 0.99999D0,
305      +           0.99999D0 /
306       DATA (PXMAX(1,6,K),K=1,ND16) /
307      +           0.99999D0 /
308       DATA (PXMAX(1,7,K),K=1,ND17) /
309      +           0.99999D0, 0.99999D0 /
310 C.
311       DATA (PXMAX(2,1,K),K=1,ND21) /
312      +           0.9998D0,  0.9998D0 /
313       DATA (PXMAX(2,3,K),K=1,ND23) /
314      +           0.9998D0,  0.9998D0,  0.9998D0 /
315       DATA (PXMAX(2,5,K),K=1,ND25) /
316      +           0.9998D0,  0.9998D0 /
317       DATA (PXMAX(2,6,K),K=1,ND26) /
318      +           0.9998D0,  0.9998D0,  0.9998D0 /
319 C.
320       DATA (PXMAX(3,1,K),K=1,ND31) /
321      +           0.9000D0, 0.9000D0 /
322       DATA (PXMAX(3,2,K),K=1,ND32) /
323      +           0.9998D0, 0.9998D0, 0.9998D0, 0.9998D0 /
324       DATA (PXMAX(3,3,K),K=1,ND33) /
325      +           0.9998D0, 0.9998D0, 0.9998D0 /
326       DATA (PXMAX(3,4,K),K=1,ND34) /
327      +           0.9998D0, 0.9998D0, 0.9998D0, 0.9998D0, 0.9998D0 /
328       DATA (PXMAX(3,5,K),K=1,ND35) /
329      +           0.9998D0, 0.9998D0, 0.9998D0, 0.9998D0 /
330       DATA (PXMAX(3,6,K),K=1,ND36) /
331      +           0.9986D0, 0.9986D0, 0.9986D0 /
332       DATA (PXMAX(3,8,K),K=1,ND38) /
333      +           0.9998D0, 0.9998D0, 0.9998D0, 0.9998D0, 0.9998D0,
334      +           0.9998D0 /
335       DATA (PXMAX(3,9,K),K=1,ND39) /
336      +           0.9998D0, 0.9998D0, 0.9998D0, 0.9998D0, 0.9998D0,
337      +           0.9998D0, 0.9998D0, 0.9998D0 /
338 C.
339 C.
340       DATA (PQ2MIN(1,1,K),K=1,ND11) /
341      +           0.000D0, 0.500D0, 1.800D0, 5.000D0, 4.000D0,
342      +           4.000D0, 4.000D0, 5.000D0, 5.000D0, 4.000D0 /
343       DATA (PQ2MIN(1,2,K),K=1,ND12) /
344      +           10.00D0, 10.00D0, 10.00D0, 10.00D0, 10.00D0,
345      +           10.00D0, 10.00D0, 10.00D0, 10.00D0 /
346       DATA (PQ2MIN(1,3,K),K=1,ND13) /
347      +           5.000D0, 5.000D0, 5.000D0, 5.000D0, 5.000D0,
348      +           5.000D0, 5.000D0, 5.000D0, 5.000D0, 5.000D0,
349      +           5.000D0, 5.000D0, 5.000D0, 5.000D0, 5.000D0,
350      +           5.000D0, 5.000D0, 5.000D0, 5.000D0, 5.000D0,
351      +           5.000D0, 5.000D0, 5.000D0, 5.000D0, 5.000D0,
352      +           5.000D0, 5.000D0, 5.000D0, 5.000D0, 5.000D0,
353      +           5.000D0, 5.000D0, 5.000D0, 5.000D0, 5.000D0,
354      +           5.000D0, 5.000D0, 5.000D0, 5.000D0, 5.000D0,
355      +           5.000D0, 5.000D0, 0.625D0, 0.625D0, 5.000D0,
356      +           5.000D0, 5.000D0, 5.000D0, 5.000D0, 5.000D0,
357      +           5.000D0, 5.000D0, 1.250D0, 1.250D0, 1.250D0,
358      +           1.250D0, 2.000D0, 2.000D0 /
359       DATA (PQ2MIN(1,4,K),K=1,ND14) /
360      +           4.000D0, 4.000D0, 4.000D0, 4.000D0, 4.000D0,
361      +           4.000D0, 4.000D0, 4.000D0, 4.000D0, 4.000D0,
362      +           4.000D0, 4.000D0, 4.000D0, 4.000D0, 4.000D0,
363      +           4.000D0, 4.000D0, 4.000D0, 4.000D0, 4.000D0,
364      +           4.000D0, 4.000D0, 4.000D0, 4.000D0, 4.000D0,
365      +           4.000D0, 4.000D0, 4.000D0, 4.000D0, 4.000D0,
366      +           4.000D0, 2.560D0, 2.560D0, 2.560D0, 2.560D0,
367      +           2.560D0, 2.560D0, 2.560D0, 2.560D0, 2.560D0,
368      +           0.490D0 /
369       DATA (PQ2MIN(1,5,K),K=1,ND15) /
370      +           0.200D0, 0.200D0, 0.300D0, 0.250D0, 0.400D0,
371      +           0.400D0, 0.400D0, 0.400D0, 0.400D0, 0.400D0,
372      +           0.400D0 /
373       DATA (PQ2MIN(1,6,K),K=1,ND16) /
374      +           2.0000D0 /
375       DATA (PQ2MIN(1,7,K),K=1,ND17) /
376      +           5.000D0, 5.000D0 /
377 C.
378       DATA (PQ2MIN(2,1,K),K=1,ND21) /
379      +           4.0000D0, 4.0000D0 /
380       DATA (PQ2MIN(2,3,K),K=1,ND23) /
381      +           5.0000D0, 5.0000D0, 5.0000D0 /
382       DATA (PQ2MIN(2,5,K),K=1,ND25) /
383      +           0.3000D0, 0.2500D0 /
384       DATA (PQ2MIN(2,6,K),K=1,ND26) /
385      +           2.0000D0, 2.0000D0, 2.0000D0 /
386 C.
387       DATA (PQ2MIN(3,1,K),K=1,ND31) /
388      +           10.000D0, 10.000D0 /
389       DATA (PQ2MIN(3,2,K),K=1,ND32) /
390      +           1.0000D0, 1.0000D0, 20.000D0, 200.00D0 /
391       DATA (PQ2MIN(3,3,K),K=1,ND33) /
392      +           4.0000D0, 4.0000D0, 1.0000D0 /
393       DATA (PQ2MIN(3,4,K),K=1,ND34) /
394      +           5.3000D0, 5.3000D0, 5.3000D0, 5.3000D0, 5.3000D0 /
395       DATA (PQ2MIN(3,5,K),K=1,ND35) /
396      +           0.3000D0, 0.3000D0, 0.2500D0, 0.6000D0 /
397       DATA (PQ2MIN(3,6,K),K=1,ND36) /
398      +           2.0000D0, 2.0000D0, 2.0000D0 /
399       DATA (PQ2MIN(3,8,K),K=1,ND38) /
400      +           4.0000D0, 4.0000D0, 4.0000D0, 4.0000D0, 4.0000D0,
401      +           4.0000D0 /
402       DATA (PQ2MIN(3,9,K),K=1,ND39) /
403      +           0.3600D0, 0.3600D0, 4.0000D0, 4.0000D0, 0.3600D0,
404      +           0.3600D0, 4.0000D0, 4.0000D0 /
405 C.
406 C.
407       DATA (PQ2MAX(1,1,K),K=1,ND11) /
408      +           0.000D0, 1.000D6, 1.000D6, 1.000D6, 1.000D6,
409      +           1.000D6, 1.000D6, 1.000D8, 1.000D8, 4.000D7 /
410       DATA (PQ2MAX(1,2,K),K=1,ND12) /
411      +           1.000D8, 1.000D8, 1.000D8, 1.000D8, 1.000D8,
412      +           1.000D8, 1.000D8, 1.000D8, 1.000D8 /
413       DATA (PQ2MAX(1,3,K),K=1,ND13) /
414      +           1.310D6, 1.310D6, 1.310D6, 1.310D6, 1.310D6,
415      +           1.310D6, 1.310D6, 1.310D6, 1.310D6, 1.310D6,
416      +           1.310D6, 1.310D6, 1.310D6, 1.310D6, 1.310D6,
417      +           1.310D6, 1.310D6, 1.310D6, 1.310D6, 1.310D6,
418      +           2.680D9, 1.310D6, 1.310D6, 1.310D6, 1.310D6,
419      +           2.680D9, 2.680D9, 2.680D9, 2.680D9, 2.680D9,
420      +           2.680D9, 2.680D9, 2.680D9, 2.680D9, 2.680D9,
421      +           2.680D9, 1.310D6, 1.310D6, 1.310D6, 1.310D6,
422      +           1.310D6, 1.310D6, 1.310D6, 1.310D6, 1.310D6,
423      +           1.310D6, 1.310D6, 1.310D6, 1.310D6, 1.310D6,
424      +           1.310D6, 1.310D6, 1.000D7, 1.000D7, 1.000D7,
425      +           1.000D7, 1.000D7, 1.000D7 /
426       DATA (PQ2MAX(1,4,K),K=1,ND14) /
427      +           1.000D8, 1.000D8, 1.000D8, 1.000D8, 1.000D8,
428      +           1.000D8, 1.000D8, 1.000D8, 1.000D8, 1.000D8,
429      +           1.000D8, 1.000D6, 1.000D6, 1.000D6, 1.000D6,
430      +           1.000D6, 1.000D6, 1.000D6, 1.000D6, 1.000D6,
431      +           1.000D6, 1.000D6, 1.000D6, 1.000D6, 1.000D6,
432      +           1.000D6, 1.000D6, 1.000D6, 1.000D6, 1.000D6,
433      +           1.000D6, 1.000D8, 1.000D8, 1.000D8, 1.000D8,
434      +           1.000D6, 1.000D8, 1.000D8, 1.000D8, 1.000D8,
435      +           1.000D8 /
436       DATA (PQ2MAX(1,5,K),K=1,ND15) /
437      +           1.000D8, 1.000D8, 1.000D8, 1.000D8, 1.000D6,
438      +           1.000D6, 1.000D6, 1.000D4, 1.000D4, 1.000D4,
439      +           1.000D4 /
440       DATA (PQ2MAX(1,6,K),K=1,ND16) /
441      +           1.0000D8 /
442       DATA (PQ2MAX(1,7,K),K=1,ND17) /
443      +           1.310D6, 1.310D6 /
444 C.
445       DATA (PQ2MAX(2,1,K),K=1,ND21) /
446      +           2.0000D3, 2.0000D3 /
447       DATA (PQ2MAX(2,3,K),K=1,ND23) /
448      +           1.3100D6, 1.3100D6, 1.3100D6 /
449       DATA (PQ2MAX(2,5,K),K=1,ND25) /
450      +           1.0000D6, 1.0000D6 /
451       DATA (PQ2MAX(2,6,K),K=1,ND26) /
452      +           1.0000D8, 1.0000D8, 1.0000D8 /
453 C.
454       DATA (PQ2MAX(3,1,K),K=1,ND31) /
455      +           1.0000D4, 1.0000D4 /
456       DATA (PQ2MAX(3,2,K),K=1,ND32) /
457      +           1.0000D4, 50.000D0, 500.00D0, 1.0000D4 /
458       DATA (PQ2MAX(3,3,K),K=1,ND33) /
459      +           1.0000D5, 1.0000D5, 1.0000D5 /
460       DATA (PQ2MAX(3,4,K),K=1,ND34) /
461      +           1.0000D8, 1.0000D8, 1.0000D8, 1.0000D8, 1.0000D8 /
462       DATA (PQ2MAX(3,5,K),K=1,ND35) /
463      +           1.0000D6, 1.0000D6, 1.0000D6, 5.0000D4 /
464       DATA (PQ2MAX(3,6,K),K=1,ND36) /
465      +           5.5000D5, 5.5000D5, 5.5000D5/
466       DATA (PQ2MAX(3,8,K),K=1,ND38) /
467      +           2.5000D3, 2.5000D3, 2.5000D3, 2.5000D3, 2.5000D3,
468      +           2.5000D3 /
469       DATA (PQ2MAX(3,9,K),K=1,ND39) /
470      +           5.0000D4, 5.0000D4, 5.0000D4, 5.0000D4, 5.0000D4,
471      +           5.0000D4, 5.0000D4, 5.0000D4 /
472 C.
473       DATA AV /'BE','OR','GH','DO','EH','DF','MR','HM','KM',
474      +         'MT','CT','GR','AB','BM','WI','SA'/
475 C.
476       DATA ZEROD/0.D0/,PONED/0.1D0/,ONED/1.D0/,ONEDO/1.1D0/,TWOD/2.D0/
477       DATA ZEROMIN/0.0001D0/
478       DATA ISTART/0/
479 C.
480       SAVE ISTART, PQCDL4, PQCDL5, PXMIN, PXMAX, PQ2MIN, PQ2MAX,
481      +     /W50511/, /W505110/, /W505120/, /W505121/, /W505122/,
482      +     /W50514/, /W50514W/, /W50515/, /W50516/, /W50518/
483 C.
484       IF (ISTART.EQ.0) IFLSET = 0
485 C.
486 C Set the PDFLIB parameters to the values of the previous call to PDFSET
487       IF(IFLSET.EQ.1) THEN
488          IFLPRT = IFLPRTP
489          NPTYPE = NPTYPP
490          NGROUP = NGROPP
491          NSET   = NSETP
492          NFL    = NFLP
493          LO     = LOP
494          TMAS   = TMASP
495          QCDL4  = QCDL4P
496          QCDL5  = QCDL5P
497          XMIN   = XMINP
498          XMAX   = XMAXP
499          Q2MIN  = Q2MINP
500          Q2MAX  = Q2MAXP
501       ENDIF
502 C.
503 C Initialisation of PDFLIB parameters (first call to PDFSET)
504       IF(ISTART.EQ.0) THEN
505 C.
506 C set maximum dimensions for PDFs per particle type and per author group
507          CALL UFILL(NPGSMX,1,NPTYMX*NGRMAX,0)
508          NPGSMX(1,1) = ND11
509          NPGSMX(1,2) = ND12
510          NPGSMX(1,3) = ND13
511          NPGSMX(1,4) = ND14
512          NPGSMX(1,5) = ND15
513          NPGSMX(1,6) = ND16
514          NPGSMX(1,7) = ND17
515          NPGSMX(1,8) = ND18
516          NPGSMX(1,9) = ND19
517          NPGSMX(2,1) = ND21
518          NPGSMX(2,2) = ND22
519          NPGSMX(2,3) = ND23
520          NPGSMX(2,4) = ND24
521          NPGSMX(2,5) = ND25
522          NPGSMX(2,6) = ND26
523          NPGSMX(2,7) = ND27
524          NPGSMX(2,8) = ND28
525          NPGSMX(2,9) = ND29
526          NPGSMX(3,1) = ND31
527          NPGSMX(3,2) = ND32
528          NPGSMX(3,3) = ND33
529          NPGSMX(3,4) = ND34
530          NPGSMX(3,5) = ND35
531          NPGSMX(3,6) = ND36
532          NPGSMX(3,7) = ND37
533          NPGSMX(3,8) = ND38
534          NPGSMX(3,9) = ND39
535 C.
536 C set retracted PDF sets invalid
537          CALL UFILL(NSETFL,1,NPTYMX*NGRMAX*NSETMX,0)
538          DO KPTY = 1,NPTYMX
539             DO KGRO = 1,NGRMAX
540                IF(NPGSMX(KPTY,KGRO) .EQ. 0) GOTO 2
541                DO ISET = 1,NPGSMX(KPTY,KGRO)
542                   NSETFL(KPTY,KGRO,ISET) = 1
543                   IF (KPTY.EQ.1) THEN
544                      IF (KGRO.EQ.3) THEN
545                         IF (ISET.EQ.8) THEN
546                            NSETFL(KPTY,KGRO,ISET) = 0
547                         ENDIF
548                      ELSEIF (KGRO.EQ.5) THEN
549                         IF (ISET.EQ.1 .OR. ISET.EQ.2) THEN
550                            NSETFL(KPTY,KGRO,ISET) = 0
551                         ENDIF
552                      ENDIF
553                   ENDIF
554                ENDDO
555     2          CONTINUE
556             ENDDO
557          ENDDO
558 C.
559 C set character*8 NAME for each PDF
560          DO NPTY=1,NPTYMX
561             DO NGR=1,NGRMAX
562                DO NSET=1,NSETMX
563                   SFNAME(NPTY,NGR,NSET) = '        '
564                ENDDO
565             ENDDO
566          ENDDO
567          SFNAME(1,1,1)  = 'PRIVATE '
568          SFNAME(1,1,2)  = 'BEBC    '
569          SFNAME(1,1,3)  = 'OR      '
570          SFNAME(1,1,4)  = 'BEP     '
571          SFNAME(1,1,5)  = 'GHR     '
572          SFNAME(1,1,6)  = 'DO-1    '
573          SFNAME(1,1,7)  = 'DO-2    '
574          SFNAME(1,1,8)  = 'EHLQ-1  '
575          SFNAME(1,1,9)  = 'EHLQ-2  '
576          SFNAME(1,1,10) = 'DO-1.1  '
577          SFNAME(1,2,1)  = 'DFLM-SV '
578          SFNAME(1,2,2)  = 'DFLM-HV '
579          SFNAME(1,2,3)  = 'DFLM-SG '
580          SFNAME(1,2,4)  = 'DFLM-HG '
581          SFNAME(1,2,5)  = 'DFLM-LO '
582          SFNAME(1,2,6)  = 'DFLM-HO '
583          SFNAME(1,2,7)  = 'DFLM-160'
584          SFNAME(1,2,8)  = 'DFLM-260'
585          SFNAME(1,2,9)  = 'DFLM-360'
586          SFNAME(1,3,1)  = 'MRS-1   '
587          SFNAME(1,3,2)  = 'MRS-2   '
588          SFNAME(1,3,3)  = 'MRS-3   '
589          SFNAME(1,3,4)  = 'MRS-E   '
590          SFNAME(1,3,5)  = 'MRS-B   '
591          SFNAME(1,3,6)  = 'MRS-EP  '
592          SFNAME(1,3,7)  = 'MRS-BP  '
593          SFNAME(1,3,8)  = 'HMRS-E1.'
594          SFNAME(1,3,9)  = 'HMRS-B1.'
595          SFNAME(1,3,10) = 'HMRS-E3.'
596          SFNAME(1,3,11) = 'HMRS-B3.'
597          SFNAME(1,3,12) = 'HMRSE+  '
598          SFNAME(1,3,13) = 'HMRSE-  '
599          SFNAME(1,3,14) = 'HMRS-E  '
600          SFNAME(1,3,15) = 'HMRS-B  '
601          SFNAME(1,3,16) = 'HMRSB100'
602          SFNAME(1,3,17) = 'HMRSB300'
603          SFNAME(1,3,18) = 'KMRS-BM2'
604          SFNAME(1,3,19) = 'KMRS-BM5'
605          SFNAME(1,3,20) = 'KMRS-BM '
606          SFNAME(1,3,21) = 'KMRS-B0 '
607          SFNAME(1,3,22) = 'MRS-B0-1'
608          SFNAME(1,3,23) = 'MRS-B0-2'
609          SFNAME(1,3,24) = 'MRS-B0-3'
610          SFNAME(1,3,25) = 'MRS-B0-4'
611          SFNAME(1,3,26) = 'MRS-S0  '
612          SFNAME(1,3,27) = 'MRS-D0  '
613          SFNAME(1,3,28) = 'MRS-DM  '
614          SFNAME(1,3,29) = 'MRS-S0P '
615          SFNAME(1,3,30) = 'MRS-D0P '
616          SFNAME(1,3,31) = 'MRS-DMP '
617          SFNAME(1,3,32) = 'MRS-S0PD'
618          SFNAME(1,3,33) = 'MRS-D0PD'
619          SFNAME(1,3,34) = 'MRS-DMPD'
620          SFNAME(1,3,35) = 'MRS-(H) '
621          SFNAME(1,3,36) = 'MRS-(H)D'
622          SFNAME(1,3,37) = 'MRS-(A) '
623          SFNAME(1,3,38) = 'MRS-(A)F'
624          SFNAME(1,3,39) = 'MRS-Ap  '
625          SFNAME(1,3,40) = 'MRS-Ap F'
626          SFNAME(1,3,41) = 'MRS-G   '
627          SFNAME(1,3,42) = 'MRS-GFit'
628          SFNAME(1,3,43) = 'MRS-A lQ'
629          SFNAME(1,3,44) = 'MRS-ADlQ'
630          SFNAME(1,3,45) = 'MRS-Ap-1'
631          SFNAME(1,3,46) = 'MRS-Ap-2'
632          SFNAME(1,3,47) = 'MRS-Ap-3'
633          SFNAME(1,3,48) = 'MRS-Ap-4'
634          SFNAME(1,3,49) = 'MRS-Ap-5'
635          SFNAME(1,3,50) = 'MRS-Ap-6'
636          SFNAME(1,3,51) = 'MRS-J   '
637          SFNAME(1,3,52) = 'MRS-Jp  '
638          SFNAME(1,3,53) = 'MRS-R1  '
639          SFNAME(1,3,54) = 'MRS-R2  '
640          SFNAME(1,3,55) = 'MRS-R3  '
641          SFNAME(1,3,56) = 'MRS-R4  '
642          SFNAME(1,3,57) = 'MRS-R1Ft'
643          SFNAME(1,3,58) = 'MRS-R2Ft'
644          SFNAME(1,4,1)  = 'MT-S1DIS'
645          SFNAME(1,4,2)  = 'MT-B1DIS'
646          SFNAME(1,4,3)  = 'MT-B2DIS'
647          SFNAME(1,4,4)  = 'MT-E1DIS'
648          SFNAME(1,4,5)  = 'MT-6 DIS'
649          SFNAME(1,4,6)  = 'MT-S1MSB'
650          SFNAME(1,4,7)  = 'MT-B1MSB'
651          SFNAME(1,4,8)  = 'MT-B2MSB'
652          SFNAME(1,4,9)  = 'MT-E1MSB'
653          SFNAME(1,4,10) = 'MT-6 MSB'
654          SFNAME(1,4,11) = 'MT-LO   '
655          SFNAME(1,4,12) = 'CTEQ-1LO'
656          SFNAME(1,4,13) = 'CTEQ-1M '
657          SFNAME(1,4,14) = 'CTEQ-1MS'
658          SFNAME(1,4,15) = 'CTEQ-1ML'
659          SFNAME(1,4,16) = 'CTEQ-1D '
660          SFNAME(1,4,17) = 'CTEQ-2LO'
661          SFNAME(1,4,18) = 'CTEQ-2M '
662          SFNAME(1,4,19) = 'CTEQ-2MS'
663          SFNAME(1,4,20) = 'CTEQ-2MF'
664          SFNAME(1,4,21) = 'CTEQ-2ML'
665          SFNAME(1,4,22) = 'CTEQ-2D '
666          SFNAME(1,4,23) = 'CTEQ-2pL'
667          SFNAME(1,4,24) = 'CTEQ-2pM'
668          SFNAME(1,4,25) = 'CTEQ2pMS'
669          SFNAME(1,4,26) = 'CTEQ2pMF'
670          SFNAME(1,4,27) = 'CTEQ2pML'
671          SFNAME(1,4,28) = 'CTEQ-2pD'
672          SFNAME(1,4,29) = 'CTEQ-3L '
673          SFNAME(1,4,30) = 'CTEQ-3M '
674          SFNAME(1,4,31) = 'CTEQ-3D '
675          SFNAME(1,4,32) = 'CTEQ-4L '
676          SFNAME(1,4,33) = 'CTEQ-4D '
677          SFNAME(1,4,34) = 'CTEQ-4M '
678          SFNAME(1,4,35) = 'CTEQ-4A1'
679          SFNAME(1,4,36) = 'CTEQ-4A2'
680          SFNAME(1,4,37) = 'CTEQ-4A3'
681          SFNAME(1,4,38) = 'CTEQ-4A4'
682          SFNAME(1,4,39) = 'CTEQ-4A5'
683          SFNAME(1,4,40) = 'CTEQ-4HJ'
684          SFNAME(1,4,41) = 'CTEQ-4lQ'
685          SFNAME(1,5,1)  = 'GRV-HO  '
686          SFNAME(1,5,2)  = 'GRV-LO  '
687          SFNAME(1,5,3)  = 'GRV-HO  '
688          SFNAME(1,5,4)  = 'GRV-LO  '
689          SFNAME(1,5,5)  = 'GRV94-LO'
690          SFNAME(1,5,6)  = 'GRV94-MS'
691          SFNAME(1,5,7)  = 'GRV94-DI'
692          SFNAME(1,5,8)  = 'GRSV-LOS'
693          SFNAME(1,5,9)  = 'GRSV-LOV'
694          SFNAME(1,5,10) = 'GRSV-HOS'
695          SFNAME(1,5,11) = 'GRSV-HOV'
696          SFNAME(1,6,1)  = 'ABFOW   '
697          SFNAME(1,7,1)  = 'BM-A    '
698          SFNAME(1,7,2)  = 'BM-B    '
699          SFNAME(2,1,1)  = 'OW-P-1  '
700          SFNAME(2,1,2)  = 'OW-P-2  '
701          SFNAME(2,3,1)  = 'SMRS-P-1'
702          SFNAME(2,3,2)  = 'SMRS-P-2'
703          SFNAME(2,3,3)  = 'SMRS-P-3'
704          SFNAME(2,5,1)  = 'GRV-P-HO'
705          SFNAME(2,5,2)  = 'GRV-P-LO'
706          SFNAME(2,6,1)  = 'ABFKW-P1'
707          SFNAME(2,6,2)  = 'ABFKW-P2'
708          SFNAME(2,6,3)  = 'ABFKW-P3'
709          SFNAME(3,1,1)  = 'DO-G-LO '
710          SFNAME(3,1,2)  = 'DO-G-HO '
711          SFNAME(3,2,1)  = 'DG-G-1  '
712          SFNAME(3,2,2)  = 'DG-G-2  '
713          SFNAME(3,2,3)  = 'DG-G-3  '
714          SFNAME(3,2,4)  = 'DG-G-4  '
715          SFNAME(3,3,1)  = 'LAC-G-1 '
716          SFNAME(3,3,2)  = 'LAC-G-2 '
717          SFNAME(3,3,3)  = 'LAC-G-3 '
718          SFNAME(3,4,1)  = 'GS-G-1  '
719          SFNAME(3,4,2)  = 'GS-G-2  '
720          SFNAME(3,4,3)  = 'GS-G-3  '
721          SFNAME(3,4,4)  = 'GS-96-HO'
722          SFNAME(3,4,5)  = 'GS-96-LO'
723          SFNAME(3,5,1)  = 'GRV-GLHO'
724          SFNAME(3,5,2)  = 'GRV-G-HO'
725          SFNAME(3,5,3)  = 'GRV-G-LO'
726          SFNAME(3,5,4)  = 'GRS-G-LO'
727          SFNAME(3,6,1)  = 'ACFGP-GH'
728          SFNAME(3,6,2)  = 'ACFGP-GC'
729          SFNAME(3,6,3)  = 'AFG-G-HO'
730          SFNAME(3,8,1)  = 'WHIT-G-1'
731          SFNAME(3,8,2)  = 'WHIT-G-2'
732          SFNAME(3,8,3)  = 'WHIT-G-3'
733          SFNAME(3,8,4)  = 'WHIT-G-4'
734          SFNAME(3,8,5)  = 'WHIT-G-5'
735          SFNAME(3,8,6)  = 'WHIT-G-6'
736          SFNAME(3,9,1)  = 'SaS-1G1D'
737          SFNAME(3,9,2)  = 'SaS-1G1M'
738          SFNAME(3,9,3)  = 'SaS-1G2D'
739          SFNAME(3,9,4)  = 'SaS-1G2M'
740          SFNAME(3,9,5)  = 'SaS-2G1D'
741          SFNAME(3,9,6)  = 'SaS-2G1M'
742          SFNAME(3,9,7)  = 'SaS-2G2D'
743          SFNAME(3,9,8)  = 'SaS-2G2M'
744 C.
745 C set cross reference tables for NEW PDFLIB format version 4.0
746 C       (give OLD to get NEW)
747          DO I=1,MODEMX
748          NPTYCR(I) = I/100 + 1
749          IF(I.LE.99) THEN
750            IF(I.LE.  9) THEN
751               NGROCR(I) = 1
752               NSETCR(I) = I
753            ELSEIF(I.GE. 10 .AND. I.LE. 19) THEN
754               NGROCR(I) = 2
755               NSETCR(I) = I - 9
756            ELSEIF(I.GE. 20 .AND. I.LE. 47) THEN
757               NGROCR(I) = 3
758               NSETCR(I) = I - 19
759            ELSEIF(I.GE. 48 .AND. I.LE. 49) THEN
760               NGROCR(I) = -1
761               NSETCR(I) = -1
762            ELSEIF(I.GE. 50 .AND. I.LE. 61) THEN
763               NGROCR(I) = 4
764               NSETCR(I) = I - 49
765            ELSEIF(I.GE. 62 .AND. I.LE. 69) THEN
766               NGROCR(I) = -1
767               NSETCR(I) = -1
768            ELSEIF(I.GE. 70 .AND. I.LE. 73) THEN
769               NGROCR(I) = 5
770               NSETCR(I) = I - 69
771            ELSEIF(I.EQ. 74 )               THEN
772               NGROCR(I) = -1
773               NSETCR(I) = -1
774            ELSEIF(I.EQ. 75 )               THEN
775               NGROCR(I) = 1
776               NSETCR(I) = I - 65
777            ELSEIF(I.GE. 76 .AND. I.LE. 79) THEN
778               NGROCR(I) = -1
779               NSETCR(I) = -1
780            ELSEIF(I.EQ. 80 )               THEN
781               NGROCR(I) = 6
782               NSETCR(I) = I - 79
783            ELSEIF(I.GE. 81 .AND. I.LE. 85) THEN
784               NGROCR(I) = -1
785               NSETCR(I) = -1
786            ELSEIF(I.GE. 86 .AND. I.LE. 87) THEN
787               NGROCR(I) = 7
788               NSETCR(I) = I - 85
789            ELSEIF(I.GE. 88 .AND. I.LE. 99) THEN
790               NGROCR(I) = -1
791               NSETCR(I) = -1
792            ENDIF
793          ELSEIF(I.GE.100 .AND. I.LE.199) THEN
794            IF(I.GE.100 .AND. I.LE.105) THEN
795               NGROCR(I) = -1
796               NSETCR(I) = -1
797            ELSEIF(I.GE.106 .AND. I.LE.107) THEN
798               NGROCR(I) = 1
799               NSETCR(I) = I - 105
800            ELSEIF(I.GE.108 .AND. I.LE.129) THEN
801               NGROCR(I) = -1
802               NSETCR(I) = -1
803            ELSEIF(I.GE.130 .AND. I.LE.132) THEN
804               NGROCR(I) = 3
805               NSETCR(I) = I - 129
806            ELSEIF(I.GE.133 .AND. I.LE.171) THEN
807               NGROCR(I) = -1
808               NSETCR(I) = -1
809            ELSEIF(I.GE.172 .AND. I.LE.173) THEN
810               NGROCR(I) = 5
811               NSETCR(I) = I - 171
812            ELSEIF(I.GE.174 .AND. I.LE.179) THEN
813               NGROCR(I) = -1
814               NSETCR(I) = -1
815            ELSEIF(I.GE.180 .AND. I.LE.182) THEN
816               NGROCR(I) = 6
817               NSETCR(I) = I - 179
818            ELSEIF(I.GE.183 .AND. I.LE.199) THEN
819               NGROCR(I) = -1
820               NSETCR(I) = -1
821            ENDIF
822          ELSEIF(I.GE.200 .AND. I.LE.(MODEMX-1)) THEN
823            IF(I.GE.200 .AND. I.LE.205) THEN
824               NGROCR(I) = -1
825               NSETCR(I) = -1
826            ELSEIF(I.GE.206 .AND. I.LE.207) THEN
827               NGROCR(I) = 1
828               NSETCR(I) = I - 205
829            ELSEIF(I.GE.208 .AND. I.LE.209) THEN
830               NGROCR(I) = -1
831               NSETCR(I) = -1
832            ELSEIF(I.GE.210 .AND. I.LE.213) THEN
833               NGROCR(I) = 2
834               NSETCR(I) = I - 209
835            ELSEIF(I.GE.214 .AND. I.LE.219) THEN
836               NGROCR(I) = -1
837               NSETCR(I) = -1
838            ELSEIF(I.GE.220 .AND. I.LE.222) THEN
839               NGROCR(I) = 3
840               NSETCR(I) = I - 219
841            ELSEIF(I.GE.223 .AND. I.LE.229) THEN
842               NGROCR(I) = -1
843               NSETCR(I) = -1
844            ELSEIF(I.GE.230 .AND. I.LE.232) THEN
845               NGROCR(I) = 4
846               NSETCR(I) = I - 229
847            ELSEIF(I.GE.233 .AND. I.LE.270) THEN
848               NGROCR(I) = -1
849               NSETCR(I) = -1
850            ELSEIF(I.GE.271 .AND. I.LE.273) THEN
851               NGROCR(I) = 5
852               NSETCR(I) = I - 270
853            ELSEIF(I.GE.274 .AND. I.LE.279) THEN
854               NGROCR(I) = -1
855               NSETCR(I) = -1
856            ELSEIF(I.GE.280 .AND. I.LE.281) THEN
857               NGROCR(I) = 6
858               NSETCR(I) = I - 279
859            ELSEIF(I.GE.282 .AND. I.LE.(MODEMX-1)) THEN
860               NGROCR(I) = -1
861               NSETCR(I) = -1
862            ENDIF
863          ELSEIF(I.EQ.MODEMX) THEN
864            NPTYCR(I) = -1
865            NGROCR(I) = -1
866            NSETCR(I) = -1
867          ENDIF
868       ENDDO
869 C.
870 C Now get opposite cross reference
871 C       (give NEW to get OLD)
872          CALL UFILL(MODECR,1,NPTYMX*NGRMAX*NSETMX,-1)
873          DO I = 1,NPTYMX
874             DO J = 1,NGRMAX
875                IF (I.EQ.1) THEN
876                   IF (J.EQ.1) KT =  0
877                   IF (J.EQ.2) KT =  9
878                   IF (J.EQ.3) KT = 19
879                   IF (J.EQ.4) KT = 49
880                   IF (J.EQ.5) KT = 69
881                   IF (J.EQ.6) KT = 79
882                   IF (J.EQ.7) KT = 85
883                ELSEIF (I.EQ.2) THEN
884                   IF (J.EQ.1) KT = 105
885                   IF (J.EQ.3) KT = 129
886                   IF (J.EQ.5) KT = 171
887                   IF (J.EQ.6) KT = 179
888                ELSEIF (I.EQ.3) THEN
889                   IF (J.EQ.1) KT = 205
890                   IF (J.EQ.2) KT = 209
891                   IF (J.EQ.3) KT = 219
892                   IF (J.EQ.4) KT = 229
893                   IF (J.EQ.5) KT = 270
894                   IF (J.EQ.6) KT = 279
895                ENDIF
896                IF(NPGSMX(I,J).EQ.0) GOTO 5
897                DO K = 1,NPGSMX(I,J)
898                   KT = KT + 1
899                   MK = KT
900                   IF (I.EQ.1 .AND. J.EQ.1 .AND. K.EQ.10) MK = 75
901                   IF (I.EQ.1 .AND. J.EQ.3 .AND. K.GE.29) MK = -1
902                   IF (I.EQ.1 .AND. J.EQ.4 .AND. K.GE.12) MK = -1
903                   IF (I.EQ.1 .AND. J.EQ.5 .AND. K.GE. 5) MK = -1
904                   IF (I.EQ.3 .AND. J.EQ.5 .AND. K.GE. 4) MK = -1
905                   IF (I.EQ.3 .AND. J.EQ.6 .AND. K.GE. 3) MK = -1
906                   IF (I.EQ.3 .AND. J.EQ.8 .AND. K.GE. 1) MK = -1
907                   IF (I.EQ.3 .AND. J.EQ.9 .AND. K.GE. 1) MK = -1
908                   MODECR(I,J,K) = MK
909                ENDDO
910     5          CONTINUE
911             ENDDO
912          ENDDO
913 C Define Printer
914          IF(N6.LE.0) N6 = L6
915 C Define FIRST flag
916          FIRST = .TRUE.
917 C Set the default values
918          IF(IFLPRT.LT.0 .OR. IFLPRT.GT.5) IFLPRT = LFLPRT
919          NPTYPE = LPTYPE
920          NGROUP = LGROUP
921          NSET   = LNSET
922          NFL    = IFL
923          LO     = LORD
924          TMAS   = TM
925          QCDL4  = PQCDL4(NPTYPE,NGROUP,NSET)
926          QCDL5  = PQCDL5(NPTYPE,NGROUP,NSET)
927          XMIN   = PXMIN(NPTYPE,NGROUP,NSET)
928          XMAX   = PXMAX(NPTYPE,NGROUP,NSET)
929          Q2MIN  = PQ2MIN(NPTYPE,NGROUP,NSET)
930          Q2MAX  = PQ2MAX(NPTYPE,NGROUP,NSET)
931 C.
932 C Save the PDFLIB parameters
933          IFLPRTP = IFLPRT
934          NPTYPP  = NPTYPE
935          NGROPP  = NGROUP
936          NSETP   = NSET
937          NFLP    = NFL
938          LOP     = LO
939          TMASP   = TMAS
940          QCDL4P  = QCDL4
941          QCDL5P  = QCDL5
942          XMINP   = XMIN
943          XMAXP   = XMAX
944          Q2MINP  = Q2MIN
945          Q2MAXP  = Q2MAX
946 C. endif from ISTART
947       ENDIF
948 C.
949 C Validate call to PDFSET
950       IFLSET = 1
951 C.
952 C Default :  NEW version 4.0 of PDFLIB
953       NEWVER = .TRUE.
954 C.
955 C Now get user defined values
956       NFLU   = 0
957       LOU    = 0
958       TMASU  = ZEROD
959       QCDL4U = ZEROD
960       QCDL5U = ZEROD
961       XMINU  = ZEROD
962       XMAXU  = ZEROD
963       Q2MINU = ZEROD
964       Q2MAXU = ZEROD
965       KPTYP = 0
966       KGROP = 0
967       KNSET = 0
968       KMODE = 0
969       NV = 0
970       DO 10 I = 1,20
971       STRING = PARM(I)
972       CALL CLTOU(STRING)
973       NSCHECK = 0
974       DO NS = 1,NSDIM
975         IF(STRING(1:2).EQ.AV(NS)) NSCHECK = NS
976       ENDDO
977       IF(    STRING(1:5).NE.'INIT0' .AND. STRING(1:4).NE.'MODE'
978      + .AND. STRING(1:6).NE.'NPTYPE'.AND. STRING(1:6).NE.'NGROUP'
979      + .AND. STRING(1:4).NE.'NSET'  .AND. STRING(1:3).NE.'NFL'
980      + .AND. STRING(1:2).NE.'LO'    .AND. STRING(1:4).NE.'TMAS'
981      + .AND. STRING(1:5).NE.'QCDL4' .AND. STRING(1:5).NE.'QCDL5'
982      + .AND. STRING(1:4).NE.'XMIN'  .AND. STRING(1:4).NE.'XMAX'
983      + .AND. STRING(1:5).NE.'Q2MIN' .AND. STRING(1:5).NE.'Q2MAX'
984 C.
985      + .AND. STRING(1:2).NE.'NU'    .AND. STRING(1:2).NE.'PR'
986      + .AND. STRING(1:2).NE.'PI'    .AND. STRING(1:2).NE.'PH'
987      + .AND. STRING(1:3).NE.'PRI'   .AND. NSCHECK    .EQ.0
988      + .AND. STRING(1:2).NE.'OW'    .AND. STRING(1:2).NE.'SM'
989      + .AND. STRING(1:4).NE.'GRVP'  .AND. STRING(1:5).NE.'GRV-P'
990      + .AND. STRING(1:5).NE.'GRVPI' .AND. STRING(1:6).NE.'GRV-PI'
991      + .AND. STRING(1:4).NE.'ABFK'  .AND. STRING(1:3).NE.'DOG'
992      + .AND. STRING(1:4).NE.'DO-G'  .AND. STRING(1:4).NE.'DOPH'
993      + .AND. STRING(1:5).NE.'DO-PH' .AND. STRING(1:2).NE.'DG'
994      + .AND. STRING(1:2).NE.'LA'    .AND. STRING(1:2).NE.'GS'
995      + .AND. STRING(1:3).NE.'GRV'   .AND. STRING(1:3).NE.'GRS'
996      + .AND. STRING(1:4).NE.'WHIT'  .AND. STRING(1:3).NE.'SAS'
997      + .AND. STRING(1:2).NE.'AC'    .AND. STRING(1:5).NE.'FIRST')GOTO 20
998       NV = NV + 1
999       VALUE  = VAL(I)
1000 C.
1001       IF(STRING(1:5).EQ.'FIRST' .OR. STRING(1:4).EQ.'MODE'   .OR.
1002      +   STRING(1:6).EQ.'NPTYPE'.OR. STRING(1:6).EQ.'NGROUP' .OR.
1003      +   STRING(1:4).EQ.'NSET'  .OR. STRING(1:3).EQ.'NFL'    .OR.
1004      +   STRING(1:2).EQ.'LO'    .OR.
1005      +   STRING(1:3).EQ.'PRI'   .OR. NSCHECK    .GT.0        .OR.
1006      +   STRING(1:2).EQ.'OW'    .OR. STRING(1:2).EQ.'SM'     .OR.
1007      +   STRING(1:4).EQ.'GRVP'  .OR. STRING(1:5).EQ.'GRV-P'  .OR.
1008      +   STRING(1:5).EQ.'GRVPI' .OR. STRING(1:6).EQ.'GRV-PI' .OR.
1009      +   STRING(1:4).EQ.'ABFK'  .OR. STRING(1:3).EQ.'DOG'    .OR.
1010      +   STRING(1:4).EQ.'DO-G'  .OR. STRING(1:4).EQ.'DOPH'   .OR.
1011      +   STRING(1:5).EQ.'DO-PH' .OR. STRING(1:2).EQ.'DG'     .OR.
1012      +   STRING(1:2).EQ.'LA'    .OR. STRING(1:2).EQ.'GS'     .OR.
1013      +   STRING(1:3).EQ.'GRV'   .OR. STRING(1:3).EQ.'GRS'    .OR.
1014      +   STRING(1:4).EQ.'WHIT'  .OR. STRING(1:3).EQ.'SAS'    .OR.
1015      +   STRING(1:2).EQ.'AC'                               ) THEN
1016          TEMP = VALUE
1017          IF(ABS(VALUE).LT.1.E-2) TEMP = IVALUE
1018       ENDIF
1019 C Get user's setting for FIRST (option: silent mode => FIRST = .FALSE.)
1020       IF(STRING(1:5).EQ.'FIRST')   THEN
1021         IF(TEMP.EQ.0) FIRST = .FALSE.
1022         IF(TEMP.EQ.1) FIRST = .TRUE.
1023       ENDIF
1024 C.
1025 C. Return, because PDFSET was called ONLY for initialisation
1026       IF(STRING(1:5).EQ.'INIT0') THEN
1027          IFLSET = 0
1028 C Print status of PDFLIB
1029          IF(FIRST) THEN
1030             IF(ISTART.EQ.0) CALL PDFVERS
1031          ENDIF
1032          ISTART = 1
1033 C. Reset PDFSET parameters
1034          DO K = 1,NCHDIM
1035             PARM(K) = '  '
1036          ENDDO
1037          RETURN
1038       ENDIF
1039 C.
1040 C Check if PDFLIB format of new version 4.0 or of versions 3.0 or less
1041       IF(STRING(1:4).EQ.'MODE') THEN
1042         NEWVER = .FALSE.
1043         MODE = TEMP
1044         KMODE = 1
1045       ENDIF
1046 C Now NEW version 4.0 or bigger
1047 C Get particle type
1048       IF(STRING(1:6).EQ.'NPTYPE')   THEN
1049         NPTYPE = TEMP
1050         KPTYP  = 1
1051       ENDIF
1052 C Get Author Group Number
1053       IF(STRING(1:6).EQ.'NGROUP') THEN
1054         NGROUP = TEMP
1055         KGROP  = 1
1056       ENDIF
1057 C Get PDF Set within Author Group
1058       IF(STRING(1:4).EQ.'NSET' ) THEN
1059          NSET  = TEMP
1060          KNSET = 1
1061       ENDIF
1062 C Particle Type = Nucleons
1063       IF(STRING(1:2).EQ.'NU' .OR. STRING(1:2).EQ.'PR'
1064      +                       .OR. NSCHECK.GT.0)        THEN
1065         NPTYPE = 1
1066         KPTYP  = 1
1067       ENDIF
1068       IF(STRING(1:3).EQ.'PRI') THEN
1069         NPTYPE = 1
1070         KPTYP  = 1
1071         NGROUP = 1
1072         KGROP  = 1
1073         NSET   = TEMP
1074         KNSET  = 1
1075       ENDIF
1076       IF(NSCHECK.GE.1 .AND. NSCHECK.LE.5) THEN
1077         NPTYPE = 1
1078         KPTYP  = 1
1079         NGROUP = 1
1080         KGROP  = 1
1081         NSET   = TEMP
1082         KNSET  = 1
1083       ENDIF
1084       IF(NSCHECK.EQ.6) THEN
1085         NPTYPE = 1
1086         KPTYP  = 1
1087         NGROUP = 2
1088         KGROP  = 1
1089         NSET   = TEMP
1090         KNSET  = 1
1091       ENDIF
1092       IF(NSCHECK.GE.7 .AND. NSCHECK.LE.9) THEN
1093         NPTYPE = 1
1094         KPTYP  = 1
1095         NGROUP = 3
1096         KGROP  = 1
1097         NSET   = TEMP
1098         KNSET  = 1
1099       ENDIF
1100       IF(NSCHECK.GE.10 .AND. NSCHECK.LE.11) THEN
1101         NPTYPE = 1
1102         KPTYP  = 1
1103         NGROUP = 4
1104         KGROP  = 1
1105         NSET   = TEMP
1106         KNSET  = 1
1107       ENDIF
1108       IF(NSCHECK.EQ.12) THEN
1109         NPTYPE = 1
1110         KPTYP  = 1
1111         NGROUP = 5
1112         KGROP  = 1
1113         NSET   = TEMP
1114         KNSET  = 1
1115       ENDIF
1116       IF(NSCHECK.EQ.13) THEN
1117         NPTYPE = 1
1118         KPTYP  = 1
1119         NGROUP = 6
1120         KGROP  = 1
1121         NSET   = TEMP
1122         KNSET  = 1
1123       ENDIF
1124       IF(NSCHECK.EQ.14) THEN
1125         NPTYPE = 1
1126         KPTYP  = 1
1127         NGROUP = 7
1128         KGROP  = 1
1129         NSET   = TEMP
1130         KNSET  = 1
1131       ENDIF
1132 C Particle Type = Pions
1133       IF(STRING(1:2).EQ.'PI') THEN
1134         NPTYPE = 2
1135         KPTYP  = 1
1136       ENDIF
1137       IF(STRING(1:2).EQ.'OW'   .OR.
1138      +   STRING(1:3).EQ.'OWP'  .OR. STRING(1:4).EQ.'OW-P'   .OR.
1139      +   STRING(1:4).EQ.'OWPI' .OR. STRING(1:5).EQ.'OW-PI') THEN
1140         NPTYPE = 2
1141         KPTYP  = 1
1142         NGROUP = 1
1143         KGROP  = 1
1144         NSET   = TEMP
1145         KNSET  = 1
1146       ENDIF
1147       IF(STRING(1:2).EQ.'SM'     .OR.
1148      +   STRING(1:5).EQ.'SMRSP'  .OR. STRING(1:6).EQ.'SMRS-P'   .OR.
1149      +   STRING(1:6).EQ.'SMRSPI' .OR. STRING(1:7).EQ.'SMRS-PI') THEN
1150         NPTYPE = 2
1151         KPTYP  = 1
1152         NGROUP = 3
1153         KGROP  = 1
1154         NSET   = TEMP
1155         KNSET  = 1
1156       ENDIF
1157       IF(STRING(1:4).EQ.'GRVP'  .OR. STRING(1:5).EQ.'GRV-P'   .OR.
1158      +   STRING(1:5).EQ.'GRVPI' .OR. STRING(1:6).EQ.'GRV-PI') THEN
1159         NPTYPE = 2
1160         KPTYP  = 1
1161         NGROUP = 5
1162         KGROP  = 1
1163         NSET   = TEMP
1164         KNSET  = 1
1165       ENDIF
1166       IF(STRING(1:4).EQ.'ABFK'    .OR.
1167      +   STRING(1:6).EQ.'ABFKWP'  .OR. STRING(1:7).EQ.'ABFKW-P'   .OR.
1168      +   STRING(1:7).EQ.'ABFKWPI' .OR. STRING(1:8).EQ.'ABFKW-PI') THEN
1169         NPTYPE = 2
1170         KPTYP  = 1
1171         NGROUP = 6
1172         KGROP  = 1
1173         NSET   = TEMP
1174         KNSET  = 1
1175       ENDIF
1176 C Particle Type = Photons
1177       IF(STRING(1:2).EQ.'PH') THEN
1178         NPTYPE = 3
1179         KPTYP  = 1
1180       ENDIF
1181       IF(STRING(1:3).EQ.'DOG'  .OR. STRING(1:4).EQ.'DO-G'   .OR.
1182      +   STRING(1:4).EQ.'DOPH' .OR. STRING(1:5).EQ.'DO-PH') THEN
1183         NPTYPE = 3
1184         KPTYP  = 1
1185         NGROUP = 1
1186         KGROP  = 1
1187         NSET   = TEMP
1188         KNSET  = 1
1189       ENDIF
1190       IF(STRING(1:2).EQ.'DG'   .OR.
1191      +   STRING(1:3).EQ.'DGG'  .OR. STRING(1:4).EQ.'DG-G'   .OR.
1192      +   STRING(1:4).EQ.'DGPH' .OR. STRING(1:5).EQ.'DG-PH') THEN
1193         NPTYPE = 3
1194         KPTYP  = 1
1195         NGROUP = 2
1196         KGROP  = 1
1197         NSET   = TEMP
1198         KNSET  = 1
1199       ENDIF
1200       IF(STRING(1:2).EQ.'LA'    .OR.
1201      +   STRING(1:4).EQ.'LACG'  .OR. STRING(1:5).EQ.'LAC-G'   .OR.
1202      +   STRING(1:5).EQ.'LACPH' .OR. STRING(1:6).EQ.'LAC-PH') THEN
1203         NPTYPE = 3
1204         KPTYP  = 1
1205         NGROUP = 3
1206         KGROP  = 1
1207         NSET   = TEMP
1208         KNSET  = 1
1209       ENDIF
1210       IF(STRING(1:2).EQ.'GS'   .OR.
1211      +   STRING(1:3).EQ.'GSG'  .OR. STRING(1:4).EQ.'GS-G'   .OR.
1212      +   STRING(1:4).EQ.'GSPH' .OR. STRING(1:5).EQ.'GS-PH') THEN
1213         NPTYPE = 3
1214         KPTYP  = 1
1215         NGROUP = 4
1216         KGROP  = 1
1217         NSET   = TEMP
1218         KNSET  = 1
1219       ENDIF
1220       IF(STRING(1:4).EQ.'GRVG'  .OR. STRING(1:5).EQ.'GRV-G'   .OR.
1221      +   STRING(1:5).EQ.'GRVPH' .OR. STRING(1:6).EQ.'GRV-PH'  .OR.
1222      +   STRING(1:5).EQ.'GRSPH' .OR. STRING(1:6).EQ.'GRS-PH') THEN
1223         NPTYPE = 3
1224         KPTYP  = 1
1225         NGROUP = 5
1226         KGROP  = 1
1227         NSET   = TEMP
1228         KNSET  = 1
1229       ENDIF
1230       IF(STRING(1:2).EQ.'AC'      .OR.
1231      +   STRING(1:6).EQ.'ACFGPG'  .OR. STRING(1:7).EQ.'ACFGP-G'   .OR.
1232      +   STRING(1:7).EQ.'ACFGPPH' .OR. STRING(1:8).EQ.'ACFGP-PH') THEN
1233         NPTYPE = 3
1234         KPTYP  = 1
1235         NGROUP = 6
1236         KGROP  = 1
1237         NSET   = TEMP
1238         KNSET  = 1
1239       ENDIF
1240       IF(STRING(1:2).EQ.'WI'      .OR.
1241      +   STRING(1:5).EQ.'WHITG'  .OR. STRING(1:6).EQ.'WHIT-G'   .OR.
1242      +   STRING(1:6).EQ.'WHITPH' .OR. STRING(1:7).EQ.'WHIT-PH') THEN
1243         NPTYPE = 3
1244         KPTYP  = 1
1245         NGROUP = 8
1246         KGROP  = 1
1247         NSET   = TEMP
1248         KNSET  = 1
1249       ENDIF
1250       IF(STRING(1:2).EQ.'SA'      .OR.
1251      +   STRING(1:4).EQ.'SASG'  .OR. STRING(1:5).EQ.'SAS-G'   .OR.
1252      +   STRING(1:5).EQ.'SASPH' .OR. STRING(1:6).EQ.'SAS-PH') THEN
1253         NPTYPE = 3
1254         KPTYP  = 1
1255         NGROUP = 9
1256         KGROP  = 1
1257         NSET   = TEMP
1258         KNSET  = 1
1259       ENDIF
1260 C... set defaults for private structure functions set (Nset = 1)
1261       IF(NPTYPE.EQ.1 .AND. NGROUP.EQ.1 .AND. NSET.EQ.1) THEN
1262          NFL   = IFL
1263          LO    = LORD
1264          TMAS  = TM
1265          QCDL4 = ZEROD
1266          QCDL5 = ZEROMIN
1267          XMIN  = ZEROD
1268          XMAX  = 0.9999D0
1269          Q2MIN = ZEROD
1270          Q2MAX = 1.000D8
1271       ENDIF
1272       IF(STRING(1:3).EQ.'NFL'  ) NFLU   = TEMP
1273       IF(STRING(1:2).EQ.'LO'   ) LOU    = TEMP
1274       IF(STRING(1:4).EQ.'TMAS' ) TMASU  = VALUE
1275 C.
1276       IF(STRING(1:5).EQ.'QCDL4') QCDL4U = VALUE
1277       IF(STRING(1:5).EQ.'QCDL5') QCDL5U = VALUE
1278 C.
1279       IF(STRING(1:4).EQ.'XMIN')  XMINU  = VALUE
1280       IF(STRING(1:4).EQ.'XMAX')  XMAXU  = VALUE
1281       IF(STRING(1:5).EQ.'Q2MIN') Q2MINU = VALUE
1282       IF(STRING(1:5).EQ.'Q2MAX') Q2MAXU = VALUE
1283    10 CONTINUE
1284    20 CONTINUE
1285 C Print status of PDFLIB
1286          IF(FIRST) THEN
1287             IF(ISTART.EQ.0) CALL PDFVERS
1288          ENDIF
1289          ISTART = 1
1290 C Print values
1291       IF(IFLPRT.GE.1) THEN
1292          IF(NV.GT.0) THEN
1293             IF(NEWVER) THEN
1294                WRITE(N6,2000) (PARM(I)(1:6),I=1,NV)
1295             ELSE
1296                WRITE(N6,2000) (PARM(I)(1:4),I=1,NV)
1297             ENDIF
1298             WRITE(N6,2001) (VAL(I),I=1,NV)
1299          ELSE
1300             WRITE(N6,2002)
1301          ENDIF
1302       ELSE
1303          IF(NV.EQ.0) WRITE(N6,2002)
1304       ENDIF
1305  2000 FORMAT(/,'  Parm = ',10(1X,A8))
1306  2001 FORMAT(1H ,' Val  = ',10(1X,F8.4))
1307  2002 FORMAT(/,'  PDFSET : Warning!!  NO Parameters read in,   defaults
1308      + (Nucleon PDFs) used !!')
1309 C.
1310 C. check on conflicting parameters in case of mixed versions
1311       IF((KPTYP*KMODE).EQ.1 .OR. (KGROP*KMODE).EQ.1 .OR.
1312      +   (KNSET*KMODE).EQ.1) THEN
1313            WRITE(N6,*)
1314      +   ' PDFLIB  : Warning!!   Mixed parameter settings for OLD and NE
1315      +W version of PDFLIB format'
1316            WRITE(N6,*)
1317      +  ' Warning : ALL parameters set to NEW default (Nucleon PDFs) !!'
1318            NEWVER = .TRUE.
1319            NPTYPE = LPTYPE
1320            NGROUP = LGROUP
1321            NSET   = LNSET
1322       ENDIF
1323 C.
1324 #include "pdf/w50511c.inc"
1325 C.
1326 C User wants old version (3.0 or less) of PDFLIB format
1327       IF(.NOT.NEWVER) THEN
1328         IF (MODE .GE.0 .AND. MODE .LE.MODEMX) THEN
1329            IF(MODE.EQ.0) THEN
1330              NPTYPE = LPTYPO
1331              NGROUP = LGROPO
1332              NSET   = LNSETO
1333            ELSE
1334              NPTYPE = NPTYCR(MODE)
1335              NGROUP = NGROCR(MODE)
1336              NSET   = NSETCR(MODE)
1337 C Check on validity of parameter values
1338              IF (NPTYPE.LT.0 .OR. NGROUP.LT.0 .OR. NSET.LT.0) THEN
1339                 IF(FIRST) THEN
1340                 WRITE(N6,*) ' PDFLIB  : MODE value INCORRECT, MODE = ',
1341      +          MODE
1342                WRITE(N6,*) ' Warning : MODE value set to OLD default !!'
1343                 ENDIF
1344                 NPTYPE = LPTYPO
1345                 NGROUP = LGROPO
1346                 NSET   = LNSETO
1347                 GOTO 30
1348              ENDIF
1349           ENDIF
1350         ELSE
1351           IF(FIRST) THEN
1352           WRITE(N6,*) ' PDFLIB  : MODE value INCORRECT, MODE = ',MODE
1353           WRITE(N6,*) ' Warning : MODE value set to OLD default !!'
1354           ENDIF
1355           NPTYPE = LPTYPO
1356           NGROUP = LGROPO
1357           NSET   = LNSETO
1358         ENDIF
1359 C User wants new version (4.0 or bigger) of PDFLIB format
1360       ELSE
1361 C Check on validity of parameter values
1362         IF (NSET.EQ.0) THEN
1363            NPTYPE = LPTYPE
1364            NGROUP = LGROUP
1365            NSET   = LNSET
1366            IF(FIRST) THEN
1367            WRITE(N6,*)
1368      +      ' PDFLIB  : DEFAULT parameter set (Nucleon PDFs) has been
1369      + chosen !'
1370            WRITE(N6,*)
1371      +      ' PDFLIB  : Nptype = ',NPTYPE,'   Ngroup = ',NGROUP,
1372      +      '   Nset = ',NSET
1373            ENDIF
1374         ENDIF
1375         IF (NPTYPE.LT.0 .OR. NPTYPE.EQ.0 .OR. NPTYPE.GT.NPTYMX) THEN
1376            IF(FIRST) THEN
1377            WRITE(N6,*)
1378      +   ' PDFLIB  : Particle type number INCORRECT, Nptype = ',
1379      +     NPTYPE,'   Ngroup = ',NGROUP,'   Nset = ',NSET
1380            WRITE(N6,*)
1381      +   ' Warning : ALL parameters set to default (Nucleon PDFs) !!'
1382            ENDIF
1383            NPTYPE = LPTYPE
1384            NGROUP = LGROUP
1385            NSET   = LNSET
1386         ENDIF
1387         IF (NGROUP.LT.0 .OR. NGROUP.EQ.0 .OR. NGROUP.GT.NGRMAX) THEN
1388            IF(FIRST) THEN
1389            WRITE(N6,*)
1390      +   ' PDFLIB  : Group number for PDFs INCORRECT, Nptype = ',
1391      +     NPTYPE,'   Ngroup = ',NGROUP,'   Nset = ',NSET
1392            WRITE(N6,*)
1393      +   ' Warning : ALL parameters set to default (Nucleon PDFs) !!'
1394            ENDIF
1395            NPTYPE = LPTYPE
1396            NGROUP = LGROUP
1397            NSET   = LNSET
1398         ENDIF
1399         IF (NSET.LT.0 .OR. NSET.EQ.0 .OR. NSET.GT.NPGSMX(NPTYPE,NGROUP))
1400      +  THEN
1401            IF(FIRST) THEN
1402            WRITE(N6,*)
1403      +   ' PDFLIB  : NSET value for PDFs INCORRECT, Nptype = ',
1404      +     NPTYPE,'   Ngroup = ',NGROUP,'   Nset = ',NSET
1405            WRITE(N6,*)
1406      +   ' Warning : ALL parameters set to default (Nucleon PDFs) !!'
1407            ENDIF
1408            NPTYPE = LPTYPE
1409            NGROUP = LGROUP
1410            NSET   = LNSET
1411         ENDIF
1412       ENDIF
1413    30 CONTINUE
1414 C.
1415 C Check on retracted PDF sets
1416         IF (NSETFL(NPTYPE,NGROUP,NSET).EQ.0) THEN
1417            IF(FIRST) THEN
1418            WRITE(N6,*)
1419      +   ' PDFLIB  : Your selected PDF set has been retracted by the aut
1420      +hors'
1421            WRITE(N6,*)
1422      +   ' Warning : ALL parameters set to default (Nucleon PDFs) !!'
1423            ENDIF
1424            NPTYPE = LPTYPE
1425            NGROUP = LGROUP
1426            NSET   = LNSET
1427         ENDIF
1428 C.
1429 C Number of flavours in alpha(s) calculation
1430       IF (ABS(NFL).LT.3 .OR. ABS(NFL).GT.6) THEN
1431          IF(FIRST) THEN
1432          IF(NPTYPE.EQ.1 .AND. NGROUP.EQ.1 .AND. NSET.EQ.1) WRITE(N6,*)
1433      +   '   You are calling the DUMMY private SF routine !!'
1434          WRITE(N6,*) ' PDFLIB  : NFL value outside range, NFL = ',NFL
1435          WRITE(N6,*) ' Warning : NFL value set to default !!'
1436          ENDIF
1437          NFL = IFL
1438       ENDIF
1439       IF (NFLU .GT. 0) THEN
1440          NFL = NFLU
1441          IF(FIRST) THEN
1442          IF(NFLU.NE.NFLP) THEN
1443          WRITE(N6,*) ' PDFLIB  : NFL value'
1444          WRITE(N6,*) ' Warning : NON standard settings, NFL value = ',
1445      +   NFL,'  set by user !!'
1446          ENDIF
1447          ENDIF
1448       ENDIF
1449 C.
1450 C Order of alpha(s) calculation
1451       LO=LORD
1452       IF ((NPTYPE.EQ.1.AND.NGROUP.EQ.1.AND.NSET.GE. 2) .OR.
1453      +    (NPTYPE.EQ.1.AND.NGROUP.EQ.2.AND.NSET.LE. 5) .OR.
1454      +   (NPTYPE.EQ.1.AND.NGROUP.EQ.4.AND.NSET.GE.11.AND.NSET.LE.12).OR.
1455      +    (NPTYPE.EQ.1.AND.NGROUP.EQ.4.AND.NSET.EQ.17) .OR.
1456      +    (NPTYPE.EQ.1.AND.NGROUP.EQ.4.AND.NSET.EQ.23) .OR.
1457      +    (NPTYPE.EQ.1.AND.NGROUP.EQ.4.AND.NSET.EQ.29) .OR.
1458      +    (NPTYPE.EQ.1.AND.NGROUP.EQ.4.AND.NSET.EQ.32) .OR.
1459      +    (NPTYPE.EQ.1.AND.NGROUP.EQ.5.AND.NSET.EQ. 2) .OR.
1460      +    (NPTYPE.EQ.1.AND.NGROUP.EQ.5.AND.NSET.GE. 4.AND.NSET.LE.5).OR.
1461      +    (NPTYPE.EQ.1.AND.NGROUP.EQ.5.AND.NSET.GE. 8.AND.NSET.LE.9).OR.
1462      +    (NPTYPE.EQ.2.AND.NGROUP.EQ.1.AND.NSET.LE. 2) .OR.
1463      +    (NPTYPE.EQ.2.AND.NGROUP.EQ.5.AND.NSET.EQ. 2) .OR.
1464      +    (NPTYPE.EQ.3.AND.NGROUP.EQ.1.AND.NSET.EQ. 1) .OR.
1465      +    (NPTYPE.EQ.3.AND.NGROUP.EQ.2.AND.NSET.LE. 4) .OR.
1466      +    (NPTYPE.EQ.3.AND.NGROUP.EQ.3.AND.NSET.LE. 3) .OR.
1467      +    (NPTYPE.EQ.3.AND.NGROUP.EQ.4.AND.NSET.GE. 2.AND.NSET.LE.3).OR.
1468      +    (NPTYPE.EQ.3.AND.NGROUP.EQ.4.AND.NSET.EQ. 5) .OR.
1469      +    (NPTYPE.EQ.3.AND.NGROUP.EQ.5.AND.NSET.GE. 3.AND.NSET.LE.4).OR.
1470      +    (NPTYPE.EQ.3.AND.(NGROUP.GE.8.AND.NGROUP.LE.9)))
1471      +     LO=1
1472       IF (LOU .GT. 0) THEN
1473          LO = LOU
1474          IF(FIRST) THEN
1475          IF(LOU.NE.LOP) THEN
1476          WRITE(N6,*) ' PDFLIB  : LO  value'
1477          WRITE(N6,*) ' Warning : NON standard settings, LO value = ',
1478      +   LO,'  set by user !!'
1479          ENDIF
1480          ENDIF
1481       ENDIF
1482 C.
1483 C Top Quark mass
1484       IF(TMAS.LE.ZEROD) THEN
1485         IF(FIRST) THEN
1486         WRITE(N6,*)' PDFLIB  : TMAS value zero or negativ, Tmas = ',TMAS
1487         WRITE(N6,*)' Warning : TMAS value set to default !!'
1488         ENDIF
1489         TMAS = TM
1490       ENDIF
1491       IF (TMASU .GT. ZEROMIN) THEN
1492          TMAS = TMASU
1493          IF(FIRST) THEN
1494          IF(TMASU.NE.TMASP) THEN
1495          WRITE(N6,*)' PDFLIB  : TMAS value'
1496          WRITE(N6,*) ' Warning : NON standard settings, TMAS value = ',
1497      +   TMAS,'  set by user !!'
1498          ENDIF
1499          ENDIF
1500       ENDIF
1501 C.
1502 C. this lambda (NFL=4) is given by the authors and
1503 C.                     NOT used in the calculation
1504       QCDL4 = PQCDL4(NPTYPE,NGROUP,NSET)
1505       IF(NPTYPE.EQ.1 .AND. NGROUP.EQ.1 .AND. NSET.EQ.1) THEN
1506          IF (QCDL5 .LT. ZEROMIN) THEN
1507             IF(FIRST) THEN
1508             WRITE (N6,*) ' PDFLIB  : QCD-Lambda5 is not defined !! '
1509             WRITE (N6,*) ' Warning : QCD-Lambda5 set to QCDL5 = 0.0D0'
1510             ENDIF
1511             QCDL4 = ZEROD
1512             QCDL5 = ZEROD
1513 C. Reset PDFSET parameters
1514             DO K = 1,NCHDIM
1515                PARM(K) = '  '
1516             ENDDO
1517             RETURN
1518          ENDIF
1519       ENDIF
1520       IF (QCDL4U .GT. ZEROMIN) THEN
1521          QCDL4 = QCDL4U
1522          IF(FIRST) THEN
1523          IF(QCDL4U.NE.QCDL4P) THEN
1524          WRITE (N6,*) ' PDFLIB  : QCD-Lambda4 value'
1525          WRITE(N6,*) ' Warning : NON standard settings, QCDL4 value = ',
1526      +   QCDL4,'  set by user !!'
1527          ENDIF
1528          ENDIF
1529       ENDIF
1530 C.
1531 C. this is the lambda (NFL=5) used in the calculation
1532       QCDL5 = PQCDL5(NPTYPE,NGROUP,NSET)
1533       IF (QCDL5U .GT. ZEROMIN) THEN
1534          QCDL5 = QCDL5U
1535          IF(FIRST) THEN
1536          IF(QCDL5U.NE.QCDL5P) THEN
1537          WRITE (N6,*) ' PDFLIB  : QCD-Lambda5 value'
1538          WRITE(N6,*) ' Warning : NON standard settings, QCDL5 value = ',
1539      +   QCDL5,'  set by user !!'
1540          ENDIF
1541          ENDIF
1542       ENDIF
1543 C.
1544 C Minimal X values
1545       XMIN  = PXMIN(NPTYPE,NGROUP,NSET)
1546       IF (XMINU .GT. ZEROMIN) THEN
1547          XMIN = XMINU
1548          IF(FIRST) THEN
1549          IF(XMINU.NE.XMINP) THEN
1550          WRITE (N6,*) ' PDFLIB  : XMIN value'
1551          WRITE(N6,*) ' Warning : NON standard settings, XMIN value = ',
1552      +   XMIN,'  set by user !!'
1553          ENDIF
1554          ENDIF
1555       ENDIF
1556 C.
1557 C Maximal X values
1558       XMAX  = PXMAX(NPTYPE,NGROUP,NSET)
1559       IF (XMAXU .GT. ZEROMIN) THEN
1560          XMAX = XMAXU
1561          IF(FIRST) THEN
1562          IF(XMAXU.NE.XMAXP) THEN
1563          WRITE (N6,*) ' PDFLIB  : XMAX value'
1564          WRITE(N6,*) ' Warning : NON standard settings, XMAX value = ',
1565      +   XMAX,'  set by user !!'
1566          ENDIF
1567          ENDIF
1568       ENDIF
1569 C.
1570 C Minimal Q**2 values
1571       Q2MIN = PQ2MIN(NPTYPE,NGROUP,NSET)
1572       IF (Q2MINU .GT. ZEROMIN) THEN
1573          Q2MIN = Q2MINU
1574          IF(FIRST) THEN
1575          IF(Q2MINU.NE.Q2MINP) THEN
1576          WRITE (N6,*) ' PDFLIB  : Q2MIN value'
1577          WRITE(N6,*) ' Warning : NON standard settings, Q2MIN value = ',
1578      +   Q2MIN,'  set by user !!'
1579          ENDIF
1580          ENDIF
1581       ENDIF
1582 C.
1583 C Maximal Q**2 values
1584       Q2MAX = PQ2MAX(NPTYPE,NGROUP,NSET)
1585       IF (Q2MAXU .GT. ZEROMIN) THEN
1586          Q2MAX = Q2MAXU
1587          IF(FIRST) THEN
1588          IF(Q2MAXU.NE.Q2MAXP) THEN
1589          WRITE (N6,*) ' PDFLIB  : Q2MAX value'
1590          WRITE(N6,*) ' Warning : NON standard settings, Q2MAX value = ',
1591      +   Q2MAX,'  set by user !!'
1592          ENDIF
1593          ENDIF
1594       ENDIF
1595 C.
1596 C Save the PDFLIB parameters
1597          IFLPRTP = IFLPRT
1598          NPTYPP  = NPTYPE
1599          NGROPP  = NGROUP
1600          NSETP   = NSET
1601          NFLP    = NFL
1602          LOP     = LO
1603          TMASP   = TMAS
1604          QCDL4P  = QCDL4
1605          QCDL5P  = QCDL5
1606          XMINP   = XMIN
1607          XMAXP   = XMAX
1608          Q2MINP  = Q2MIN
1609          Q2MAXP  = Q2MAX
1610 C.
1611 C... Reset variables to zero for error counting
1612            PDFWGT = ONED
1613            WXMIN = ZEROD
1614            WXMAX = ZEROD
1615            WQ2MIN = ZEROD
1616            WQ2MAX = ZEROD
1617            WTXMIN = ZEROD
1618            WTXMAX = ZEROD
1619            WTQ2MIN = ZEROD
1620            WTQ2MAX = ZEROD
1621 C.
1622 C print COMMON block values
1623       IF(IFLPRT.GE.2) THEN
1624          WRITE(N6,3000) NPTYPE,NGROUP,NSET,SFNAME(NPTYPE,NGROUP,NSET),
1625      +                  MODECR(NPTYPE,NGROUP,NSET)
1626          WRITE(N6,3001) NFL,LO,TMAS
1627          WRITE(N6,3002) QCDL4,QCDL5
1628          WRITE(N6,3003) XMIN,XMAX,Q2MIN,Q2MAX
1629       ENDIF
1630  3000 FORMAT(/,'  Nptype = ',I1,'  Ngroup = ',I1,'  Nset = ',I2,
1631      +         '  Name  = "',A8,'"  CrMode = ',I3)
1632  3001 FORMAT(1H ,' Nfl    = ',I2,',  LO = ',I1,
1633      +           ',  Tmas = ',F7.2,' GeV/c**2')
1634  3002 FORMAT(1H ,' QCDL4  = ',F7.4,' GeV,  QCDL5 = ',F7.4,' GeV')
1635  3003 FORMAT(1H ,' Xmin   = ',1X,E8.2,',  Xmax = ',E11.5,
1636      +          ',  Q2min = ',F7.3,' (GeV/c)**2,  Q2max = ',E8.2,
1637      +          ' (GeV/c)**2')
1638 C.
1639 C. Reset PDFSET parameters
1640       DO K = 1,NCHDIM
1641          PARM(K) = '  '
1642       ENDDO
1643 C.
1644       RETURN
1645       END