]>
Commit | Line | Data |
---|---|---|
0795afa3 | 1 | #include "isajet/pilot.h" |
2 | SUBROUTINE DIALOG | |
3 | C | |
4 | C Set up user data with interactive commands from standard | |
5 | C Fortran input. | |
6 | C | |
7 | C V6.26: Fixed FORCE to allow automatic top decays and to use | |
8 | C correct limit for maximum number. | |
9 | C | |
10 | #if defined(CERNLIB_IMPNONE) | |
11 | IMPLICIT NONE | |
12 | #endif | |
13 | #include "isajet/itapes.inc" | |
14 | #include "isajet/mbgen.inc" | |
15 | #include "isajet/force.inc" | |
16 | #include "isajet/eepar.inc" | |
17 | #include "isajet/dkytab.inc" | |
18 | #include "isajet/qcdpar.inc" | |
19 | #include "isajet/idrun.inc" | |
20 | #include "isajet/frgpar.inc" | |
21 | #include "isajet/keys.inc" | |
22 | #include "isajet/prtout.inc" | |
23 | #include "isajet/seed.inc" | |
24 | #include "isajet/types.inc" | |
25 | #include "isajet/primar.inc" | |
26 | #include "isajet/jetlim.inc" | |
27 | #include "isajet/nodcay.inc" | |
28 | #include "isajet/wcon.inc" | |
29 | #include "isajet/dylim.inc" | |
30 | #include "isajet/qlmass.inc" | |
31 | #include "isajet/q1q2.inc" | |
32 | #include "isajet/jetpar.inc" | |
33 | #include "isajet/isloop.inc" | |
34 | #include "isajet/tcpar.inc" | |
35 | #include "isajet/xmssm.inc" | |
36 | #include "isajet/sugnu.inc" | |
37 | #if defined(CERNLIB_PDFLIB) | |
38 | #include "isajet/w50510.inc" | |
39 | * Ignoring t=pass | |
40 | #endif | |
41 | #if defined(CERNLIB_PDFLIB) | |
42 | #include "isajet/w50517.inc" | |
43 | * Ignoring t=pass | |
44 | #endif | |
45 | #include "isajet/hcon.inc" | |
46 | #include "isajet/kkgrav.inc" | |
47 | #include "isajet/mglims.inc" | |
48 | C | |
49 | #include "isajet/const.inc" | |
50 | C | |
51 | LOGICAL SETTYP,DUMY | |
52 | CHARACTER*8 TTL(10),WORD,LSTRUC,BLANK,LIST(29) | |
53 | CHARACTER*8 WTYP(4),RDID(2) | |
54 | CHARACTER*4 YN | |
55 | INTEGER IFL,I1,I2,I3,J1,I,IKEY,IJ,J,KK,IDXQK | |
56 | INTEGER NSEL,K,KFORCE(5),INDEX,IDG1,IDG2,IDG3,IDG4,IDXQ,IDXLEP | |
57 | #if defined(CERNLIB_SINGLE) | |
58 | REAL SEED | |
59 | #endif | |
60 | #if defined(CERNLIB_DOUBLE) | |
61 | DOUBLE PRECISION SEED | |
62 | #endif | |
63 | INTEGER NLAP(3,17) | |
64 | REAL EMIN,YLIM1,YLIM2,ANGL1,ANGL2,XLIM1,XLIM2,AMW,AMZ | |
65 | INTEGER NFTEMP | |
66 | CHARACTER*8 HTYPE | |
67 | #if defined(CERNLIB_PDFLIB) | |
68 | CHARACTER*20 PDFPAR(20) | |
69 | #endif | |
70 | #if (defined(CERNLIB_PDFLIB))&&(defined(CERNLIB_SINGLE)) | |
71 | REAL PDFVAL(20) | |
72 | REAL DX,DSCALE,DXPDF(-6:6) | |
73 | #endif | |
74 | #if (defined(CERNLIB_PDFLIB))&&(defined(CERNLIB_DOUBLE)) | |
75 | DOUBLE PRECISION PDFVAL(20) | |
76 | DOUBLE PRECISION DX,DSCALE,DXPDF(-6:6) | |
77 | #endif | |
78 | REAL AMLIM1,AMLIM2 | |
79 | INTEGER JLIM1,JLIM2 | |
80 | C | |
81 | C Overlapping variable flags. | |
82 | 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, | |
83 | 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, | |
84 | X 3,6,8/ | |
85 | DATA BLANK/' '/ | |
86 | C Duplicate data to avoid requiring ALDATA | |
87 | DATA LIST/'GL','UP','UB','DN','DB','ST','SB','CH','CB','BT','BB', | |
88 | $'TP','TB','NUE','ANUE','E-','E+','NUM','ANUM','MU-','MU+', | |
89 | $'NUT','ANUT','TAU-','TAU+','ALL','QUARKS','LEPTONS','NUS'/ | |
90 | C | |
91 | C Entry | |
92 | C | |
93 | IFL=0 | |
94 | NFTEMP=0 | |
95 | C | |
96 | 1111 PRINT 11 | |
97 | 11 FORMAT(//,10X,' Use CAPITAL LETTERS only for all commands.',//, | |
98 | 1 10X,' Give title for this run.') | |
99 | C | |
100 | C Read title | |
101 | C | |
102 | READ 1,TTL | |
103 | 1 FORMAT(10A8) | |
104 | WRITE(ITCOM,1) TTL | |
105 | IF(TTL(1).EQ.'STOP ') GOTO 999 | |
106 | C | |
107 | C Read energy and no. of events | |
108 | C | |
109 | PRINT*,' total energy, # of events, # to print, # to skip.' | |
110 | READ*,ECM,NEVENT,NEVPRT,NJUMP | |
111 | WRITE(ITCOM,*)ECM,NEVENT,NEVPRT,NJUMP | |
112 | C | |
113 | C Reset all variables if title is not 'SAME' | |
114 | C | |
115 | IF(TTL(1).NE.'SAME ') THEN | |
116 | DO 20 I=1,10 | |
117 | 20 TITLE(I)=TTL(I) | |
118 | CALL RESET | |
119 | KEYON=.FALSE. | |
120 | C | |
121 | C Read reaction and set keys and NJET | |
122 | C | |
123 | 21 PRINT 22 | |
124 | 22 FORMAT(/,' Choose one of the following reactions:',/, | |
125 | $' TWOJET E+E- DRELLYAN MINBIAS SUSY WPAIR HIGGS', | |
126 | $' PHOTON TCOLOR WHIGGS') | |
127 | READ 3,REAC | |
128 | 3 FORMAT(A8) | |
129 | DO 18 I=1,MXKEYS | |
130 | 18 KEYS(I)=.FALSE. | |
131 | KEYON=.FALSE. | |
132 | C | |
133 | IF(REAC.EQ.'TWOJET ') THEN | |
134 | KEYS(1)=.TRUE. | |
135 | IKEY=1 | |
136 | NJET=2 | |
137 | ELSEIF(REAC.EQ.'E+E- ') THEN | |
138 | KEYS(2)=.TRUE. | |
139 | IKEY=2 | |
140 | NJET=2 | |
141 | ELSEIF(REAC.EQ.'DRELLYAN') THEN | |
142 | KEYS(3)=.TRUE. | |
143 | IKEY=3 | |
144 | NJET=3 | |
145 | ELSEIF(REAC.EQ.'MINBIAS ') THEN | |
146 | KEYS(4)=.TRUE. | |
147 | IKEY=4 | |
148 | NJET=0 | |
149 | ELSEIF(REAC.EQ.'SUPERSYM'.OR.REAC.EQ.'SUSY ') THEN | |
150 | KEYS(5)=.TRUE. | |
151 | IKEY=5 | |
152 | NJET=2 | |
153 | ELSEIF(REAC.EQ.'WPAIR ') THEN | |
154 | KEYS(6)=.TRUE. | |
155 | IKEY=6 | |
156 | NJET=2 | |
157 | ELSEIF(REAC.EQ.'HIGGS ') THEN | |
158 | KEYS(7)=.TRUE. | |
159 | IKEY=7 | |
160 | NJET=2 | |
161 | ELSEIF(REAC.EQ.'PHOTON ') THEN | |
162 | KEYS(8)=.TRUE. | |
163 | IKEY=8 | |
164 | NJET=2 | |
165 | ELSEIF(REAC.EQ.'TCOLOR ') THEN | |
166 | KEYS(9)=.TRUE. | |
167 | IKEYS=9 | |
168 | NJET=2 | |
169 | ELSEIF(REAC.EQ.'WHIGGS ') THEN | |
170 | KEYS(10)=.TRUE. | |
171 | IKEY=10 | |
172 | NJET=2 | |
173 | ELSE | |
174 | PRINT* ,' You must choose a valid reaction, try again.' | |
175 | GOTO 21 | |
176 | ENDIF | |
177 | C | |
178 | WRITE(ITCOM,3) REAC | |
179 | ENDIF | |
180 | C | |
181 | EMIN=1.0 | |
182 | SCM=ECM**2 | |
183 | HALFE=ECM/2 | |
184 | YLIM2=ALOG(ECM) | |
185 | YLIM1=-YLIM2 | |
186 | NSEL=0 | |
187 | ANGL1=0 | |
188 | ANGL2=2*PI | |
189 | XLIM1=-1.0 | |
190 | XLIM2=1.0 | |
191 | C | |
192 | C Read keyword. For each recognized keyword read corresponding | |
193 | C variables and set LOC flag. | |
194 | C | |
195 | NSEL=0 | |
196 | 1000 PRINT 99 | |
197 | 99 FORMAT(//, | |
198 | $' Choose among the following:',/, | |
199 | $' Jet limits:',/, | |
200 | $' JETTYPE1 JETTYPE2 JETTYPE3 P PHI PT TH X Y WMODE1 WMODE2',/, | |
201 | $' Drell Yan/Higgs limits:',/, | |
202 | $' HTYPE PHIW QMH QMW QTW THW WTYPE XW YW',/, | |
203 | $' Decays:',/, | |
204 | $' FORCE FORCE1 NODECAY NOETA NOEVOLVE NOFRGMNT NOPI0',/, | |
205 | $' Physics parameters:',/, | |
206 | $' CUTJET CUTOFF FRAGMENT GAUGINO HMASS HMASSES LAMBDA',/, | |
207 | $' MSSMA MSSMB MSSMC MSSMD MSSME SIGQT SIN2W SLEPTON SQUARK',/, | |
208 | $' SUGRA TCMASS TMASS WMASS XGEN',/, | |
209 | $' Other:',/, | |
210 | $' BEAMS EPOL NPOMERON NSIGMA NTRIES PDFLIB SEED STRUC WFUDGE',/, | |
211 | $' WMMODE WPMODE Z0MODE',/, | |
212 | $' Terminate with END. Use HELP for help.',/) | |
213 | C | |
214 | 100 PRINT* ,' Give a variable name.' | |
215 | READ 3,WORD | |
216 | IF(WORD.EQ.'HELP ') GO TO 1000 | |
217 | NSEL=NSEL+1 | |
218 | C | |
219 | C Keyword END | |
220 | IF(WORD.EQ.'END ') THEN | |
221 | C | |
222 | C End of run | |
223 | C | |
224 | WRITE(ITCOM,3) WORD | |
225 | PRINT 889 | |
226 | 889 FORMAT(//,10X,' NEW RUN',/,' If you are finished answer STOP.',/, | |
227 | 1 ' If you answer SAME the parameters from previous run will be', | |
228 | 2 ' used,',/,' unless you request otherwise.') | |
229 | GO TO 101 | |
230 | ENDIF | |
231 | C | |
232 | C Keyword P | |
233 | IF(WORD.EQ.'P ') THEN | |
234 | WRITE(ITCOM,3) WORD | |
235 | PRINT 562 | |
236 | PRINT 563,EMIN,HALFE | |
237 | READ*, (PMIN(K),PMAX(K),K=1,NJET) | |
238 | WRITE(ITCOM,*)(PMIN(K),PMAX(K),K=1,NJET) | |
239 | LOC(1)=NSEL | |
240 | GO TO 1000 | |
241 | ENDIF | |
242 | C | |
243 | C Keyword Y | |
244 | IF(WORD.EQ.'Y ') THEN | |
245 | WRITE(ITCOM,3) WORD | |
246 | PRINT 562 | |
247 | PRINT 563,YLIM1,YLIM2 | |
248 | READ*, (YJMIN(K),YJMAX(K),K=1,NJET) | |
249 | WRITE(ITCOM,*)(YJMIN(K),YJMAX(K),K=1,NJET) | |
250 | LOC(2)=NSEL | |
251 | GO TO 1000 | |
252 | ENDIF | |
253 | C | |
254 | C Keyword X | |
255 | IF(WORD.EQ.'X ') THEN | |
256 | WRITE(ITCOM,3) WORD | |
257 | PRINT 562 | |
258 | PRINT 563,XLIM1,XLIM2 | |
259 | READ*, (XJMIN(K),XJMAX(K),K=1,NJET) | |
260 | WRITE(ITCOM,*)(XJMIN(K),XJMAX(K),K=1,NJET) | |
261 | LOC(3)=NSEL | |
262 | GO TO 1000 | |
263 | ENDIF | |
264 | C | |
265 | C Keyword PHI | |
266 | IF(WORD.EQ.'PHI ') THEN | |
267 | WRITE(ITCOM,3) WORD | |
268 | PRINT 562 | |
269 | PRINT 563,ANGL1,ANGL2 | |
270 | READ*, (PHIMIN(K),PHIMAX(K),K=1,NJET) | |
271 | WRITE(ITCOM,*)(PHIMIN(K),PHIMAX(K),K=1,NJET) | |
272 | LOC(4)=NSEL | |
273 | GO TO 1000 | |
274 | ENDIF | |
275 | C | |
276 | C Keyword TH | |
277 | IF(WORD.EQ.'TH '.OR.WORD.EQ.'THETA ') THEN | |
278 | WRITE(ITCOM,3) WORD | |
279 | PRINT 562 | |
280 | PRINT 563,ANGL1,PI | |
281 | READ*, (THMIN(K),THMAX(K),K=1,NJET) | |
282 | WRITE(ITCOM,*)(THMIN(K),THMAX(K),K=1,NJET) | |
283 | LOC(5)=NSEL | |
284 | LOC(6)=NSEL | |
285 | GO TO 1000 | |
286 | ENDIF | |
287 | C | |
288 | C Keyword PT | |
289 | IF(WORD.EQ.'PT '.OR.WORD.EQ.'PPERP ') THEN | |
290 | WRITE(ITCOM,3) WORD | |
291 | PRINT 562 | |
292 | PRINT 563,EMIN,HALFE | |
293 | READ*, (PTMIN(K),PTMAX(K),K=1,NJET) | |
294 | WRITE(ITCOM,*)(PTMIN(K),PTMAX(K),K=1,NJET) | |
295 | LOC(7)=NSEL | |
296 | LOC(8)=NSEL | |
297 | GO TO 1000 | |
298 | ENDIF | |
299 | C | |
300 | C Keyword NODECAY | |
301 | IF(WORD.EQ.'NODECAY ') THEN | |
302 | WRITE(ITCOM,3) WORD | |
303 | PRINT 572 | |
304 | READ 571,NODCAY | |
305 | 571 FORMAT(L1) | |
306 | WRITE(ITCOM,571) NODCAY | |
307 | LOC(9)=NSEL | |
308 | GO TO 1000 | |
309 | ENDIF | |
310 | C | |
311 | C Keyword NOETA | |
312 | IF(WORD.EQ.'NOETA ') THEN | |
313 | WRITE(ITCOM,3) WORD | |
314 | PRINT 572 | |
315 | READ 571, NOETA | |
316 | WRITE(ITCOM,571) NOETA | |
317 | LOC(10)=NSEL | |
318 | GO TO 1000 | |
319 | ENDIF | |
320 | C | |
321 | C Keyword NOPI0 | |
322 | IF(WORD.EQ.'NOPI0 ') THEN | |
323 | WRITE(ITCOM,3) WORD | |
324 | PRINT 572 | |
325 | READ 571, NOPI0 | |
326 | WRITE(ITCOM,571) NOPI0 | |
327 | LOC(11)=NSEL | |
328 | GO TO 1000 | |
329 | ENDIF | |
330 | C | |
331 | C Keyword BEAMS | |
332 | IF(WORD.EQ.'BEAMS ') THEN | |
333 | WRITE(ITCOM,3) WORD | |
334 | 58 PRINT*,' Select each beam enclosed in single quotes.' | |
335 | PRINT*,' Allowed names are: P N AP AN' | |
336 | READ *,RDID(1),RDID(2) | |
337 | IDIN(1)=0 | |
338 | IDIN(2)=0 | |
339 | DO 583 K=1,2 | |
340 | IF(RDID(K).EQ.'P ') IDIN(K)=+1120 | |
341 | IF(RDID(K).EQ.'AP ') IDIN(K)=-1120 | |
342 | IF(RDID(K).EQ.'N ') IDIN(K)=+1220 | |
343 | IF(RDID(K).EQ.'AN ') IDIN(K)=-1220 | |
344 | 583 CONTINUE | |
345 | IF(IDIN(1)*IDIN(2).EQ.0) GOTO 58 | |
346 | LOC(12)=NSEL | |
347 | WRITE(ITCOM,4) RDID(1),RDID(2) | |
348 | GO TO 1000 | |
349 | ENDIF | |
350 | C | |
351 | C Keyword FRAGMENT | |
352 | IF(WORD.EQ.'FRAGMENT') THEN | |
353 | WRITE(ITCOM,3) WORD | |
354 | PRINT 584 | |
355 | READ*, FRPAR | |
356 | WRITE(ITCOM,*) FRPAR | |
357 | LOC(13)=NSEL | |
358 | GO TO 1000 | |
359 | ENDIF | |
360 | C | |
361 | C Keyword SEED | |
362 | IF(WORD.EQ.'SEED ') THEN | |
363 | WRITE(ITCOM,3) WORD | |
364 | PRINT 584 | |
365 | READ*, SEED | |
366 | WRITE(ITCOM,*) SEED | |
367 | CALL RANFST(SEED) | |
368 | LOC(14)=NSEL | |
369 | GO TO 1000 | |
370 | ENDIF | |
371 | C | |
372 | C Keywords JETTYPE1, JETTYPE2, JETTYPE3 | |
373 | IF(WORD.EQ.'JETTYPE1'.OR.WORD.EQ.'JETTYPE2'.OR.WORD.EQ. | |
374 | $'JETTYPE3') THEN | |
375 | WRITE(ITCOM,3) WORD | |
376 | C Print allowed types | |
377 | 60 IF(KEYS(6)) THEN | |
378 | PRINT 6001 | |
379 | PRINT 6002 | |
380 | 6001 FORMAT(' Give a list of jet types enclosed in single quotes ', | |
381 | $ 'and separated by commas.',/,' Terminate list with a /') | |
382 | 6002 FORMAT(' The recognized W types are: W+, W-, Z0, GM and ALL') | |
383 | ELSE | |
384 | PRINT 6001 | |
385 | PRINT 6003, LIST | |
386 | 6003 FORMAT(' The recognized jet types are:',/,4(1X,8A8,/),1X,5A8) | |
387 | ENDIF | |
388 | IF(KEYS(1)) THEN | |
389 | PRINT 6004 | |
390 | 6004 FORMAT(' A fourth generation is also allowed:',/, | |
391 | $ ' X, XB for up, Y, YB for down.',/, | |
392 | $ ' The fourth generation is normally turned off.') | |
393 | ENDIF | |
394 | IF(WORD.EQ.'JETTYPE1') IJ=1 | |
395 | IF(WORD.EQ.'JETTYPE2') IJ=2 | |
396 | IF(WORD.EQ.'JETTYPE3') IJ=3 | |
397 | READ*,(JETYP(K,IJ),K=1,25) | |
398 | DO 61 K=1,25 | |
399 | 61 IF(JETYP(K,IJ).NE.BLANK) NJTTYP(IJ)=NJTTYP(IJ)+1 | |
400 | C Check that only legal jet types are in the list | |
401 | IF(SETTYP(0)) GOTO 60 | |
402 | WRITE(ITCOM,4)(JETYP(K,IJ),K=1,NJTTYP(IJ)) | |
403 | 4 FORMAT(1H',A,2H',) | |
404 | IF(NJTTYP(IJ).LT.25) WRITE(ITCOM,*) '/' | |
405 | LOC(15)=NSEL | |
406 | GO TO 1000 | |
407 | ENDIF | |
408 | C | |
409 | C Keyword SIN2W | |
410 | IF(WORD.EQ.'SIN2W ') THEN | |
411 | WRITE(ITCOM,3) WORD | |
412 | PRINT 584 | |
413 | READ*, SIN2W | |
414 | WRITE(ITCOM,*) SIN2W | |
415 | LOC(17)=NSEL | |
416 | GO TO 1000 | |
417 | ENDIF | |
418 | C | |
419 | C Keyword TMASS | |
420 | IF(WORD.EQ.'TMASS ') THEN | |
421 | WRITE(ITCOM,3) WORD | |
422 | PRINT 584 | |
423 | READ*, AMLEP(6),AMLEP(7),AMLEP(8) | |
424 | WRITE(ITCOM,*) AMLEP(6),AMLEP(7),AMLEP(8) | |
425 | LOC(18)=NSEL | |
426 | GO TO 1000 | |
427 | ENDIF | |
428 | C | |
429 | C Keyword QMH (note that it uses same variable as QMW) | |
430 | IF(WORD.EQ.'QMH ') THEN | |
431 | WRITE(ITCOM,3) WORD | |
432 | PRINT*,' Give minimum and maximum MASS for Higgs.' | |
433 | READ*,QMIN,QMAX | |
434 | WRITE(ITCOM,*)QMIN,QMAX | |
435 | LOC(19)=NSEL | |
436 | GO TO 1000 | |
437 | ENDIF | |
438 | C | |
439 | C Keyword QMW | |
440 | IF(WORD.EQ.'QMW ') THEN | |
441 | WRITE(ITCOM,3) WORD | |
442 | PRINT*,' Give minimum and maximum MASS for W(Z0).' | |
443 | READ*,QMIN,QMAX | |
444 | WRITE(ITCOM,*)QMIN,QMAX | |
445 | LOC(19)=NSEL | |
446 | GO TO 1000 | |
447 | ENDIF | |
448 | C | |
449 | C Keyword QTW | |
450 | IF(WORD.EQ.'QTW ') THEN | |
451 | WRITE(ITCOM,3) WORD | |
452 | PRINT*,' Give minimum and maximum PT for W(Z0).' | |
453 | PRINT 563,EMIN,HALFE | |
454 | PRINT*,' Fix QTW to zero for standard Drell-Yan.' | |
455 | READ*, QTMIN,QTMAX | |
456 | WRITE(ITCOM,*) QTMIN,QTMAX | |
457 | LOC(20)=NSEL | |
458 | GO TO 1000 | |
459 | ENDIF | |
460 | C | |
461 | C Keyword YW | |
462 | IF(WORD.EQ.'YW ') THEN | |
463 | WRITE(ITCOM,3) WORD | |
464 | PRINT*,' Give minimum and maximum Y for W(Z0).' | |
465 | PRINT 563,YLIM1,YLIM2 | |
466 | READ*, YWMIN,YWMAX | |
467 | WRITE(ITCOM,*)YWMIN,YWMAX | |
468 | LOC(21)=NSEL | |
469 | GO TO 1000 | |
470 | ENDIF | |
471 | C | |
472 | C Keyword XW | |
473 | IF(WORD.EQ.'XW ') THEN | |
474 | WRITE(ITCOM,3) WORD | |
475 | PRINT*,' Give minimum and maximum X for W(Z0).' | |
476 | PRINT 563,XLIM1,XLIM2 | |
477 | READ*, XWMIN,XWMAX | |
478 | WRITE(ITCOM,*)XWMIN,XWMAX | |
479 | LOC(22)=NSEL | |
480 | GO TO 1000 | |
481 | ENDIF | |
482 | C | |
483 | C Keyword THW | |
484 | IF(WORD.EQ.'THW ') THEN | |
485 | WRITE(ITCOM,3) WORD | |
486 | PRINT*,' Give minimum and maximum THETA for W(Z0).' | |
487 | PRINT 563,ANGL1,PI | |
488 | READ*, THWMIN,THWMAX | |
489 | WRITE(ITCOM,*)THWMIN,THWMAX | |
490 | LOC(23)=NSEL | |
491 | GO TO 1000 | |
492 | ENDIF | |
493 | C | |
494 | C Keyword PHIW | |
495 | IF(WORD.EQ.'PHIW ') THEN | |
496 | WRITE(ITCOM,3) WORD | |
497 | PRINT*,' Give minimum and maximum PHI for W(Z0).' | |
498 | PRINT 563,ANGL1,ANGL2 | |
499 | READ*, PHWMIN,PHWMAX | |
500 | WRITE(ITCOM,*)PHWMIN,PHWMAX | |
501 | LOC(24)=NSEL | |
502 | GO TO 1000 | |
503 | ENDIF | |
504 | C | |
505 | C Keyword NONUNU | |
506 | IF(WORD.EQ.'NONUNU ') THEN | |
507 | WRITE(ITCOM,3) WORD | |
508 | PRINT 572 | |
509 | READ 571,NONUNU | |
510 | WRITE(ITCOM,571) NONUNU | |
511 | LOC(25)=NSEL | |
512 | GO TO 1000 | |
513 | ENDIF | |
514 | C | |
515 | C Keyword WTYPE | |
516 | IF(WORD.EQ.'WTYPE ') THEN | |
517 | WRITE(ITCOM,3) WORD | |
518 | 92 PRINT*,' Choose from one set of bosons: W+,W- or Z0,GM' | |
519 | PRINT*,' Enclose each in single quotes and terminate with / ' | |
520 | DO 191 J=1,4 | |
521 | WTYP(J)=BLANK | |
522 | 191 GODY(J)=.FALSE. | |
523 | READ*,WTYP | |
524 | DO 192 K=1,4 | |
525 | IF(WTYP(K).EQ.'GM ') GODY(1)=.TRUE. | |
526 | IF(WTYP(K).EQ.'W+ ') GODY(2)=.TRUE. | |
527 | IF(WTYP(K).EQ.'W- ') GODY(3)=.TRUE. | |
528 | IF(WTYP(K).EQ.'Z0 ') GODY(4)=.TRUE. | |
529 | 192 CONTINUE | |
530 | IF(GODY(1)) JWTYP=1 | |
531 | IF(GODY(2).OR.GODY(3)) JWTYP=3 | |
532 | IF(GODY(4)) JWTYP=4 | |
533 | IF((GODY(3).OR.GODY(2)).AND.(GODY(1).OR.GODY(4)).OR.JWTYP | |
534 | 1 .EQ.0) THEN | |
535 | PRINT 2003 | |
536 | GOTO 92 | |
537 | ELSE | |
538 | WRITE(ITCOM,4) WTYP | |
539 | LOC(26)=NSEL | |
540 | ENDIF | |
541 | GO TO 1000 | |
542 | ENDIF | |
543 | C | |
544 | C Keyword LAMBDA | |
545 | IF(WORD.EQ.'LAMBDA ') THEN | |
546 | WRITE(ITCOM,3) WORD | |
547 | PRINT 584 | |
548 | READ*, ALAM | |
549 | WRITE(ITCOM,*) ALAM | |
550 | ALAM2=ALAM**2 | |
551 | LOC(27)=NSEL | |
552 | GO TO 1000 | |
553 | ENDIF | |
554 | C | |
555 | C Keyword NTRIES | |
556 | IF(WORD.EQ.'NTRIES ') THEN | |
557 | WRITE(ITCOM,3) WORD | |
558 | PRINT 584 | |
559 | READ*,NTRIES | |
560 | WRITE(ITCOM,*)NTRIES | |
561 | LOC(28)=NSEL | |
562 | GO TO 1000 | |
563 | ENDIF | |
564 | C | |
565 | C Keyword CUTOFF | |
566 | IF(WORD.EQ.'CUTOFF ') THEN | |
567 | WRITE(ITCOM,3) WORD | |
568 | PRINT 584 | |
569 | READ*,CUTOFF,CUTPOW | |
570 | WRITE(ITCOM,*)CUTOFF,CUTPOW | |
571 | LOC(29)=NSEL | |
572 | GO TO 1000 | |
573 | ENDIF | |
574 | C | |
575 | C Keyword XGEN | |
576 | IF(WORD.EQ.'XGEN ') THEN | |
577 | WRITE(ITCOM,3) WORD | |
578 | PRINT 584 | |
579 | READ*,XGEN | |
580 | WRITE(ITCOM,*)XGEN | |
581 | LOC(30)=NSEL | |
582 | GO TO 1000 | |
583 | ENDIF | |
584 | C | |
585 | C Keyword SIGQT | |
586 | IF(WORD.EQ.'SIGQT ') THEN | |
587 | WRITE(ITCOM,3) WORD | |
588 | PRINT 584 | |
589 | READ*,SIGQT | |
590 | WRITE(ITCOM,*)SIGQT | |
591 | LOC(31)=NSEL | |
592 | GO TO 1000 | |
593 | ENDIF | |
594 | C | |
595 | C Keyword CUTJET | |
596 | IF(WORD.EQ.'CUTJET ') THEN | |
597 | WRITE(ITCOM,3) WORD | |
598 | PRINT 584 | |
599 | READ*, CUTJET | |
600 | WRITE(ITCOM,*) CUTJET | |
601 | LOC(32)=NSEL | |
602 | GO TO 1000 | |
603 | ENDIF | |
604 | C | |
605 | C Keyword WFUDGE | |
606 | IF(WORD.EQ.'WFUDGE ') THEN | |
607 | WRITE(ITCOM,3) WORD | |
608 | PRINT 584 | |
609 | READ*, WFUDGE | |
610 | WRITE(ITCOM,*) WFUDGE | |
611 | LOC(50)=NSEL | |
612 | GO TO 1000 | |
613 | ENDIF | |
614 | C | |
615 | C Keyword STRUC | |
616 | IF(WORD.EQ.'STRUC ') THEN | |
617 | WRITE(ITCOM,3) WORD | |
618 | ISTRUC=0 | |
619 | 69 PRINT*,' Choose a structure function: OWENS, BAIER or EICHTEN' | |
620 | PRINT*,' Enclose in single quotes' | |
621 | READ*,LSTRUC | |
622 | IF(LSTRUC.EQ.'OWENS ') ISTRUC=1 | |
623 | IF(LSTRUC.EQ.'BAIER ') ISTRUC=2 | |
624 | IF(LSTRUC.EQ.'EICHTEN ') ISTRUC=3 | |
625 | IF(LSTRUC.EQ.'DUKE '.OR.LSTRUC.EQ.'DO ') ISTRUC=4 | |
626 | IF(LSTRUC.EQ.'CTEQ2L ') ISTRUC=5 | |
627 | IF(LSTRUC.EQ.'CTEQ '.OR.LSTRUC.EQ.'CTEQ3L ') ISTRUC=6 | |
628 | IF(ISTRUC.EQ.0) GOTO 69 | |
629 | WRITE(ITCOM,*) LSTRUC | |
630 | LOC(33)=NSEL | |
631 | GO TO 1000 | |
632 | ENDIF | |
633 | C | |
634 | C Keyword NPOMERON | |
635 | IF(WORD.EQ.'NPOMERON') THEN | |
636 | WRITE(ITCOM,3) WORD | |
637 | 93 PRINT*,' Give min and max; allowed range is 1 to 20.' | |
638 | READ*,MNPOM,MXPOM | |
639 | IF(MNPOM.LT.1.OR.MNPOM.GT.MXPOM.OR.MXPOM.GT.LIMPOM) | |
640 | 1 GO TO 93 | |
641 | WRITE(ITCOM,*)MNPOM,MXPOM | |
642 | LOC(34)=NSEL | |
643 | GO TO 1000 | |
644 | ENDIF | |
645 | C | |
646 | C Keyword FORCE | |
647 | IF(WORD.EQ.'FORCE ') THEN | |
648 | PRINT*,' Force decay of a particle and its anti-particle.' | |
649 | PRINT*,' Use FORCE1 if you want to decay only one of them.' | |
650 | PRINT*,' Give a particle IDENT and IDENTs for decay mode.' | |
651 | PRINT*,' Max. number of decay products is 5.' | |
652 | NFTEMP=NFTEMP+2 | |
653 | IF(NFTEMP.LE.MXFORC) THEN | |
654 | WRITE(ITCOM,3) WORD | |
655 | DO 72 K=1,5 | |
656 | 72 MFORCE(K,NFTEMP)=0 | |
657 | READ*,IFORCE(NFTEMP),(MFORCE(K,NFTEMP),K=1,5) | |
658 | WRITE(ITCOM,*)IFORCE(NFTEMP),(MFORCE(K,NFTEMP),K=1,5) | |
659 | LOC(35)=NSEL | |
660 | ELSE | |
661 | PRINT*,' You exceeded the maximum allowed forced decays.' | |
662 | ENDIF | |
663 | GO TO 1000 | |
664 | ENDIF | |
665 | C | |
666 | C Keyword FORCE1 | |
667 | IF(WORD.EQ.'FORCE1 ') THEN | |
668 | PRINT*,' Force decay of a particle.' | |
669 | PRINT*,' Give a particle IDENT and IDENTs for decay mode.' | |
670 | PRINT*,' Max. number of decay products is 5.' | |
671 | NFTEMP=NFTEMP+1 | |
672 | IF(NFTEMP.LE.MXFORC) THEN | |
673 | WRITE(ITCOM,3) WORD | |
674 | DO 73 K=1,5 | |
675 | 73 MFORCE(K,NFTEMP)=0 | |
676 | READ*,IFORCE(NFTEMP),(MFORCE(K,NFTEMP),K=1,5) | |
677 | WRITE(ITCOM,*)IFORCE(NFTEMP),(MFORCE(K,NFTEMP),K=1,5) | |
678 | LOC(35)=NSEL | |
679 | ELSE | |
680 | PRINT*,' You exceeded the maximun allowed forced decays.' | |
681 | ENDIF | |
682 | GO TO 1000 | |
683 | ENDIF | |
684 | C | |
685 | C Keyword HMASSES - also see HMASS | |
686 | IF(WORD.EQ.'HMASSES ') THEN | |
687 | WRITE(ITCOM,3) WORD | |
688 | PRINT*, | |
689 | $ ' Give Higgs masses (HIGGS,H10,H20,H30,H40,H1+,H2+,H1++,H2++)' | |
690 | CALL FLAVOR(80,I1,I2,I3,J1,INDEX) | |
691 | READ*,(AMLEP(INDEX+K),K=1,9) | |
692 | WRITE(ITCOM,*)(AMLEP(INDEX+K),K=1,9) | |
693 | LOC(36)=NSEL | |
694 | GO TO 1000 | |
695 | ENDIF | |
696 | C | |
697 | C Keywords WMODE1,WMODE2 | |
698 | IF(WORD.EQ.'WMODE1 '.OR.WORD.EQ.'WMODE2 ') THEN | |
699 | WRITE(ITCOM,3) WORD | |
700 | 95 PRINT 6001 | |
701 | PRINT 6003, LIST | |
702 | IF(WORD.EQ.'WMODE1 ') IJ=1 | |
703 | IF(WORD.EQ.'WMODE2 ') IJ=2 | |
704 | READ*,(WWTYP(K,IJ),K=1,25) | |
705 | DO 372 K=1,25 | |
706 | 372 IF(WWTYP(K,IJ).NE.BLANK) NWWTYP(IJ)=NWWTYP(IJ)+1 | |
707 | IF(SETTYP(0)) GOTO 95 | |
708 | WRITE(ITCOM,4)(WWTYP(K,IJ),K=1,NWWTYP(IJ)) | |
709 | IF(NWWTYP(IJ).LT.25) WRITE(ITCOM,*) '/' | |
710 | LOC(37)=NSEL | |
711 | GO TO 1000 | |
712 | ENDIF | |
713 | C | |
714 | C Keyword NOEVOLVE | |
715 | IF(WORD.EQ.'NOEVOLVE') THEN | |
716 | WRITE(ITCOM,3) WORD | |
717 | PRINT 572 | |
718 | READ 571,NOEVOL | |
719 | WRITE(ITCOM,571) NOEVOL | |
720 | LOC(38)=NSEL | |
721 | GO TO 1000 | |
722 | ENDIF | |
723 | C | |
724 | C Keyword NOHADRON | |
725 | IF(WORD.EQ.'NOHADRON') THEN | |
726 | WRITE(ITCOM,3) WORD | |
727 | PRINT 572 | |
728 | READ 571,NOEVOL | |
729 | WRITE(ITCOM,571) NOEVOL | |
730 | LOC(39)=NSEL | |
731 | GO TO 1000 | |
732 | ENDIF | |
733 | C | |
734 | C Keyword GAUGINO | |
735 | IF(WORD.EQ.'GAUGINO ') THEN | |
736 | WRITE(ITCOM,3) WORD | |
737 | PRINT*,' Give masses (GLSS,GMSS,W+SS,W-SS)' | |
738 | CALL FLAVOR(29,I1,I2,I3,J1,IDG1) | |
739 | CALL FLAVOR(30,I1,I2,I3,J1,IDG2) | |
740 | CALL FLAVOR(39,I1,I2,I3,J1,IDG3) | |
741 | CALL FLAVOR(40,I1,I2,I3,J1,IDG4) | |
742 | READ*, AMLEP(IDG1),AMLEP(IDG2),AMLEP(IDG3),AMLEP(IDG4) | |
743 | WRITE(ITCOM,*) AMLEP(IDG1),AMLEP(IDG2),AMLEP(IDG3),AMLEP(IDG4) | |
744 | LOC(40)=NSEL | |
745 | GO TO 1000 | |
746 | ENDIF | |
747 | C | |
748 | C Keyword SQUARK | |
749 | IF(WORD.EQ.'SQUARK ') THEN | |
750 | WRITE(ITCOM,3) WORD | |
751 | PRINT*,' Give masses (UPSS,DNSS,STSS,CHSS,BTSS,TPSS).' | |
752 | CALL FLAVOR(21,I1,I2,I3,J1,IDXQK) | |
753 | READ*, (AMLEP(IDXQK+K-1),K=1,6) | |
754 | WRITE(ITCOM,*) (AMLEP(IDXQK+K-1),K=1,6) | |
755 | LOC(41)=NSEL | |
756 | GO TO 1000 | |
757 | ENDIF | |
758 | C | |
759 | C Keyword SLEPTON | |
760 | IF(WORD.EQ.'SLEPTON ') THEN | |
761 | WRITE(ITCOM,3) WORD | |
762 | PRINT*,' Give masses (NUESS,E-SS,NUMSS,MU-SS,NUTSS,T-SS).' | |
763 | CALL FLAVOR(31,I1,I2,I3,J1,IDXLEP) | |
764 | READ*, (AMLEP(IDXLEP+K-1),K=1,6) | |
765 | WRITE(ITCOM,*) (AMLEP(IDXLEP+K-1),K=1,6) | |
766 | LOC(42)=NSEL | |
767 | GO TO 1000 | |
768 | ENDIF | |
769 | C | |
770 | C Keyword NSIGMA | |
771 | IF(WORD.EQ.'NSIGMA ') THEN | |
772 | WRITE(ITCOM,3) WORD | |
773 | PRINT 584 | |
774 | READ*,NSIGMA | |
775 | WRITE(ITCOM,*) NSIGMA | |
776 | LOC(43)=NSEL | |
777 | GO TO 1000 | |
778 | ENDIF | |
779 | C | |
780 | C Keyword XGENSS | |
781 | IF(WORD.EQ.'XGENSS ') THEN | |
782 | WRITE(ITCOM,3) WORD | |
783 | PRINT 584 | |
784 | READ*, XGENSS(9),(XGENSS(KK),KK=1,8) | |
785 | WRITE(ITCOM,*) XGENSS(9),(XGENSS(KK),KK=1,8) | |
786 | LOC(44)=NSEL | |
787 | GO TO 1000 | |
788 | ENDIF | |
789 | C | |
790 | C Keyword HMASS - just standard Higgs | |
791 | IF(WORD.EQ.'HMASS ') THEN | |
792 | WRITE(ITCOM,3) WORD | |
793 | PRINT 584 | |
794 | CALL FLAVOR(81,I1,I2,I3,J1,INDEX) | |
795 | READ *, AMLEP(INDEX) | |
796 | WRITE(ITCOM,*) AMLEP(INDEX) | |
797 | LOC(45)=NSEL | |
798 | GO TO 1000 | |
799 | ENDIF | |
800 | C | |
801 | C Keywords WPMODE, WMMODE, Z0MODE | |
802 | IF(WORD.EQ.'WPMODE '.OR.WORD.EQ.'WMMODE ' | |
803 | $.OR.WORD.EQ.'Z0MODE ') THEN | |
804 | IF(WORD.EQ.'WPMODE ') IJ=1 | |
805 | IF(WORD.EQ.'WMMODE ') IJ=2 | |
806 | IF(WORD.EQ.'Z0MODE ') IJ=3 | |
807 | WRITE(ITCOM,3) WORD | |
808 | PRINT 6001 | |
809 | PRINT 6003, LIST | |
810 | READ *, (WMODES(K,IJ),K=1,25) | |
811 | DO 463 K=1,25 | |
812 | 463 IF(WMODES(K,IJ).NE.BLANK) NWMODE(IJ)=NWMODE(IJ)+1 | |
813 | WRITE(ITCOM,*) (WMODES(K,IJ),K=1,NWMODE(IJ)) | |
814 | LOC(46)=NSEL | |
815 | GO TO 1000 | |
816 | ENDIF | |
817 | C | |
818 | C Keyword WMASS | |
819 | IF(WORD.EQ.'WMASS ') THEN | |
820 | PRINT 584 | |
821 | READ*, AMW,AMZ | |
822 | WRITE(ITCOM,*) AMW,AMZ | |
823 | WMASS(1)=0. | |
824 | WMASS(2)=AMW | |
825 | WMASS(3)=AMW | |
826 | WMASS(4)=AMZ | |
827 | CALL FLAVOR(80,I1,I2,I3,J,INDEX) | |
828 | AMLEP(INDEX)=AMW | |
829 | CALL FLAVOR(90,I1,I2,I3,J,INDEX) | |
830 | AMLEP(INDEX)=AMZ | |
831 | LOC(47)=NSEL | |
832 | GO TO 1000 | |
833 | ENDIF | |
834 | C | |
835 | C Keyword NEVOLVE | |
836 | IF(WORD.EQ.'NEVOLVE ') THEN | |
837 | WRITE(ITCOM,3) WORD | |
838 | PRINT 584 | |
839 | READ*,NEVOLV | |
840 | WRITE(ITCOM,*) NEVOLV | |
841 | LOC(48)=NSEL | |
842 | GO TO 1000 | |
843 | ENDIF | |
844 | C | |
845 | C Keyword NHADRON | |
846 | IF(WORD.EQ.'NHADRON ') THEN | |
847 | WRITE(ITCOM,3) WORD | |
848 | PRINT 584 | |
849 | READ*,NFRGMN | |
850 | WRITE(ITCOM,*)NFRGMN | |
851 | LOC(49)=NSEL | |
852 | GO TO 1000 | |
853 | ENDIF | |
854 | C | |
855 | C Keyword TCMASS | |
856 | IF(WORD.EQ.'TCMASS ') THEN | |
857 | WRITE(ITCOM,3) WORD | |
858 | PRINT 584 | |
859 | READ*,TCMRHO,TCGRHO | |
860 | WRITE(ITCOM,*) TCMRHO,TCGRHO | |
861 | LOC(50)=NSEL | |
862 | GO TO 1000 | |
863 | ENDIF | |
864 | C | |
865 | C Keyword MSSMA | |
866 | IF(WORD.EQ.'MSSMA ') THEN | |
867 | WRITE(ITCOM,3) WORD | |
868 | PRINT 585 | |
869 | READ *, XGLSS,XMUSS,XHASS,XTBSS | |
870 | WRITE(ITCOM,*) XGLSS,XMUSS,XHASS,XTBSS | |
871 | LOC(51)=NSEL | |
872 | GOMSSM=.TRUE. | |
873 | GO TO 1000 | |
874 | ENDIF | |
875 | C | |
876 | C Keyword MSSMB | |
877 | IF(WORD.EQ.'MSSMB ') THEN | |
878 | WRITE(ITCOM,3) WORD | |
879 | PRINT 586 | |
880 | READ*, XQ1SS,XDRSS,XURSS,XL1SS,XERSS | |
881 | WRITE(ITCOM,*) XQ1SS,XDRSS,XURSS,XL1SS,XERSS | |
882 | LOC(52)=NSEL | |
883 | GOMSSM=.TRUE. | |
884 | GO TO 1000 | |
885 | ENDIF | |
886 | C | |
887 | C Keyword MSSMC | |
888 | IF(WORD.EQ.'MSSMC ') THEN | |
889 | WRITE(ITCOM,3) WORD | |
890 | PRINT 587 | |
891 | READ*, XQ3SS,XBRSS,XTRSS,XL3SS,XTARSS,XATSS,XABSS,XATASS | |
892 | WRITE(ITCOM,*)XQ3SS,XBRSS,XTRSS,XL3SS,XTARSS,XATSS,XABSS,XATASS | |
893 | LOC(53)=NSEL | |
894 | GOMSSM=.TRUE. | |
895 | GO TO 1000 | |
896 | ENDIF | |
897 | C | |
898 | C Keyword PDFLIB: parameters for PDFLIB | |
899 | #if defined(CERNLIB_PDFLIB) | |
900 | IF(WORD.EQ.'PDFLIB ') THEN | |
901 | WRITE(ITCOM,3) WORD | |
902 | DO 541 I=1,20 | |
903 | PDFPAR(I)=' ' | |
904 | PDFVAL(I)=0 | |
905 | 541 CONTINUE | |
906 | PRINT 588 | |
907 | READ*, (PDFPAR(I),PDFVAL(I),I=1,20) | |
908 | DO 542 I=1,20 | |
909 | IF(PDFPAR(I).NE.' ') THEN | |
910 | WRITE(ITCOM,5401) PDFPAR(I) | |
911 | 5401 FORMAT(1H',A,1H') | |
912 | WRITE(ITCOM,*) PDFVAL(I) | |
913 | ENDIF | |
914 | 542 CONTINUE | |
915 | WRITE(ITCOM,*) '/' | |
916 | ISTRUC=-999 | |
917 | LOC(54)=NSEL | |
918 | GO TO 1000 | |
919 | ENDIF | |
920 | #endif | |
921 | C | |
922 | C Keyword SUGRA | |
923 | IF(WORD.EQ.'SUGRA ') THEN | |
924 | WRITE(ITCOM,3) WORD | |
925 | PRINT 589 | |
926 | READ*, XM0SU,XMHSU,XA0SU,XTGBSU,XSMUSU | |
927 | WRITE(ITCOM,*) XM0SU,XMHSU,XA0SU,XTGBSU,XSMUSU | |
928 | LOC(55)=NSEL | |
929 | GOMSSM=.TRUE. | |
930 | GOSUG=.TRUE. | |
931 | GO TO 1000 | |
932 | ENDIF | |
933 | C | |
934 | C Keyword HTYPE | |
935 | IF(WORD.EQ.'HTYPE ') THEN | |
936 | PRINT*,' Enter Higgs type (HL0, HH0, HA0) in single quotes' | |
937 | READ*, HTYPE | |
938 | IHTYPE=0 | |
939 | IF(HTYPE.EQ.'HL0 ') IHTYPE=82 | |
940 | IF(HTYPE.EQ.'HH0 ') IHTYPE=83 | |
941 | IF(HTYPE.EQ.'HA0 ') IHTYPE=84 | |
942 | IF(IHTYPE.EQ.0) THEN | |
943 | PRINT*, 'Invalid Higgs type - try again' | |
944 | GO TO 1000 | |
945 | ENDIF | |
946 | WRITE(ITCOM,3) WORD | |
947 | WRITE(ITCOM,*) HTYPE | |
948 | LOC(56)=NSEL | |
949 | GO TO 1000 | |
950 | ENDIF | |
951 | C | |
952 | C Keyword EPOL | |
953 | IF(WORD.EQ.'EPOL ') THEN | |
954 | WRITE(ITCOM,3) WORD | |
955 | PRINT 590 | |
956 | READ*,PLEM,PLEP | |
957 | WRITE(ITCOM,*) PLEM,PLEP | |
958 | LOC(57)=NSEL | |
959 | GO TO 1000 | |
960 | ENDIF | |
961 | C | |
962 | C Keyword MSSMD | |
963 | IF(WORD.EQ.'MSSMD ') THEN | |
964 | WRITE(ITCOM,3) WORD | |
965 | PRINT 591 | |
966 | READ*,XQ2SS,XSRSS,XCRSS,XL2SS,XMRSS | |
967 | WRITE(ITCOM,*) XQ2SS,XSRSS,XCRSS,XL2SS,XMRSS | |
968 | LOC(58)=NSEL | |
969 | GO TO 1000 | |
970 | ENDIF | |
971 | C | |
972 | C Keyword MSSME | |
973 | IF(WORD.EQ.'MSSME ') THEN | |
974 | WRITE(ITCOM,3) WORD | |
975 | PRINT 592 | |
976 | READ*, XM1SS,XM2SS | |
977 | WRITE(ITCOM,*) XM1SS,XM2SS | |
978 | LOC(59)=NSEL | |
979 | GO TO 100 | |
980 | ENDIF | |
981 | C | |
982 | C Keyword GMSB | |
983 | IF(WORD.EQ.'GMSB ') THEN | |
984 | WRITE(ITCOM,3) WORD | |
985 | PRINT 593 | |
986 | READ*, XLAMGM,XMESGM,XN5GM,XTGBSU,XSMUSU,XCMGV | |
987 | WRITE(ITCOM,*) XLAMGM,XMESGM,XN5GM,XTGBSU,XSMUSU,XCMGV | |
988 | LOC(60)=NSEL | |
989 | GOMSSM=.TRUE. | |
990 | GOGMSB=.TRUE. | |
991 | GO TO 1000 | |
992 | ENDIF | |
993 | C | |
994 | C Keyword NUSUG1: optional GUT scale gaugino masses | |
995 | IF(WORD.EQ.'NUSUG1 ') THEN | |
996 | WRITE(ITCOM,3) WORD | |
997 | PRINT 594 | |
998 | READ*, XNUSUG(1),XNUSUG(2),XNUSUG(3) | |
999 | WRITE(ITCOM,*) XNUSUG(1),XNUSUG(2),XNUSUG(3) | |
1000 | LOC(61)=NSEL | |
1001 | GO TO 100 | |
1002 | ENDIF | |
1003 | C | |
1004 | C Keyword NUSUG2: optional GUT scale A terms | |
1005 | IF(WORD.EQ.'NUSUG2 ') THEN | |
1006 | WRITE(ITCOM,3) WORD | |
1007 | PRINT 595 | |
1008 | READ*, XNUSUG(6),XNUSUG(5),XNUSUG(4) | |
1009 | WRITE(ITCOM,*) XNUSUG(6),XNUSUG(5),XNUSUG(4) | |
1010 | LOC(62)=NSEL | |
1011 | GO TO 100 | |
1012 | ENDIF | |
1013 | C | |
1014 | C Keyword NUSUG3: optional GUT scale Higgs masses | |
1015 | IF(WORD.EQ.'NUSUG3 ') THEN | |
1016 | WRITE(ITCOM,3) WORD | |
1017 | PRINT 596 | |
1018 | READ*, XNUSUG(7),XNUSUG(8) | |
1019 | WRITE(ITCOM,*) XNUSUG(7),XNUSUG(8) | |
1020 | LOC(63)=NSEL | |
1021 | GO TO 100 | |
1022 | ENDIF | |
1023 | C | |
1024 | C Keyword NUSUG4: optional GUT scale 1st/2nd gen. masses | |
1025 | IF(WORD.EQ.'NUSUG4 ') THEN | |
1026 | WRITE(ITCOM,3) WORD | |
1027 | PRINT 597 | |
1028 | READ*, XNUSUG(13),XNUSUG(11),XNUSUG(12),XNUSUG(10) | |
1029 | $,XNUSUG(9) | |
1030 | WRITE(ITCOM,*) XNUSUG(13),XNUSUG(11),XNUSUG(12),XNUSUG(10) | |
1031 | $,XNUSUG(9) | |
1032 | LOC(64)=NSEL | |
1033 | GO TO 100 | |
1034 | ENDIF | |
1035 | C | |
1036 | C Keyword NUSUG5: optional GUT scale 3rd gen. masses | |
1037 | IF(WORD.EQ.'NUSUG5 ') THEN | |
1038 | WRITE(ITCOM,3) WORD | |
1039 | PRINT 598 | |
1040 | READ*, XNUSUG(18),XNUSUG(16),XNUSUG(17),XNUSUG(15) | |
1041 | $,XNUSUG(14) | |
1042 | WRITE(ITCOM,*) XNUSUG(18),XNUSUG(16),XNUSUG(17),XNUSUG(15) | |
1043 | $,XNUSUG(14) | |
1044 | LOC(65)=NSEL | |
1045 | GO TO 100 | |
1046 | ENDIF | |
1047 | C | |
1048 | C Keyword NOGRAV: No gravitino decays | |
1049 | IF(WORD.EQ.'NOGRAV ') THEN | |
1050 | WRITE(ITCOM,3) WORD | |
1051 | PRINT 572 | |
1052 | READ 571,NOGRAV | |
1053 | WRITE(ITCOM,571) NOGRAV | |
1054 | LOC(66)=NSEL | |
1055 | GO TO 1000 | |
1056 | ENDIF | |
1057 | C | |
1058 | C Keyword MGVTNO: Sets the gravitino mass | |
1059 | IF(WORD.EQ.'MGVTNO ') THEN | |
1060 | WRITE(ITCOM,3) WORD | |
1061 | PRINT 599 | |
1062 | READ*, XMGVTO | |
1063 | WRITE(ITCOM,*) XMGVTO | |
1064 | LOC(67)=NSEL | |
1065 | GO TO 1000 | |
1066 | ENDIF | |
1067 | C | |
1068 | C Keyword AL3UNI: Impose alpha_s unification at M_GUT | |
1069 | IF(WORD.EQ.'AL3UNI ') THEN | |
1070 | WRITE(ITCOM,3) WORD | |
1071 | PRINT 600 | |
1072 | READ*, AL3UNI | |
1073 | WRITE(ITCOM,*) AL3UNI | |
1074 | LOC(68)=NSEL | |
1075 | GO TO 1000 | |
1076 | ENDIF | |
1077 | C | |
1078 | C Keyword GMSB2: additional GMSB parameters | |
1079 | IF(WORD.EQ.'GMSB2 ') THEN | |
1080 | WRITE(ITCOM,3) WORD | |
1081 | PRINT 601 | |
1082 | READ*, XRSLGM,XDHDGM,XDHUGM,XDYGM,XN51GM,XN52GM,XN53GM | |
1083 | WRITE(ITCOM,*) XRSLGM,XDHDGM,XDHUGM,XDYGM,XN51GM,XN52GM,XN53GM | |
1084 | LOC(69)=NSEL | |
1085 | GO TO 1000 | |
1086 | ENDIF | |
1087 | C | |
1088 | C Keyword EEBREM: do bremsstralung | |
1089 | IF(WORD.EQ.'EEBREM ') THEN | |
1090 | WRITE(ITCOM,3) WORD | |
1091 | PRINT 602 | |
1092 | READ*, RSHMIN,RSHMAX | |
1093 | WRITE(ITCOM,*) RSHMIN,RSHMAX | |
1094 | IBREM=.TRUE. | |
1095 | LOC(70)=NSEL | |
1096 | GO TO 1000 | |
1097 | ENDIF | |
1098 | C | |
1099 | C Keyword EEBEAM: do beamstralung | |
1100 | IF(WORD.EQ.'EEBEAM ') THEN | |
1101 | WRITE(ITCOM,3) WORD | |
1102 | PRINT 603 | |
1103 | READ*, RSHMIN,RSHMAX,UPSLON,SIGZ | |
1104 | WRITE(ITCOM,*) RSHMIN,RSHMAX,UPSLON,SIGZ | |
1105 | IBREM=.TRUE. | |
1106 | IBEAM=.TRUE. | |
1107 | LOC(71)=NSEL | |
1108 | GO TO 1000 | |
1109 | ENDIF | |
1110 | C | |
1111 | C Keyword QMKKG (QMW for EXTRADIM) | |
1112 | IF(WORD.EQ.'QMKKG ') THEN | |
1113 | WRITE(ITCOM,3) WORD | |
1114 | PRINT*,'KK graviton mass limits?' | |
1115 | READ*, QMIN,QMAX | |
1116 | WRITE(ITCOM,*) QMIN,QMAX | |
1117 | LOC(19)=NSEL | |
1118 | GO TO 1000 | |
1119 | ENDIF | |
1120 | C | |
1121 | C Keyword QTKKG (QTW for EXTRADIM) | |
1122 | IF(WORD.EQ.'QTKKG ') THEN | |
1123 | WRITE(ITCOM,3) WORD | |
1124 | PRINT*,'KK graviton qt limits?' | |
1125 | READ*, QTMIN,QTMAX | |
1126 | WRITE(ITCOM,*) QTMIN,QTMAX | |
1127 | LOC(20)=NSEL | |
1128 | GO TO 1000 | |
1129 | ENDIF | |
1130 | C | |
1131 | C Keyword EXTRAD for EXTRADIM | |
1132 | IF(WORD.EQ.'EXTRAD ') THEN | |
1133 | WRITE(ITCOM,3) WORD | |
1134 | PRINT*,'KK delta n, mass, UVCUT flag?' | |
1135 | READ*, NEXTRAD,MASSD,UVCUT | |
1136 | WRITE(ITCOM,*) NEXTRAD,MASSD,UVCUT | |
1137 | LOC(72)=NSEL | |
1138 | GO TO 1000 | |
1139 | ENDIF | |
1140 | C | |
1141 | C Keyword MIJLIM | |
1142 | IF(WORD.EQ.'MIJLIM ') THEN | |
1143 | WRITE(ITCOM,3) WORD | |
1144 | PRINT*,'Dijet pair mass limits i,j,min,max?' | |
1145 | READ*, JLIM1,JLIM2,AMLIM1,AMLIM2 | |
1146 | WRITE(ITCOM,*) JLIM1,JLIM2,AMLIM1,AMLIM2 | |
1147 | LOC(73)=NSEL | |
1148 | GO TO 1000 | |
1149 | ENDIF | |
1150 | C | |
1151 | C Keyword MTOT | |
1152 | IF(WORD.EQ.'MTOT ') THEN | |
1153 | WRITE(ITCOM,3) WORD | |
1154 | PRINT*,'Total mass limits?' | |
1155 | READ*, EHMGMN,EHMGMX | |
1156 | WRITE(ITCOM,*) EHMGMN,EHMGMX | |
1157 | LOC(74)=NSEL | |
1158 | GO TO 1000 | |
1159 | ENDIF | |
1160 | C | |
1161 | C Keyword SUGRHN: enter right-neutrino parameters | |
1162 | IF(WORD.EQ.'SUGRHN ') THEN | |
1163 | WRITE(ITCOM,3) WORD | |
1164 | PRINT 604 | |
1165 | READ*, XMN3NR,XMAJNR,XANSS,XNRSS | |
1166 | WRITE(ITCOM,*) XMN3NR,XMAJNR,XANSS,XNRSS | |
1167 | LOC(75)=NSEL | |
1168 | GO TO 1000 | |
1169 | ENDIF | |
1170 | C | |
1171 | C Keyword AMSB | |
1172 | IF(WORD.EQ.'AMSB ') THEN | |
1173 | WRITE(ITCOM,3) WORD | |
1174 | PRINT 605 | |
1175 | READ*, XM0SU,XMHSU,XTGBSU,XSMUSU | |
1176 | WRITE(ITCOM,*) XM0SU,XMHSU,XTGBSU,XSMUSU | |
1177 | LOC(76)=NSEL | |
1178 | GOMSSM=.TRUE. | |
1179 | GOSUG=.TRUE. | |
1180 | GOAMSB=.TRUE. | |
1181 | GO TO 1000 | |
1182 | ENDIF | |
1183 | C | |
1184 | C Keyword SSBCSC | |
1185 | IF(WORD.EQ.'SSBCSC ') THEN | |
1186 | WRITE(ITCOM,3) WORD | |
1187 | PRINT 606 | |
1188 | READ*, XSBCS | |
1189 | WRITE(ITCOM,*) XSBCS | |
1190 | LOC(77)=NSEL | |
1191 | GO TO 1000 | |
1192 | ENDIF | |
1193 | C | |
1194 | C None of the above | |
1195 | C | |
1196 | PRINT 99 | |
1197 | GO TO 1000 | |
1198 | C | |
1199 | 562 FORMAT(' Give jet limits: min1,max1,min2,max2, etc.', | |
1200 | 1' Terminate list with a /.',/, | |
1201 | 2' To fix a variable give only minimum value.',/) | |
1202 | 563 FORMAT(' Allowed range is ',F9.2,' - ',F9.2) | |
1203 | 572 FORMAT(' T or F?') | |
1204 | 584 FORMAT(' Value?') | |
1205 | 585 FORMAT(' Give M(gluino), mu, M(ha), tan(beta)') | |
1206 | 586 FORMAT(' Give M(ul), M(dr), M(ur), M(el), M(er), ') | |
1207 | 587 FORMAT(' Give M(tl), M(br), M(tr), M(taul), M(taur), A(t),', | |
1208 | $' A(b), A(tau)') | |
1209 | 588 FORMAT(' Give PDFLIB keyword, value, ...') | |
1210 | 589 FORMAT(' Give M_0, M_(1/2), A_0, tan(beta), sgn(mu)') | |
1211 | 590 FORMAT(' Give polarizations P_L(e-), P_L(e+)') | |
1212 | 591 FORMAT(' Give optional M(cl), M(sr), M(cr), M(mul), M(mur), ') | |
1213 | 592 FORMAT(' Give optional M_1, M_2') | |
1214 | 593 FORMAT(' Give LAM, M_MES, XN5, tan(beta), sgn(mu), C_mgv') | |
1215 | 594 FORMAT(' Give optional GUT scale M_1, M_2, M_3') | |
1216 | 595 FORMAT(' Give optional GUT scale A_t, A_b, A_tau') | |
1217 | 596 FORMAT(' Give optional GUT scale m_Hd, m_Hu') | |
1218 | 597 FORMAT(' Give optional M(ul), M(dr), M(ur), M(el), M(er), ') | |
1219 | 598 FORMAT(' Give optional M(tl), M(br), M(tr), M(Ll), M(Lr), ') | |
1220 | 599 FORMAT(' Enter optional m(gravitino), ') | |
1221 | 600 FORMAT(' Enter .TRUE. if alpha_s unification is wanted:, ') | |
1222 | 601 FORMAT(' Enter Rsl,dmH_d,dmH_u,RDY,n5_1,n5_2,n5_3: ') | |
1223 | 602 FORMAT(' Enter RSHMIN,RSHMAX for bremsstrahlung: ') | |
1224 | 603 FORMAT(' Enter RSHMIN,RSHMAX,UPSLON,SIGZ for beamstrahlung: ') | |
1225 | 604 FORMAT(' Enter M_N3, M_MAJ, A_N, M_NRSS for RHN model: ') | |
1226 | 605 FORMAT(' Give M_0, M_(3/2), tan(beta), sgn(mu)') | |
1227 | 606 FORMAT(' Enter Q_max= max scale choice for SUSY BCs') | |
1228 | C | |
1229 | C CHECK FOR ERRORS AND OVERLAPPING VARIABLES. | |
1230 | C PRINT ERROR MESSAGE OR WARNINGS | |
1231 | 101 CONTINUE | |
1232 | IF(LOC(2)*LOC(5).NE.0) PRINT 2001 | |
1233 | IF(LOC(2)*LOC(6).NE.0) PRINT 2001 | |
1234 | IF(LOC(15).NE.0.OR.LOC(37).NE.0) DUMY=SETTYP(0) | |
1235 | DO 120 I=1,17 | |
1236 | I1=NLAP(1,I) | |
1237 | I2=NLAP(2,I) | |
1238 | I3=NLAP(3,I) | |
1239 | IF(LOC(I1)*LOC(I2)*LOC(I3).NE.0) PRINT 1001 | |
1240 | 120 CONTINUE | |
1241 | 1001 FORMAT(//,2X,'YOU HAVE GIVEN LIMITS FOR AN OVERLAPPING SET OF', | |
1242 | C ' VARIABLES. SET MINIMIZING PPERP INTERVAL WILL BE USED') | |
1243 | 2001 FORMAT(//,2X,' YOU CANNOT GIVE LIMITS FOR BOTH THETA AND Y. MAKE', | |
1244 | C ' UP YOUR MIND. JOB TERMINATED') | |
1245 | 2003 FORMAT(/,' YOU CANNOT RUN WS AND Z0 OR GAMMAS AT THE SAME TIME') | |
1246 | 2004 FORMAT(//,' PARAMETER OUT OF RANGE. ') | |
1247 | GOTO 1111 | |
1248 | 999 REWIND ITCOM | |
1249 | RETURN | |
1250 | END |