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