]>
Commit | Line | Data |
---|---|---|
0795afa3 | 1 | #include "isajet/pilot.h" |
2 | SUBROUTINE READIN(IFL) | |
3 | C | |
4 | C Read in user data and execute SETTYP if appropriate values | |
5 | C are set. IFL return values: | |
6 | C IFL = 0 Good parameter set | |
7 | C IFL = 1001 Stop | |
8 | C IFL > 0 Error. Program will continue reading data but | |
9 | C will exit when END or unrecognizable keyword | |
10 | C is found. | |
11 | C | |
12 | #if defined(CERNLIB_IMPNONE) | |
13 | IMPLICIT NONE | |
14 | #endif | |
15 | #include "isajet/itapes.inc" | |
16 | #include "isajet/mbgen.inc" | |
17 | #include "isajet/force.inc" | |
18 | #include "isajet/dkytab.inc" | |
19 | #include "isajet/qcdpar.inc" | |
20 | #include "isajet/eepar.inc" | |
21 | #include "isajet/idrun.inc" | |
22 | #include "isajet/frgpar.inc" | |
23 | #include "isajet/keys.inc" | |
24 | #include "isajet/kkgrav.inc" | |
25 | #include "isajet/prtout.inc" | |
26 | #include "isajet/seed.inc" | |
27 | #include "isajet/types.inc" | |
28 | #include "isajet/primar.inc" | |
29 | #include "isajet/jetlim.inc" | |
30 | #include "isajet/nodcay.inc" | |
31 | #include "isajet/wcon.inc" | |
32 | #include "isajet/dylim.inc" | |
33 | #include "isajet/qlmass.inc" | |
34 | #include "isajet/q1q2.inc" | |
35 | #include "isajet/jetpar.inc" | |
36 | #include "isajet/isloop.inc" | |
37 | #include "isajet/tcpar.inc" | |
38 | #include "isajet/xmssm.inc" | |
39 | #include "isajet/sugnu.inc" | |
40 | #if defined(CERNLIB_PDFLIB) | |
41 | #include "isajet/w50510.inc" | |
42 | * Ignoring t=pass | |
43 | #endif | |
44 | #if defined(CERNLIB_PDFLIB) | |
45 | #include "isajet/w50517.inc" | |
46 | * Ignoring t=pass | |
47 | #endif | |
48 | #include "isajet/hcon.inc" | |
49 | #include "isajet/mglims.inc" | |
50 | C | |
51 | LOGICAL SETTYP,DUMY | |
52 | CHARACTER*8 TTL(10),WORD,LSTRUC,BLANK | |
53 | CHARACTER*8 WTYP(4),RDID(2) | |
54 | CHARACTER*40 V,VISAJE | |
55 | INTEGER NLAP(3,17) | |
56 | INTEGER IDANTI,ID,IDB | |
57 | INTEGER IFL,I1,I2,I3,J1,I,IKEY,IJ,J,KK,IDABS | |
58 | INTEGER IDXQKL,IDXQKR | |
59 | INTEGER NSEL,K,KFORCE(5),INDEX,IDG1,IDG2,IDG3,IDG4,IDXLEP | |
60 | REAL AMW,AMZ | |
61 | CHARACTER*8 HTYPE | |
62 | INTEGER JLIM1,JLIM2 | |
63 | REAL AMLIM1,AMLIM2 | |
64 | #if defined(CERNLIB_SINGLE) | |
65 | REAL SEED | |
66 | #endif | |
67 | #if defined(CERNLIB_DOUBLE) | |
68 | DOUBLE PRECISION SEED | |
69 | #endif | |
70 | #if defined(CERNLIB_PDFLIB) | |
71 | CHARACTER*20 PDFPAR(20) | |
72 | #endif | |
73 | #if (defined(CERNLIB_PDFLIB))&&(defined(CERNLIB_SINGLE)) | |
74 | REAL PDFVAL(20) | |
75 | REAL DX,DSCALE,DXPDF(-6:6) | |
76 | #endif | |
77 | #if (defined(CERNLIB_PDFLIB))&&(defined(CERNLIB_DOUBLE)) | |
78 | DOUBLE PRECISION PDFVAL(20) | |
79 | DOUBLE PRECISION DX,DSCALE,DXPDF(-6:6) | |
80 | #endif | |
81 | C | |
82 | C Overlapping variable flags. | |
83 | DATA NLAP/1,2,3, 1,2,7 ,1,2,8, 1,3,5, 1,3,6, 1,3,7, 1,3,8, 1,5,7, | |
84 | X 1,5,8, 1,6,7, 1,6,8, 2,3,7, 2,3,8, 3,5,7, 3,6,7, 3,5,8, | |
85 | X 3,6,8/ | |
86 | DATA BLANK/' '/ | |
87 | C | |
88 | C Entry | |
89 | IFL=0 | |
90 | V=VISAJE() | |
91 | WRITE(ITLIS,10) V | |
92 | 10 FORMAT('1',//5X,'***** ',A40,' *****') | |
93 | WRITE(ITLIS,11) | |
94 | 11 FORMAT(////30X,' COMMANDS READ BY READIN') | |
95 | C | |
96 | C Read title | |
97 | C | |
98 | READ(ITCOM,1) TTL | |
99 | 1 FORMAT(10A8) | |
100 | WRITE(ITLIS,2) TTL | |
101 | 2 FORMAT(' ',10A8) | |
102 | IF(TTL(1).EQ.'STOP ') THEN | |
103 | IFL=1001 | |
104 | RETURN | |
105 | ENDIF | |
106 | C | |
107 | C Read energy and no. of events | |
108 | C | |
109 | READ(ITCOM,*) ECM,NEVENT,NEVPRT,NJUMP | |
110 | WRITE(ITLIS,*) ECM,NEVENT,NEVPRT,NJUMP | |
111 | C | |
112 | C Reset all variables and set process if title is not 'SAME' | |
113 | C | |
114 | IF(TTL(1).NE.'SAME ') THEN | |
115 | DO 20 I=1,10 | |
116 | 20 TITLE(I)=TTL(I) | |
117 | CALL RESET | |
118 | KEYON=.FALSE. | |
119 | C Read reaction | |
120 | READ(ITCOM,3) REAC | |
121 | 3 FORMAT(A8) | |
122 | WRITE(ITLIS,4) REAC | |
123 | 4 FORMAT(1X,A8) | |
124 | DO 18 I=1,MXKEYS | |
125 | 18 KEYS(I)=.FALSE. | |
126 | KEYON=.FALSE. | |
127 | C Set KEYS and NJET | |
128 | IF(REAC.EQ.'TWOJET ') THEN | |
129 | KEYS(1)=.TRUE. | |
130 | IKEY=1 | |
131 | NJET=2 | |
132 | ELSEIF(REAC.EQ.'E+E- ') THEN | |
133 | KEYS(2)=.TRUE. | |
134 | IKEY=2 | |
135 | NJET=2 | |
136 | ELSEIF(REAC.EQ.'DRELLYAN') THEN | |
137 | KEYS(3)=.TRUE. | |
138 | IKEY=3 | |
139 | NJET=3 | |
140 | ELSEIF(REAC.EQ.'MINBIAS ') THEN | |
141 | KEYS(4)=.TRUE. | |
142 | IKEY=4 | |
143 | NJET=0 | |
144 | ELSEIF(REAC.EQ.'SUPERSYM'.OR.REAC.EQ.'SUSY ') THEN | |
145 | KEYS(5)=.TRUE. | |
146 | IKEY=5 | |
147 | NJET=2 | |
148 | ELSEIF(REAC.EQ.'WPAIR ') THEN | |
149 | KEYS(6)=.TRUE. | |
150 | IKEY=6 | |
151 | NJET=2 | |
152 | ELSEIF(REAC.EQ.'HIGGS ') THEN | |
153 | KEYS(7)=.TRUE. | |
154 | IKEY=7 | |
155 | NJET=2 | |
156 | ELSEIF(REAC.EQ.'PHOTON ') THEN | |
157 | KEYS(8)=.TRUE. | |
158 | IKEY=8 | |
159 | NJET=2 | |
160 | ELSEIF(REAC.EQ.'TCOLOR ') THEN | |
161 | KEYS(9)=.TRUE. | |
162 | IKEYS=9 | |
163 | NJET=2 | |
164 | ELSEIF(REAC.EQ.'WHIGGS ') THEN | |
165 | KEYS(10)=.TRUE. | |
166 | IKEY=10 | |
167 | NJET=2 | |
168 | ELSEIF(REAC.EQ.'EXTRADIM') THEN | |
169 | KEYS(11)=.TRUE. | |
170 | IKEY=11 | |
171 | NJET=3 | |
172 | ELSEIF(REAC.EQ.'ZJJ ') THEN | |
173 | KEYS(12)=.TRUE. | |
174 | IKEY=12 | |
175 | NJET=3 | |
176 | ELSE | |
177 | KEYON=.FALSE. | |
178 | 890 WRITE(ITLIS,1999) | |
179 | IFL=9 | |
180 | RETURN | |
181 | ENDIF | |
182 | ENDIF | |
183 | C | |
184 | SCM=ECM**2 | |
185 | HALFE=ECM/2 | |
186 | NSEL=0 | |
187 | C | |
188 | C Read keyword. For each recognized keyword read corresponding | |
189 | C variables and set LOC flag. | |
190 | C | |
191 | NSEL=0 | |
192 | 100 CONTINUE | |
193 | READ(ITCOM,3) WORD | |
194 | WRITE(ITLIS,4) WORD | |
195 | NSEL=NSEL+1 | |
196 | C | |
197 | C Keyword END | |
198 | IF(WORD.EQ.'END ') THEN | |
199 | C Check for previous error | |
200 | IF(IFL.NE.0) RETURN | |
201 | C Check inconsistent limits | |
202 | IF(LOC(2)*LOC(5).NE.0.OR.LOC(2)*LOC(6).NE.0) THEN | |
203 | WRITE(ITLIS,2001) | |
204 | IFL=11 | |
205 | ENDIF | |
206 | C Set and check jet types | |
207 | IF(LOC(15).NE.0.OR.LOC(37).NE.0.OR.LOC(46).NE.0) THEN | |
208 | IF(SETTYP(0)) THEN | |
209 | WRITE(ITLIS,2006) | |
210 | IFL=12 | |
211 | ENDIF | |
212 | ENDIF | |
213 | C Check MSSM/SUGRA conflict | |
214 | IF((LOC(51).NE.0.OR.LOC(52).NE.0.OR.LOC(53).NE.0).AND. | |
215 | $ LOC(55).NE.0) THEN | |
216 | WRITE(ITLIS,2007) | |
217 | IFL=29 | |
218 | ENDIF | |
219 | C Check overlapping limits | |
220 | DO 120 I=1,17 | |
221 | I1=NLAP(1,I) | |
222 | I2=NLAP(2,I) | |
223 | I3=NLAP(3,I) | |
224 | IF(LOC(I1)*LOC(I2)*LOC(I3).NE.0) WRITE(ITLIS,1001) | |
225 | 120 CONTINUE | |
226 | C Setup PDFLIB | |
227 | #if defined(CERNLIB_PDFLIB) | |
228 | IF(ISTRUC.EQ.-999) THEN | |
229 | WRITE(ITLIS,1200) | |
230 | 1200 FORMAT(// | |
231 | $ '1********************************'/ | |
232 | $ ' * *'/ | |
233 | $ ' * INITIALIZE PDFLIB FOR ISAJET *'/ | |
234 | $ ' * *'/ | |
235 | $ ' ********************************'/) | |
236 | N6=ITLIS | |
237 | IFLPRT=2 | |
238 | CALL PDFSET(PDFPAR,PDFVAL) | |
239 | CALL PFTOPDG(0.5D0,1.0D2,DXPDF) | |
240 | IFLPRT=0 | |
241 | ENDIF | |
242 | #endif | |
243 | C Check EXTRADIM parameters are set | |
244 | IF(KEYS(11).AND.LOC(72).EQ.0) THEN | |
245 | WRITE(ITLIS,*) 'YOU FORGOT TO SET EXTRAD PARAMETERS' | |
246 | IFL=72 | |
247 | ENDIF | |
248 | C | |
249 | RETURN | |
250 | ENDIF | |
251 | C | |
252 | C Keyword P | |
253 | IF(WORD.EQ.'P ') THEN | |
254 | READ(ITCOM,*) (PMIN(K),PMAX(K),K=1,NJET) | |
255 | WRITE(ITLIS,*) (PMIN(K),PMAX(K),K=1,NJET) | |
256 | LOC(1)=NSEL | |
257 | GO TO 100 | |
258 | ENDIF | |
259 | C | |
260 | C Keyword Y | |
261 | IF(WORD.EQ.'Y ') THEN | |
262 | READ(ITCOM,*) (YJMIN(K),YJMAX(K),K=1,NJET) | |
263 | WRITE(ITLIS,*) (YJMIN(K),YJMAX(K),K=1,NJET) | |
264 | LOC(2)=NSEL | |
265 | GO TO 100 | |
266 | ENDIF | |
267 | C | |
268 | C Keyword X | |
269 | IF(WORD.EQ.'X ') THEN | |
270 | READ(ITCOM,*) (XJMIN(K),XJMAX(K),K=1,NJET) | |
271 | WRITE(ITLIS,*) (XJMIN(K),XJMAX(K),K=1,NJET) | |
272 | LOC(3)=NSEL | |
273 | GO TO 100 | |
274 | ENDIF | |
275 | C | |
276 | C Keyword PHI | |
277 | IF(WORD.EQ.'PHI ') THEN | |
278 | READ(ITCOM,*) (PHIMIN(K),PHIMAX(K),K=1,NJET) | |
279 | WRITE(ITLIS,*) (PHIMIN(K),PHIMAX(K),K=1,NJET) | |
280 | LOC(4)=NSEL | |
281 | GO TO 100 | |
282 | ENDIF | |
283 | C | |
284 | C Keyword TH | |
285 | IF(WORD.EQ.'TH '.OR.WORD.EQ.'THETA ') THEN | |
286 | READ(ITCOM,*) (THMIN(K),THMAX(K),K=1,NJET) | |
287 | WRITE(ITLIS,*) (THMIN(K),THMAX(K),K=1,NJET) | |
288 | LOC(5)=NSEL | |
289 | LOC(6)=NSEL | |
290 | GO TO 100 | |
291 | ENDIF | |
292 | C | |
293 | C Keyword PT | |
294 | IF(WORD.EQ.'PT '.OR.WORD.EQ.'PPERP ') THEN | |
295 | READ(ITCOM,*) (PTMIN(K),PTMAX(K),K=1,NJET) | |
296 | WRITE(ITLIS,*) (PTMIN(K),PTMAX(K),K=1,NJET) | |
297 | LOC(7)=NSEL | |
298 | LOC(8)=NSEL | |
299 | GO TO 100 | |
300 | ENDIF | |
301 | C | |
302 | C Keyword NODECAY | |
303 | IF(WORD.EQ.'NODECAY ') THEN | |
304 | READ(ITCOM,571) NODCAY | |
305 | 571 FORMAT(L1) | |
306 | WRITE(ITLIS,572) NODCAY | |
307 | 572 FORMAT(' ',L1) | |
308 | LOC(9)=NSEL | |
309 | GO TO 100 | |
310 | ENDIF | |
311 | C | |
312 | C Keyword NOETA | |
313 | IF(WORD.EQ.'NOETA ') THEN | |
314 | READ(ITCOM,571) NOETA | |
315 | WRITE(ITLIS,572) NOETA | |
316 | LOC(10)=NSEL | |
317 | GO TO 100 | |
318 | ENDIF | |
319 | C | |
320 | C Keyword NOPI0 | |
321 | IF(WORD.EQ.'NOPI0 ') THEN | |
322 | READ(ITCOM,571) NOPI0 | |
323 | WRITE(ITLIS,572) NOPI0 | |
324 | LOC(11)=NSEL | |
325 | GO TO 100 | |
326 | ENDIF | |
327 | C | |
328 | C Keyword BEAMS | |
329 | IF(WORD.EQ.'BEAMS ') THEN | |
330 | READ(ITCOM,*) RDID(1),RDID(2) | |
331 | WRITE(ITLIS,*) RDID(1),RDID(2) | |
332 | IDIN(1)=0 | |
333 | IDIN(2)=0 | |
334 | DO 123 K=1,2 | |
335 | IF(RDID(K).EQ.'P ') IDIN(K)=+1120 | |
336 | IF(RDID(K).EQ.'AP ') IDIN(K)=-1120 | |
337 | IF(RDID(K).EQ.'N ') IDIN(K)=+1220 | |
338 | IF(RDID(K).EQ.'AN ') IDIN(K)=-1220 | |
339 | 123 CONTINUE | |
340 | IF(IDIN(1)*IDIN(2).EQ.0) THEN | |
341 | WRITE(ITLIS,2002) | |
342 | IFL=13 | |
343 | ENDIF | |
344 | LOC(12)=NSEL | |
345 | GO TO 100 | |
346 | ENDIF | |
347 | C | |
348 | C Keyword FRAGMENT | |
349 | IF(WORD.EQ.'FRAGMENT') THEN | |
350 | READ(ITCOM,*) FRPAR | |
351 | WRITE(ITLIS,*) FRPAR | |
352 | LOC(13)=NSEL | |
353 | GO TO 100 | |
354 | ENDIF | |
355 | C | |
356 | C Keyword SEED | |
357 | IF(WORD.EQ.'SEED ') THEN | |
358 | READ(ITCOM,*) SEED | |
359 | WRITE(ITLIS,*) SEED | |
360 | CALL RANFST(SEED) | |
361 | WRITE(XSEED,'(E24.15)') SEED | |
362 | LOC(14)=NSEL | |
363 | GO TO 100 | |
364 | ENDIF | |
365 | C | |
366 | C Keywords JETTYPE1, JETTYPE2, JETTYPE3, ... | |
367 | C (Yes, this is ugly) | |
368 | IF(WORD.EQ.'JETTYPE1'.OR.WORD.EQ.'JETTYPE2'.OR. | |
369 | $WORD.EQ.'JETTYPE3'.OR.WORD.EQ.'JETTYPE4'.OR. | |
370 | $WORD.EQ.'JETTYPE5'.OR.WORD.EQ.'JETTYPE6'.OR. | |
371 | $WORD.EQ.'JETTYPE7'.OR.WORD.EQ.'JETTYPE8') THEN | |
372 | IF(WORD.EQ.'JETTYPE1') IJ=1 | |
373 | IF(WORD.EQ.'JETTYPE2') IJ=2 | |
374 | IF(WORD.EQ.'JETTYPE3') IJ=3 | |
375 | IF(WORD.EQ.'JETTYPE4') IJ=4 | |
376 | IF(WORD.EQ.'JETTYPE5') IJ=5 | |
377 | IF(WORD.EQ.'JETTYPE6') IJ=6 | |
378 | IF(WORD.EQ.'JETTYPE7') IJ=7 | |
379 | IF(WORD.EQ.'JETTYPE8') IJ=8 | |
380 | DO 151 K=1,30 | |
381 | JETYP(K,IJ)=BLANK | |
382 | 151 CONTINUE | |
383 | READ(ITCOM,*) (JETYP(K,IJ),K=1,30) | |
384 | DO 152 K=1,25 | |
385 | 152 IF(JETYP(K,IJ).NE.BLANK) NJTTYP(IJ)=NJTTYP(IJ)+1 | |
386 | WRITE(ITLIS,*) (JETYP(K,IJ),K=1,NJTTYP(IJ)) | |
387 | LOC(15)=NSEL | |
388 | GO TO 100 | |
389 | ENDIF | |
390 | C | |
391 | C Keyword SIN2W | |
392 | IF(WORD.EQ.'SIN2W ') THEN | |
393 | READ(ITCOM,*) SIN2W | |
394 | WRITE(ITLIS,*) SIN2W | |
395 | LOC(17)=NSEL | |
396 | GO TO 100 | |
397 | ENDIF | |
398 | C | |
399 | C Keyword TMASS | |
400 | IF(WORD.EQ.'TMASS ') THEN | |
401 | READ(ITCOM,*) AMLEP(6),AMLEP(7),AMLEP(8) | |
402 | WRITE(ITLIS,*) AMLEP(6),AMLEP(7),AMLEP(8) | |
403 | LOC(18)=NSEL | |
404 | GO TO 100 | |
405 | ENDIF | |
406 | C | |
407 | C Keyword QMH | |
408 | IF(WORD.EQ.'QMH ') THEN | |
409 | READ(ITCOM,*) QMIN,QMAX | |
410 | WRITE(ITLIS,*) QMIN,QMAX | |
411 | LOC(19)=NSEL | |
412 | GO TO 100 | |
413 | ENDIF | |
414 | C | |
415 | C Keyword QMW | |
416 | IF(WORD.EQ.'QMW ') THEN | |
417 | READ(ITCOM,*) QMIN,QMAX | |
418 | WRITE(ITLIS,*) QMIN,QMAX | |
419 | LOC(19)=NSEL | |
420 | GO TO 100 | |
421 | ENDIF | |
422 | C | |
423 | C Keyword QTW | |
424 | IF(WORD.EQ.'QTW ') THEN | |
425 | READ(ITCOM,*) QTMIN,QTMAX | |
426 | WRITE(ITLIS,*) QTMIN,QTMAX | |
427 | LOC(20)=NSEL | |
428 | GO TO 100 | |
429 | ENDIF | |
430 | C | |
431 | C Keyword YW | |
432 | IF(WORD.EQ.'YW ') THEN | |
433 | READ(ITCOM,*) YWMIN,YWMAX | |
434 | WRITE(ITLIS,*) YWMIN,YWMAX | |
435 | LOC(21)=NSEL | |
436 | GO TO 100 | |
437 | ENDIF | |
438 | C | |
439 | C Keyword XW | |
440 | IF(WORD.EQ.'XW ') THEN | |
441 | READ(ITCOM,*) XWMIN,XWMAX | |
442 | WRITE(ITLIS,*) XWMIN,XWMAX | |
443 | LOC(22)=NSEL | |
444 | GO TO 100 | |
445 | ENDIF | |
446 | C | |
447 | C Keyword THW | |
448 | IF(WORD.EQ.'THW ') THEN | |
449 | READ(ITCOM,*) THWMIN,THWMAX | |
450 | WRITE(ITLIS,*) THWMIN,THWMAX | |
451 | LOC(23)=NSEL | |
452 | GO TO 100 | |
453 | ENDIF | |
454 | C | |
455 | C Keyword PHIW | |
456 | IF(WORD.EQ.'PHIW ') THEN | |
457 | READ(ITCOM,*) PHWMIN,PHWMAX | |
458 | WRITE(ITLIS,*) PHWMIN,PHWMAX | |
459 | LOC(24)=NSEL | |
460 | GO TO 100 | |
461 | ENDIF | |
462 | C | |
463 | C Keyword NONUNU | |
464 | IF(WORD.EQ.'NONUNU ') THEN | |
465 | READ(ITCOM,571) NONUNU | |
466 | WRITE(ITLIS,572) NONUNU | |
467 | LOC(25)=NSEL | |
468 | GO TO 100 | |
469 | ENDIF | |
470 | C | |
471 | C Keyword WTYPE | |
472 | IF(WORD.EQ.'WTYPE ') THEN | |
473 | DO 261 J=1,4 | |
474 | WTYP(J)=BLANK | |
475 | GODY(J)=.FALSE. | |
476 | 261 CONTINUE | |
477 | READ(ITCOM,*) WTYP | |
478 | WRITE(ITLIS,*) WTYP | |
479 | DO 262 K=1,4 | |
480 | IF(WTYP(K).EQ.'GM ') GODY(1)=.TRUE. | |
481 | IF(WTYP(K).EQ.'W+ ') GODY(2)=.TRUE. | |
482 | IF(WTYP(K).EQ.'W- ') GODY(3)=.TRUE. | |
483 | IF(WTYP(K).EQ.'Z0 ') GODY(4)=.TRUE. | |
484 | 262 CONTINUE | |
485 | IF(GODY(1)) JWTYP=1 | |
486 | IF(GODY(2).OR.GODY(3)) JWTYP=3 | |
487 | IF(GODY(4)) JWTYP=4 | |
488 | IF((GODY(2).OR.GODY(3)).AND.(GODY(1).OR.GODY(4))) THEN | |
489 | WRITE(ITLIS,2003) | |
490 | IFL=13 | |
491 | ENDIF | |
492 | LOC(26)=NSEL | |
493 | GO TO 100 | |
494 | ENDIF | |
495 | C | |
496 | C Keyword LAMBDA | |
497 | IF(WORD.EQ.'LAMBDA ') THEN | |
498 | READ(ITCOM,*) ALAM | |
499 | WRITE(ITLIS,*) ALAM | |
500 | ALAM2=ALAM**2 | |
501 | LOC(27)=NSEL | |
502 | GO TO 100 | |
503 | ENDIF | |
504 | C | |
505 | C Keyword NTRIES | |
506 | IF(WORD.EQ.'NTRIES ') THEN | |
507 | READ(ITCOM,*) NTRIES | |
508 | WRITE(ITLIS,*) NTRIES | |
509 | LOC(28)=NSEL | |
510 | GO TO 100 | |
511 | ENDIF | |
512 | C | |
513 | C Keyword CUTOFF | |
514 | IF(WORD.EQ.'CUTOFF ') THEN | |
515 | READ(ITCOM,*) CUTOFF,CUTPOW | |
516 | WRITE(ITLIS,*) CUTOFF,CUTPOW | |
517 | LOC(29)=NSEL | |
518 | GO TO 100 | |
519 | ENDIF | |
520 | C | |
521 | C Keyword XGEN | |
522 | IF(WORD.EQ.'XGEN ') THEN | |
523 | READ(ITCOM,*) XGEN | |
524 | WRITE(ITLIS,*) XGEN | |
525 | LOC(30)=NSEL | |
526 | GO TO 100 | |
527 | ENDIF | |
528 | C | |
529 | C Keyword SIGQT | |
530 | IF(WORD.EQ.'SIGQT ') THEN | |
531 | READ(ITCOM,*) SIGQT | |
532 | WRITE(ITLIS,*) SIGQT | |
533 | LOC(31)=NSEL | |
534 | GO TO 100 | |
535 | ENDIF | |
536 | C | |
537 | C Keyword CUTJET | |
538 | IF(WORD.EQ.'CUTJET ') THEN | |
539 | READ(ITCOM,*) CUTJET | |
540 | WRITE(ITLIS,*) CUTJET | |
541 | LOC(32)=NSEL | |
542 | GO TO 100 | |
543 | ENDIF | |
544 | C | |
545 | C Keyword WFUDGE | |
546 | IF(WORD.EQ.'WFUDGE ') THEN | |
547 | READ(ITCOM,*) WFUDGE | |
548 | WRITE(ITLIS,*) WFUDGE | |
549 | LOC(50)=NSEL | |
550 | GO TO 100 | |
551 | ENDIF | |
552 | C | |
553 | C Keyword STRUC | |
554 | IF(WORD.EQ.'STRUC ') THEN | |
555 | ISTRUC=0 | |
556 | READ(ITCOM,*) LSTRUC | |
557 | WRITE(ITLIS,4) LSTRUC | |
558 | IF(LSTRUC.EQ.'OWENS ') ISTRUC=1 | |
559 | IF(LSTRUC.EQ.'BAIER ') ISTRUC=2 | |
560 | IF(LSTRUC.EQ.'EICHTEN '.OR.LSTRUC.EQ.'EHLQ ') ISTRUC=3 | |
561 | IF(LSTRUC.EQ.'DUKE '.OR.LSTRUC.EQ.'DO ') ISTRUC=4 | |
562 | IF(LSTRUC.EQ.'CTEQ2L ') ISTRUC=5 | |
563 | IF(LSTRUC.EQ.'CTEQ '.OR.LSTRUC.EQ.'CTEQ3L ') ISTRUC=6 | |
564 | IF(ISTRUC.EQ.0) THEN | |
565 | WRITE(ITLIS,2002) | |
566 | IFL=13 | |
567 | ENDIF | |
568 | LOC(33)=NSEL | |
569 | GO TO 100 | |
570 | ENDIF | |
571 | C | |
572 | C Keyword NPOMERON | |
573 | IF(WORD.EQ.'NPOMERON') THEN | |
574 | READ(ITCOM,*) MNPOM,MXPOM | |
575 | WRITE(ITLIS,*) MNPOM,MXPOM | |
576 | IF(MNPOM.LT.1.OR.MNPOM.GT.MXPOM.OR.MXPOM.GT.LIMPOM) THEN | |
577 | WRITE(ITLIS,2004) | |
578 | IFL=14 | |
579 | ENDIF | |
580 | LOC(34)=NSEL | |
581 | GO TO 100 | |
582 | ENDIF | |
583 | C | |
584 | C Keyword FORCE | |
585 | IF(WORD.EQ.'FORCE ') THEN | |
586 | NFORCE=NFORCE+1 | |
587 | IF(NFORCE.GT.MXFORC-1) THEN | |
588 | WRITE(ITLIS,2004) | |
589 | IFL=14 | |
590 | ENDIF | |
591 | DO 351 K=1,5 | |
592 | 351 KFORCE(K)=0 | |
593 | READ(ITCOM,*) IFORCE(NFORCE),(KFORCE(K),K=1,5) | |
594 | CALL ORDER(IFORCE(NFORCE),KFORCE,MFORCE(1,NFORCE), | |
595 | $ MEFORC(NFORCE)) | |
596 | WRITE(ITLIS,*) IFORCE(NFORCE),(MFORCE(K,NFORCE),K=1,5) | |
597 | ID=IFORCE(NFORCE) | |
598 | IDABS=IABS(ID) | |
599 | IF(IDABS.LT.6) THEN | |
600 | WRITE(ITLIS,2005) | |
601 | IFL=15 | |
602 | ENDIF | |
603 | IDB=IDANTI(ID) | |
604 | IF(IDB.NE.ID) THEN | |
605 | IFORCE(NFORCE+1)=IDB | |
606 | DO 352 K=1,5 | |
607 | 352 MFORCE(K,NFORCE+1)=IDANTI(MFORCE(K,NFORCE)) | |
608 | NFORCE=NFORCE+1 | |
609 | ENDIF | |
610 | LOC(35)=NSEL | |
611 | GO TO 100 | |
612 | ENDIF | |
613 | C | |
614 | C Keyword FORCE1 | |
615 | IF(WORD.EQ.'FORCE1 ') THEN | |
616 | NFORCE=NFORCE+1 | |
617 | IF(NFORCE.GT.MXFORC) THEN | |
618 | WRITE(ITLIS,2004) | |
619 | IFL=14 | |
620 | ENDIF | |
621 | DO 353 K=1,5 | |
622 | 353 KFORCE(K)=0 | |
623 | READ(ITCOM,*) IFORCE(NFORCE),(KFORCE(K),K=1,5) | |
624 | CALL ORDER(IFORCE(NFORCE),KFORCE,MFORCE(1,NFORCE), | |
625 | $ MEFORC(NFORCE)) | |
626 | WRITE(ITLIS,*) IFORCE(NFORCE),(MFORCE(K,NFORCE),K=1,5) | |
627 | IF(IABS(IFORCE(NFORCE)).LT.6) THEN | |
628 | WRITE(ITLIS,2005) | |
629 | IFL=15 | |
630 | ENDIF | |
631 | LOC(35)=NSEL | |
632 | GO TO 100 | |
633 | ENDIF | |
634 | C | |
635 | C Keyword HMASSES - also see HMASS | |
636 | IF(WORD.EQ.'HMASSES ') THEN | |
637 | CALL FLAVOR(80,I1,I2,I3,J1,INDEX) | |
638 | READ(ITCOM,*) (AMLEP(INDEX+K),K=1,9) | |
639 | WRITE(ITLIS,*) (AMLEP(INDEX+K),K=1,9) | |
640 | LOC(36)=NSEL | |
641 | GO TO 100 | |
642 | ENDIF | |
643 | C | |
644 | C Keywords WMODE1,WMODE2 | |
645 | IF(WORD.EQ.'WMODE1 '.OR.WORD.EQ.'WMODE2 ') THEN | |
646 | IF(WORD.EQ.'WMODE1 ') IJ=1 | |
647 | IF(WORD.EQ.'WMODE2 ') IJ=2 | |
648 | READ(ITCOM,*) (WWTYP(K,IJ),K=1,25) | |
649 | DO 372 K=1,25 | |
650 | 372 IF(WWTYP(K,IJ).NE.BLANK) NWWTYP(IJ)=NWWTYP(IJ)+1 | |
651 | WRITE(ITLIS,*) (WWTYP(K,IJ),K=1,NWWTYP(IJ)) | |
652 | LOC(37)=NSEL | |
653 | GO TO 100 | |
654 | ENDIF | |
655 | C | |
656 | C Keyword NOEVOLVE | |
657 | IF(WORD.EQ.'NOEVOLVE') THEN | |
658 | READ (ITCOM,571) NOEVOL | |
659 | WRITE(ITLIS,572) NOEVOL | |
660 | LOC(38)=NSEL | |
661 | GO TO 100 | |
662 | ENDIF | |
663 | C | |
664 | C Keyword NOHADRON | |
665 | IF(WORD.EQ.'NOHADRON') THEN | |
666 | READ (ITCOM,571) NOHADR | |
667 | WRITE(ITLIS,572) NOHADR | |
668 | LOC(39)=NSEL | |
669 | GO TO 100 | |
670 | ENDIF | |
671 | C | |
672 | C Keyword GAUGINO | |
673 | IF(WORD.EQ.'GAUGINO ') THEN | |
674 | CALL FLAVOR(29,I1,I2,I3,J1,IDG1) | |
675 | CALL FLAVOR(30,I1,I2,I3,J1,IDG2) | |
676 | CALL FLAVOR(39,I1,I2,I3,J1,IDG3) | |
677 | CALL FLAVOR(40,I1,I2,I3,J1,IDG4) | |
678 | READ(ITCOM,*) AMLEP(IDG1),AMLEP(IDG2),AMLEP(IDG3),AMLEP(IDG4) | |
679 | WRITE(ITLIS,*) AMLEP(IDG1),AMLEP(IDG2),AMLEP(IDG3),AMLEP(IDG4) | |
680 | LOC(40)=NSEL | |
681 | GO TO 100 | |
682 | ENDIF | |
683 | C | |
684 | C Keyword SQUARK | |
685 | IF(WORD.EQ.'SQUARK ') THEN | |
686 | CALL FLAVOR(21,I1,I2,I3,J1,IDXQKL) | |
687 | READ(ITCOM,*) (AMLEP(IDXQKL+K-1),K=1,6) | |
688 | WRITE(ITLIS,*) (AMLEP(IDXQKL+K-1),K=1,6) | |
689 | CALL FLAVOR(41,I1,I2,I3,J1,IDXQKR) | |
690 | DO 411 K=1,6 | |
691 | AMLEP(IDXQKR+K-1)=AMLEP(IDXQKL+K-1) | |
692 | 411 CONTINUE | |
693 | LOC(41)=NSEL | |
694 | GO TO 100 | |
695 | ENDIF | |
696 | C | |
697 | C Keyword SLEPTON | |
698 | IF(WORD.EQ.'SLEPTON ') THEN | |
699 | CALL FLAVOR(31,I1,I2,I3,J1,IDXLEP) | |
700 | READ(ITCOM,*) (AMLEP(IDXLEP+K-1),K=1,6) | |
701 | WRITE(ITLIS,*) (AMLEP(IDXLEP+K-1),K=1,6) | |
702 | LOC(42)=NSEL | |
703 | GO TO 100 | |
704 | ENDIF | |
705 | C | |
706 | C Keyword NSIGMA | |
707 | IF(WORD.EQ.'NSIGMA ') THEN | |
708 | READ(ITCOM,*) NSIGMA | |
709 | WRITE(ITLIS,*) NSIGMA | |
710 | LOC(43)=NSEL | |
711 | GO TO 100 | |
712 | ENDIF | |
713 | C | |
714 | C Keyword XGENSS | |
715 | IF(WORD.EQ.'XGENSS ') THEN | |
716 | READ(ITCOM,*) XGENSS(9),(XGENSS(KK),KK=1,8) | |
717 | WRITE(ITLIS,*) XGENSS(9),(XGENSS(KK),KK=1,8) | |
718 | LOC(44)=NSEL | |
719 | GO TO 100 | |
720 | ENDIF | |
721 | C | |
722 | C Keyword HMASS - just standard Higgs | |
723 | IF(WORD.EQ.'HMASS ') THEN | |
724 | CALL FLAVOR(81,I1,I2,I3,J1,INDEX) | |
725 | READ(ITCOM,*) AMLEP(INDEX) | |
726 | WRITE(ITLIS,*) AMLEP(INDEX) | |
727 | LOC(45)=NSEL | |
728 | GO TO 100 | |
729 | ENDIF | |
730 | C | |
731 | C Keywords WPMODE, WMMODE, Z0MODE | |
732 | IF(WORD.EQ.'WPMODE '.OR.WORD.EQ.'WMMODE ' | |
733 | $.OR.WORD.EQ.'Z0MODE ') THEN | |
734 | IF(WORD.EQ.'WPMODE ') IJ=1 | |
735 | IF(WORD.EQ.'WMMODE ') IJ=2 | |
736 | IF(WORD.EQ.'Z0MODE ') IJ=3 | |
737 | READ(ITCOM,*) (WMODES(K,IJ),K=1,25) | |
738 | DO 463 K=1,25 | |
739 | 463 IF(WMODES(K,IJ).NE.BLANK) NWMODE(IJ)=NWMODE(IJ)+1 | |
740 | WRITE(ITLIS,*) (WMODES(K,IJ),K=1,NWMODE(IJ)) | |
741 | LOC(46)=NSEL | |
742 | GO TO 100 | |
743 | ENDIF | |
744 | C | |
745 | C Keyword WMASS | |
746 | IF(WORD.EQ.'WMASS ') THEN | |
747 | READ(ITCOM,*) AMW,AMZ | |
748 | WRITE(ITLIS,*) AMW,AMZ | |
749 | WMASS(1)=0. | |
750 | WMASS(2)=AMW | |
751 | WMASS(3)=AMW | |
752 | WMASS(4)=AMZ | |
753 | CALL FLAVOR(80,I1,I2,I3,J,INDEX) | |
754 | AMLEP(INDEX)=AMW | |
755 | CALL FLAVOR(90,I1,I2,I3,J,INDEX) | |
756 | AMLEP(INDEX)=AMZ | |
757 | LOC(47)=NSEL | |
758 | GO TO 100 | |
759 | ENDIF | |
760 | C | |
761 | C Keyword NEVOLVE | |
762 | IF(WORD.EQ.'NEVOLVE ') THEN | |
763 | READ(ITCOM,*) NEVOLV | |
764 | WRITE(ITLIS,*) NEVOLV | |
765 | LOC(48)=NSEL | |
766 | GO TO 100 | |
767 | ENDIF | |
768 | C | |
769 | C Keyword NHADRON | |
770 | IF(WORD.EQ.'NHADRON ') THEN | |
771 | READ(ITCOM,*) NFRGMN | |
772 | WRITE(ITLIS,*) NFRGMN | |
773 | LOC(49)=NSEL | |
774 | GO TO 100 | |
775 | ENDIF | |
776 | C | |
777 | C Keyword TCMASS | |
778 | IF(WORD.EQ.'TCMASS ') THEN | |
779 | READ(ITCOM,*) TCMRHO,TCGRHO | |
780 | WRITE(ITLIS,*) TCMRHO,TCGRHO | |
781 | LOC(50)=NSEL | |
782 | GO TO 100 | |
783 | ENDIF | |
784 | C | |
785 | C Keyword MSSMA: gluino, mu, mha, tanb | |
786 | IF(WORD.EQ.'MSSMA ') THEN | |
787 | READ(ITCOM,*) XGLSS,XMUSS,XHASS,XTBSS | |
788 | WRITE(ITLIS,*) XGLSS,XMUSS,XHASS,XTBSS | |
789 | GOMSSM=.TRUE. | |
790 | LOC(51)=NSEL | |
791 | GO TO 100 | |
792 | ENDIF | |
793 | C | |
794 | C Keyword MSSMB: 1st generation soft terms | |
795 | IF(WORD.EQ.'MSSMB ') THEN | |
796 | READ(ITCOM,*) XQ1SS,XDRSS,XURSS,XL1SS,XERSS | |
797 | WRITE(ITLIS,*) XQ1SS,XDRSS,XURSS,XL1SS,XERSS | |
798 | LOC(52)=NSEL | |
799 | GOMSSM=.TRUE. | |
800 | GO TO 100 | |
801 | ENDIF | |
802 | C | |
803 | C Keyword MSSMC: 3rd generation soft terms | |
804 | IF(WORD.EQ.'MSSMC ') THEN | |
805 | READ(ITCOM,*)XQ3SS,XBRSS,XTRSS,XL3SS,XTARSS,XATSS,XABSS,XATASS | |
806 | WRITE(ITLIS,*)XQ3SS,XBRSS,XTRSS,XL3SS,XTARSS,XATSS,XABSS,XATASS | |
807 | LOC(53)=NSEL | |
808 | GOMSSM=.TRUE. | |
809 | GO TO 100 | |
810 | ENDIF | |
811 | C | |
812 | C Keyword PDFLIB: parameters for PDFLIB | |
813 | #if defined(CERNLIB_PDFLIB) | |
814 | IF(WORD.EQ.'PDFLIB ') THEN | |
815 | DO 541 I=1,20 | |
816 | PDFPAR(I)=' ' | |
817 | PDFVAL(I)=0 | |
818 | 541 CONTINUE | |
819 | READ(ITCOM,*) (PDFPAR(I),PDFVAL(I),I=1,20) | |
820 | DO 542 I=1,20 | |
821 | IF(PDFPAR(I).NE.' ') THEN | |
822 | WRITE(ITLIS,*) PDFPAR(I),PDFVAL(I) | |
823 | ENDIF | |
824 | 542 CONTINUE | |
825 | ISTRUC=-999 | |
826 | LOC(54)=NSEL | |
827 | GO TO 100 | |
828 | ENDIF | |
829 | #endif | |
830 | C | |
831 | C Keyword SUGRA | |
832 | IF(WORD.EQ.'SUGRA ') THEN | |
833 | READ(ITCOM,*) XM0SU,XMHSU,XA0SU,XTGBSU,XSMUSU | |
834 | WRITE(ITLIS,*) XM0SU,XMHSU,XA0SU,XTGBSU,XSMUSU | |
835 | LOC(55)=NSEL | |
836 | GOMSSM=.TRUE. | |
837 | GOSUG=.TRUE. | |
838 | GO TO 100 | |
839 | ENDIF | |
840 | C | |
841 | C Keyword HTYPE | |
842 | IF(WORD.EQ.'HTYPE ') THEN | |
843 | READ(ITCOM,*) HTYPE | |
844 | WRITE(ITLIS,*) HTYPE | |
845 | LOC(56)=NSEL | |
846 | IHTYPE=0 | |
847 | IF(HTYPE.EQ.'HL0 ') IHTYPE=82 | |
848 | IF(HTYPE.EQ.'HH0 ') IHTYPE=83 | |
849 | IF(HTYPE.EQ.'HA0 ') IHTYPE=84 | |
850 | IF(IHTYPE.EQ.0) THEN | |
851 | WRITE(ITLIS,2000) HTYPE | |
852 | IFL=16 | |
853 | ENDIF | |
854 | GO TO 100 | |
855 | ENDIF | |
856 | C | |
857 | C Keyword EPOL | |
858 | IF(WORD.EQ.'EPOL ') THEN | |
859 | READ(ITCOM,*) PLEM,PLEP | |
860 | WRITE(ITLIS,*) PLEM,PLEP | |
861 | LOC(57)=NSEL | |
862 | GO TO 100 | |
863 | ENDIF | |
864 | C | |
865 | C Keyword MSSMD: optional 2nd geenration soft terms | |
866 | IF(WORD.EQ.'MSSMD ') THEN | |
867 | READ(ITCOM,*) XQ2SS,XSRSS,XCRSS,XL2SS,XMRSS | |
868 | WRITE(ITLIS,*) XQ2SS,XSRSS,XCRSS,XL2SS,XMRSS | |
869 | LOC(58)=NSEL | |
870 | GO TO 100 | |
871 | ENDIF | |
872 | C | |
873 | C Keyword MSSME: optional U(1) and SU(2) gaugino masses | |
874 | IF(WORD.EQ.'MSSME ') THEN | |
875 | READ(ITCOM,*) XM1SS,XM2SS | |
876 | WRITE(ITLIS,*) XM1SS,XM2SS | |
877 | LOC(59)=NSEL | |
878 | GO TO 100 | |
879 | ENDIF | |
880 | C | |
881 | C Keyword GMSB: gauge-mediated SUSY breaking model | |
882 | IF(WORD.EQ.'GMSB ') THEN | |
883 | READ(ITCOM,*) XLAMGM,XMESGM,XN5GM,XTGBSU,XSMUSU,XCMGV | |
884 | WRITE(ITLIS,*) XLAMGM,XMESGM,XN5GM,XTGBSU,XSMUSU,XCMGV | |
885 | GOMSSM=.TRUE. | |
886 | GOGMSB=.TRUE. | |
887 | LOC(60)=NSEL | |
888 | GO TO 100 | |
889 | ENDIF | |
890 | C | |
891 | C Keyword NUSUG1: optional GUT scale gaugino masses | |
892 | IF(WORD.EQ.'NUSUG1 ') THEN | |
893 | READ(ITCOM,*) XNUSUG(1),XNUSUG(2),XNUSUG(3) | |
894 | WRITE(ITLIS,*) XNUSUG(1),XNUSUG(2),XNUSUG(3) | |
895 | LOC(61)=NSEL | |
896 | GO TO 100 | |
897 | ENDIF | |
898 | C | |
899 | C Keyword NUSUG2: optional GUT scale A terms | |
900 | IF(WORD.EQ.'NUSUG2 ') THEN | |
901 | READ(ITCOM,*) XNUSUG(6),XNUSUG(5),XNUSUG(4) | |
902 | WRITE(ITLIS,*) XNUSUG(6),XNUSUG(5),XNUSUG(4) | |
903 | LOC(62)=NSEL | |
904 | GO TO 100 | |
905 | ENDIF | |
906 | C | |
907 | C Keyword NUSUG3: optional GUT scale Higgs masses | |
908 | IF(WORD.EQ.'NUSUG3 ') THEN | |
909 | READ(ITCOM,*) XNUSUG(7),XNUSUG(8) | |
910 | WRITE(ITLIS,*) XNUSUG(7),XNUSUG(8) | |
911 | LOC(63)=NSEL | |
912 | GO TO 100 | |
913 | ENDIF | |
914 | C | |
915 | C Keyword NUSUG4: optional GUT scale 1st/2nd gen. masses | |
916 | IF(WORD.EQ.'NUSUG4 ') THEN | |
917 | READ(ITCOM,*) XNUSUG(13),XNUSUG(11),XNUSUG(12),XNUSUG(10) | |
918 | $,XNUSUG(9) | |
919 | WRITE(ITLIS,*) XNUSUG(13),XNUSUG(11),XNUSUG(12),XNUSUG(10) | |
920 | $,XNUSUG(9) | |
921 | LOC(64)=NSEL | |
922 | GO TO 100 | |
923 | ENDIF | |
924 | C | |
925 | C Keyword NUSUG5: optional GUT scale 3rd gen. masses | |
926 | IF(WORD.EQ.'NUSUG5 ') THEN | |
927 | READ(ITCOM,*) XNUSUG(18),XNUSUG(16),XNUSUG(17),XNUSUG(15) | |
928 | $,XNUSUG(14) | |
929 | WRITE(ITLIS,*) XNUSUG(18),XNUSUG(16),XNUSUG(17),XNUSUG(15) | |
930 | $,XNUSUG(14) | |
931 | LOC(65)=NSEL | |
932 | GO TO 100 | |
933 | ENDIF | |
934 | C | |
935 | C Keyword NOGRAV: No gravitino decays | |
936 | IF(WORD.EQ.'NOGRAV ') THEN | |
937 | READ(ITCOM,571) NOGRAV | |
938 | WRITE(ITLIS,572) NOGRAV | |
939 | LOC(66)=NSEL | |
940 | GO TO 100 | |
941 | ENDIF | |
942 | C | |
943 | C Keyword MGVTNO: Sets the gravitino mass | |
944 | IF(WORD.EQ.'MGVTNO ') THEN | |
945 | READ(ITCOM,*) XMGVTO | |
946 | WRITE(ITLIS,*) XMGVTO | |
947 | LOC(67)=NSEL | |
948 | GO TO 100 | |
949 | ENDIF | |
950 | C | |
951 | C Keyword AL3UNI: Impose alpha_s unification at M_GUT | |
952 | IF(WORD.EQ.'AL3UNI ') THEN | |
953 | READ(ITCOM,571) AL3UNI | |
954 | WRITE(ITLIS,572) AL3UNI | |
955 | LOC(68)=NSEL | |
956 | GO TO 100 | |
957 | ENDIF | |
958 | C | |
959 | C Keyword GMSB2: additional GMSB parameters | |
960 | IF(WORD.EQ.'GMSB2 ') THEN | |
961 | READ(ITCOM,*) XRSLGM,XDHDGM,XDHUGM,XDYGM,XN51GM,XN52GM,XN53GM | |
962 | WRITE(ITLIS,*) XRSLGM,XDHDGM,XDHUGM,XDYGM,XN51GM,XN52GM,XN53GM | |
963 | LOC(69)=NSEL | |
964 | GO TO 100 | |
965 | ENDIF | |
966 | C | |
967 | C Keyword EEBREM: invoke bremsstrahlung in e+e- reactions | |
968 | IF(WORD.EQ.'EEBREM ') THEN | |
969 | READ(ITCOM,*) RSHMIN,RSHMAX | |
970 | WRITE(ITLIS,*) RSHMIN,RSHMAX | |
971 | IBREM=.TRUE. | |
972 | LOC(70)=NSEL | |
973 | GO TO 100 | |
974 | ENDIF | |
975 | C | |
976 | C Keyword EEBEAM: invoke beamstrahlung in e+e- reactions | |
977 | IF(WORD.EQ.'EEBEAM ') THEN | |
978 | READ(ITCOM,*) RSHMIN,RSHMAX,UPSLON,SIGZ | |
979 | WRITE(ITLIS,*) RSHMIN,RSHMAX,UPSLON,SIGZ | |
980 | IBREM=.TRUE. | |
981 | IBEAM=.TRUE. | |
982 | LOC(71)=NSEL | |
983 | GO TO 100 | |
984 | ENDIF | |
985 | C | |
986 | C Keyword QMKKG (QMW for EXTRADIM) | |
987 | IF(WORD.EQ.'QMKKG ') THEN | |
988 | READ(ITCOM,*) QMIN,QMAX | |
989 | WRITE(ITLIS,*) QMIN,QMAX | |
990 | LOC(19)=NSEL | |
991 | GO TO 100 | |
992 | ENDIF | |
993 | C | |
994 | C Keyword QTKKG (QTW for EXTRADIM) | |
995 | IF(WORD.EQ.'QTKKG ') THEN | |
996 | READ(ITCOM,*) QTMIN,QTMAX | |
997 | WRITE(ITLIS,*) QTMIN,QTMAX | |
998 | LOC(20)=NSEL | |
999 | GO TO 100 | |
1000 | ENDIF | |
1001 | C | |
1002 | C Keyword EXTRAD for EXTRADIM | |
1003 | IF(WORD.EQ.'EXTRAD ') THEN | |
1004 | READ(ITCOM,*) NEXTRAD,MASSD,UVCUT | |
1005 | WRITE(ITLIS,*) NEXTRAD,MASSD,UVCUT | |
1006 | LOC(72)=NSEL | |
1007 | GO TO 100 | |
1008 | ENDIF | |
1009 | C | |
1010 | C Keyword MIJLIM | |
1011 | IF(WORD.EQ.'MIJLIM ') THEN | |
1012 | READ(ITCOM,*) JLIM1,JLIM2,AMLIM1,AMLIM2 | |
1013 | WRITE(ITLIS,*) JLIM1,JLIM2,AMLIM1,AMLIM2 | |
1014 | IF(JLIM1.EQ.0.AND.JLIM2.EQ.0) THEN | |
1015 | DO 720 I=1,NJET | |
1016 | DO 721 J=1,NJET | |
1017 | AMIJMN(I,J)=AMLIM1 | |
1018 | AMIJMX(I,J)=AMLIM2 | |
1019 | 721 CONTINUE | |
1020 | 720 CONTINUE | |
1021 | ELSEIF(JLIM1.GT.0.AND.JLIM1.LE.NJET.AND.JLIM2.GT.0.AND. | |
1022 | $ JLIM2.LE.NJET) THEN | |
1023 | AMIJMN(JLIM1,JLIM2)=AMLIM1 | |
1024 | AMIJMN(JLIM2,JLIM1)=AMLIM1 | |
1025 | AMIJMX(JLIM1,JLIM2)=AMLIM2 | |
1026 | AMIJMX(JLIM2,JLIM1)=AMLIM2 | |
1027 | ELSE | |
1028 | WRITE(ITLIS,2008) | |
1029 | IFL=73 | |
1030 | ENDIF | |
1031 | LOC(73)=NSEL | |
1032 | GO TO 100 | |
1033 | ENDIF | |
1034 | C | |
1035 | C Keyword MTOT | |
1036 | IF(WORD.EQ.'MTOT ') THEN | |
1037 | READ(ITCOM,*) EHMGMN,EHMGMX | |
1038 | WRITE(ITLIS,*) EHMGMN,EHMGMX | |
1039 | LOC(74)=NSEL | |
1040 | GO TO 100 | |
1041 | ENDIF | |
1042 | C | |
1043 | C Keyword SUGRHN | |
1044 | IF(WORD.EQ.'SUGRHN ') THEN | |
1045 | READ(ITCOM,*) XMN3NR,XMAJNR,XANSS,XNRSS | |
1046 | WRITE(ITLIS,*) XMN3NR,XMAJNR,XANSS,XNRSS | |
1047 | LOC(75)=NSEL | |
1048 | GO TO 100 | |
1049 | ENDIF | |
1050 | C | |
1051 | C Keyword AMSB | |
1052 | IF(WORD.EQ.'AMSB ') THEN | |
1053 | READ(ITCOM,*) XM0SU,XMHSU,XTGBSU,XSMUSU | |
1054 | WRITE(ITLIS,*) XM0SU,XMHSU,XTGBSU,XSMUSU | |
1055 | LOC(76)=NSEL | |
1056 | GOMSSM=.TRUE. | |
1057 | GOSUG=.TRUE. | |
1058 | GOAMSB=.TRUE. | |
1059 | GO TO 100 | |
1060 | ENDIF | |
1061 | C | |
1062 | C Keyword SSBCSC | |
1063 | IF(WORD.EQ.'SSBCSC ') THEN | |
1064 | READ(ITCOM,*) XSBCS | |
1065 | WRITE(ITLIS,*) XSBCS | |
1066 | LOC(77)=NSEL | |
1067 | GO TO 100 | |
1068 | ENDIF | |
1069 | C | |
1070 | C None of the above | |
1071 | C | |
1072 | WRITE(ITLIS,2000) WORD | |
1073 | IFL=10 | |
1074 | RETURN | |
1075 | C | |
1076 | C Error message or warnings | |
1077 | C | |
1078 | 1001 FORMAT(//2X,'YOU HAVE GIVEN LIMITS FOR AN OVERLAPPING SET', | |
1079 | $ ' OF VARIABLES. SET MINIMIZING PPERP INTERVAL WILL BE USED.') | |
1080 | 1999 FORMAT(//' YOU FORGOT TO SELECT A PROCESS FOR GENERATION.' | |
1081 | $ /' AVAILABLE AT PRESENT ARE ', | |
1082 | $ /' TWOJET E+E- DRELLYAN MINBIAS WPAIR SUPERSYM,' | |
1083 | $ /' HIGGS PHOTON TCOLOR') | |
1084 | 2000 FORMAT(//2X,A8,' IS NOT A RECOGNIZABLE PARAMETER. JOB TERMINATED') | |
1085 | 2001 FORMAT(//2X,' YOU CANNOT GIVE LIMITS FOR BOTH THETA AND Y.', | |
1086 | $ ' MAKE UP YOUR MIND. JOB TERMINATED.') | |
1087 | 2002 FORMAT(/' WHAT IS THAT SUPPOSED TO BE') | |
1088 | 2003 FORMAT(/' YOU CANNOT RUN WS AND Z0 OR GAMMAS AT THE', | |
1089 | $ ' SAME TIME. JOB TERMINATED') | |
1090 | 2004 FORMAT(//' PARAMETER OUT OF RANGE. JOB TERMINATED.') | |
1091 | 2005 FORMAT(//' YOU CANNOT FORCE DECAY OF A QUARK, YOU MUST CHOSE ' | |
1092 | $,' A PARTICLE') | |
1093 | 2006 FORMAT(//2X,' INVALID JETTYPE VALUES. JOB TERMINATED.') | |
1094 | 2007 FORMAT(//2X,'YOU CANNOT USE MSSM AND SUGRA SIMULTANEOUSLY') | |
1095 | 2008 FORMAT(//2X,'INVALID JET-JET MASS LIMITS. JOB TERMINATED.') | |
1096 | C | |
1097 | END |