]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ISAJET/code/settyp.F
Update rawdata format for trigger (Christian)
[u/mrichter/AliRoot.git] / ISAJET / code / settyp.F
CommitLineData
0795afa3 1#include "isajet/pilot.h"
2 LOGICAL FUNCTION SETTYP(LPRT)
3C
4C Set JETTYPE flags and WMODE flags for WPAIR.
5C Set WMODES and ZMODES flags for secondary W+- and Z0.
6C Return .FALSE. if no error, .TRUE. otherwise.
7C
8C Ver 7.18: Initialize all GOQ to false (limit = MXGOQ)
9C Use LISTSS for Higgs if GOMSSM
10C Ver 7.29: SUSY Higgs decays are done in SETHSS and SIGHSS
11C using LISTSS order, so SUSY list should be used.
12C I.e., 7.18 fix was wrong.
13C
14#if defined(CERNLIB_IMPNONE)
15 IMPLICIT NONE
16#endif
17#include "isajet/itapes.inc"
18#include "isajet/keys.inc"
19#include "isajet/types.inc"
20#include "isajet/q1q2.inc"
21#include "isajet/xmssm.inc"
22C
23 INTEGER JET,K,I,IW,LPRT
24 INTEGER NLIST
25 CHARACTER*8 WORD,BLANK,LIST(30),LISTW(4),LISTXY(4),LISTSS(85)
26 DATA BLANK/' '/
27 DATA LIST/'GL','UP','UB','DN','DB','ST','SB','CH','CB','BT','BB',
28 $'TP','TB','NUE','ANUE','E-','E+','NUM','ANUM','MU-','MU+',
29 $'NUT','ANUT','TAU-','TAU+','GM','W+','W-','Z0','HIGGS'/
30 DATA LISTW/'GM','W+','W-','Z0'/
31 DATA LISTXY/'Y','YB','X','XB'/
32 DATA LISTSS/'GLSS',
33 $'UPSSL','UBSSL','DNSSL','DBSSL','STSSL','SBSSL','CHSSL','CBSSL',
34 $'BTSS1','BBSS1','TPSS1','TBSS1',
35 $'UPSSR','UBSSR','DNSSR','DBSSR','STSSR','SBSSR','CHSSR','CBSSR',
36 $'BTSS2','BBSS2','TPSS2','TBSS2',
37 $'W1SS+','W1SS-','W2SS+','W2SS-','Z1SS','Z2SS','Z3SS','Z4SS',
38 $'NUEL','ANUEL','EL-','EL+','NUML','ANUML','MUL-','MUL+',
39 $'NUTL','ANUTL','TAU1-','TAU1+','ER-','ER+','MUR-','MUR+',
40 $'TAU2-','TAU2+',
41 $'GL','UP','UB','DN','DB','ST','SB','CH','CB','BT','BB',
42 $'TP','TB','NUE','ANUE','E-','E+','NUM','ANUM','MU-','MU+',
43 $'NUT','ANUT','TAU-','TAU+','GM','W+','W-','Z0',
44 $'HL0','HH0','HA0','H+','H-'/
45C
46 SETTYP=.FALSE.
47C
48 IF(KEYS(5)) GO TO 5
49 IF(KEYS(2).AND.GOMSSM) GO TO 5
50 IF(KEYS(6).OR.KEYS(9)) GO TO 6
51 IF(KEYS(7).AND..NOT.GOMSSM) GO TO 7
52 IF(KEYS(7).AND.GOMSSM) GO TO 5
53 IF(KEYS(10).AND.GOMSSM) GO TO 5
54C
55C JETTYPE flags all processes except WPAIR and HIGGS.
56C NJTTYP is set in READIN to number of non-blank values read.
57C Check for legal jet type names and set appropriate flags.
58C
59 DO 1000 JET=1,MXGOJ
60 IF(NJTTYP(JET).EQ.0) GO TO 1000
61C Initialize everything to .FALSE.
62 GOALL(JET)=.FALSE.
63 DO 1100 K=1,MXGOQ
64 GOQ(K,JET)=.FALSE.
651100 CONTINUE
66C Loop over non-blank JETTYPE entries
67 DO 1200 I=1,NJTTYP(JET)
68 WORD=JETYP(I,JET)
69C Blank
70 IF(WORD.EQ.BLANK) THEN
71 GO TO 1200
72 ENDIF
73C All
74 IF(WORD.EQ.'ALL ') THEN
75 GOALL(JET)=.TRUE.
76 DO 1210 K=1,MXGOQ
771210 GOQ(K,JET)=.TRUE.
78 GO TO 1000
79 ENDIF
80C Quarks
81 IF(WORD.EQ.'QUARKS ') THEN
82 DO 1220 K=2,13
831220 GOQ(K,JET)=.TRUE.
84 GO TO 1200
85 ENDIF
86C Charged leptons
87 IF(WORD.EQ.'LEPTONS ') THEN
88 DO 1230 K=16,24,4
89 GOQ(K,JET)=.TRUE.
901230 GOQ(K+1,JET)=.TRUE.
91 GO TO 1200
92 ENDIF
93C Neutrinos
94 IF(WORD.EQ.'NUS ') THEN
95 DO 1240 K=14,22,4
96 GOQ(K,JET)=.TRUE.
971240 GOQ(K+1,JET)=.TRUE.
98 GO TO 1200
99 ENDIF
100C Explicit types
101C E+E- now also contains W+, W-, Z0
102 IF(KEYS(10).OR.KEYS(11).OR.KEYS(12)) THEN
103 NLIST=30
104 ELSE IF(KEYS(2)) THEN
105 NLIST=29
106 ELSE
107 NLIST=25
108 ENDIF
109 DO 1250 K=1,NLIST
110 IF(WORD.EQ.LIST(K)) THEN
111 GOQ(K,JET)=.TRUE.
112 GO TO 1200
113 ENDIF
1141250 CONTINUE
115C Special types for TWOJET
116 DO 1270 K=1,4
117 IF(KEYS(1).AND.WORD.EQ.LISTXY(K)) THEN
118 GOQ(13+K,JET)=.TRUE.
119 GO TO 1200
120 ENDIF
1211270 CONTINUE
122C Special type for PHOTON
123 IF(KEYS(8).AND.WORD.EQ.LISTW(1)) THEN
124 GOQ(26,JET)=.TRUE.
125 GO TO 1200
126 ENDIF
127C Error
128 WRITE(ITLIS,1300) WORD,JET
1291300 FORMAT(1X,A8,' IS NOT RECOGNIZABLE FOR JETTYPE',I1)
130 SETTYP=.TRUE.
1311200 CONTINUE
1321000 CONTINUE
133 GO TO 4000
134C
135C JETTYPE flags for SUSY
136C
1375 DO 5000 JET=1,2
138 IF(NJTTYP(JET).EQ.0) GO TO 5000
139 GOALL(JET)=.FALSE.
140 DO 5100 K=1,MXGOQ
1415100 GOQ(K,JET)=.FALSE.
142 DO 5200 I=1,NJTTYP(JET)
143 WORD=JETYP(I,JET)
144C Blank
145 IF(WORD.EQ.BLANK) THEN
146 GO TO 5200
147 ENDIF
148C All
149 IF(WORD.EQ.'ALL ') THEN
150 GOALL(JET)=.TRUE.
151 DO 5210 K=1,85
1525210 GOQ(K,JET)=.TRUE.
153 GO TO 5000
154 ENDIF
155C Squarks
156 IF(WORD.EQ.'SQUARKS ') THEN
157 DO 5220 K=2,25
1585220 GOQ(K,JET)=.TRUE.
159 GO TO 5200
160 ENDIF
161C Gauginos
162 IF(WORD.EQ.'GAUGINOS') THEN
163 DO 5230 K=26,33
1645230 GOQ(K,JET)=.TRUE.
165 GO TO 5200
166 ENDIF
167C Sleptons
168 IF(WORD.EQ.'SLEPTONS') THEN
169 DO 5240 K=34,51
1705240 GOQ(K,JET)=.TRUE.
171 GO TO 5200
172 ENDIF
173C Explicit susy types
174 DO 5300 K=1,85
175 IF(WORD.EQ.LISTSS(K)) THEN
176 GOQ(K,JET)=.TRUE.
177 GO TO 5200
178 ENDIF
1795300 CONTINUE
1805200 CONTINUE
1815000 CONTINUE
182 GO TO 4000
183C
184C JETTYPE and WMODE flags for WPAIR
185C NJTTYP and NWWTYP are the number of non-blank values.
186C
1876 DO 2000 JET=1,2
188 IF(NJTTYP(JET).EQ.0) GO TO 2300
189C Initialize to FALSE
190 GOALL(JET)=.FALSE.
191 DO 2100 K=1,4
1922100 GOQ(K,JET)=.FALSE.
193C
194C Loop over non-blank JETTYPE flags
195C
196 DO 2200 I=1,NJTTYP(JET)
197 WORD=JETYP(I,JET)
198C Blank
199 IF(WORD.EQ.BLANK) THEN
200 GO TO 2200
201 ENDIF
202C All
203 IF(WORD.EQ.'ALL ') THEN
204 GOALL(JET)=.TRUE.
205 DO 2210 K=1,4
2062210 GOQ(K,JET)=.TRUE.
207 GO TO 2300
208 ENDIF
209C Explicit types
210 DO 2220 K=1,4
211 IF(WORD.EQ.LISTW(K)) THEN
212 GOQ(K,JET)=.TRUE.
213 GO TO 2200
214 ENDIF
2152220 CONTINUE
216C Error
217 WRITE(ITLIS,1300) WORD,JET
218 SETTYP=.TRUE.
2192200 CONTINUE
220C
221C Loop over nonblank WMODE flags
222C
2232300 IF(NWWTYP(JET).EQ.0) GO TO 2000
224 ALLWW(JET)=.FALSE.
225C Initialize everything to FALSE
226 DO 2350 K=1,25
2272350 GOWW(K,JET)=.FALSE.
228C
229 DO 2400 I=1,NWWTYP(JET)
230 WORD=WWTYP(I,JET)
231 IF(WORD.NE.BLANK) NWWTYP(JET)=I
232C Blank
233 IF(WORD.EQ.BLANK) THEN
234 GO TO 2400
235 ENDIF
236C All
237 IF(WORD.EQ.'ALL ') THEN
238 ALLWW(JET)=.TRUE.
239 DO 2410 K=1,25
2402410 GOWW(K,JET)=.TRUE.
241 GO TO 2000
242 ENDIF
243C Quarks
244 IF(WORD.EQ.'QUARKS ') THEN
245 DO 2420 K=2,13
2462420 GOWW(K,JET)=.TRUE.
247 GO TO 2400
248 ENDIF
249C Charged leptons
250 IF(WORD.EQ.'LEPTONS ') THEN
251 DO 2430 K=16,24,4
252 GOWW(K,JET)=.TRUE.
2532430 GOWW(K+1,JET)=.TRUE.
254 GO TO 2400
255 ENDIF
256C Neutrinos
257 IF(WORD.EQ.'NUS ') THEN
258 DO 2440 K=14,22,4
259 GOWW(K,JET)=.TRUE.
2602440 GOWW(K+1,JET)=.TRUE.
261 GO TO 2400
262 ENDIF
263C Explicit types
264 DO 2450 K=1,25
265 IF(WORD.EQ.LIST(K)) THEN
266 GOWW(K,JET)=.TRUE.
267 GO TO 2400
268 ENDIF
2692450 CONTINUE
270C Error
271 WRITE(ITLIS,2500) WORD,JET
2722500 FORMAT(1X,A8,' IS NOT A VALID CODE FOR WMODE',I1)
273 SETTYP=.TRUE.
2742400 CONTINUE
2752000 CONTINUE
276 GO TO 4000
277C
278C JETTYPE and WMODE flags for HIGGS
279C SUSY HIGGS uses LISTSS order and hence SUSY part
280C
2817 DO 3000 JET=1,2
282 IF(NJTTYP(JET).EQ.0) GO TO 3300
283C Initialize to FALSE
284 GOALL(JET)=.FALSE.
285 DO 3100 K=1,MXGOQ
2863100 GOQ(K,JET)=.FALSE.
287C
288C Loop over non-blank JETTYPE flags
289C
290 DO 3200 I=1,NJTTYP(JET)
291 WORD=JETYP(I,JET)
292C Blank
293 IF(WORD.EQ.BLANK) THEN
294 GO TO 3200
295 ENDIF
296C All
297 IF(WORD.EQ.'ALL ') THEN
298 GOALL(JET)=.TRUE.
299 DO 3210 K=1,MXGOQ
3003210 GOQ(K,JET)=.TRUE.
301 GO TO 3300
302 ENDIF
303C Quarks
304 IF(WORD.EQ.'QUARKS ') THEN
305 DO 3220 K=2,13
3063220 GOQ(K,JET)=.TRUE.
307 GO TO 3200
308 ENDIF
309C Charged leptons
310 IF(WORD.EQ.'LEPTONS ') THEN
311 DO 3240 K=16,24,4
312 GOQ(K,JET)=.TRUE.
3133240 GOQ(K+1,JET)=.TRUE.
314 GO TO 3200
315 ENDIF
316 DO 3250 K=1,85
317 IF(WORD.EQ.LIST(K)) THEN
318 GOQ(K,JET)=.TRUE.
319 GO TO 3200
320 ENDIF
3213250 CONTINUE
322C Error
323 WRITE(ITLIS,1300) WORD,JET
324 SETTYP=.TRUE.
3253200 CONTINUE
326C
327C Loop over nonblank WMODE flags
328C
3293300 IF(NWWTYP(JET).EQ.0) GO TO 3000
330 ALLWW(JET)=.FALSE.
331C Initialize everything to FALSE
332 DO 3350 K=1,25
3333350 GOWW(K,JET)=.FALSE.
334C
335 DO 3400 I=1,NWWTYP(JET)
336 WORD=WWTYP(I,JET)
337 IF(WORD.NE.BLANK) NWWTYP(JET)=I
338C Blank
339 IF(WORD.EQ.BLANK) THEN
340 GO TO 3400
341 ENDIF
342C All
343 IF(WORD.EQ.'ALL ') THEN
344 ALLWW(JET)=.TRUE.
345 DO 3410 K=1,25
3463410 GOWW(K,JET)=.TRUE.
347 GO TO 3000
348 ENDIF
349C Quarks
350 IF(WORD.EQ.'QUARKS ') THEN
351 DO 3420 K=2,13
3523420 GOWW(K,JET)=.TRUE.
353 GO TO 3400
354 ENDIF
355C Charged leptons
356 IF(WORD.EQ.'LEPTONS ') THEN
357 DO 3430 K=16,24,4
358 GOWW(K,JET)=.TRUE.
3593430 GOWW(K+1,JET)=.TRUE.
360 GO TO 3400
361 ENDIF
362C Neutrinos
363 IF(WORD.EQ.'NUS ') THEN
364 DO 3440 K=14,22,4
365 GOWW(K,JET)=.TRUE.
3663440 GOWW(K+1,JET)=.TRUE.
367 GO TO 3400
368 ENDIF
369C Explicit types
370 DO 3450 K=1,25
371 IF(WORD.EQ.LIST(K)) THEN
372 GOWW(K,JET)=.TRUE.
373 GO TO 3400
374 ENDIF
3753450 CONTINUE
376C Error
377 WRITE(ITLIS,2500) WORD,JET
3783500 FORMAT(1X,A8,' IS NOT A VALID CODE FOR WMODE',I1)
379 SETTYP=.TRUE.
3803400 CONTINUE
3813000 CONTINUE
382C
383C Set WMODES and ZMODES flags for secondary W+- and Z0
384C
3854000 DO 4100 IW=1,3
386 IF(NWMODE(IW).EQ.0) GO TO 4100
387C Initialize everything to .FALSE.
388 DO 4200 K=1,25
3894200 GOWMOD(K,IW)=.FALSE.
390C Loop over non-blank WMODE entries
391 DO 4300 I=1,NWMODE(IW)
392 WORD=WMODES(I,IW)
393C Blank
394 IF(WORD.EQ.BLANK) THEN
395 GO TO 4300
396 ENDIF
397C All
398 IF(WORD.EQ.'ALL ') THEN
399 DO 4310 K=1,25
4004310 GOWMOD(K,IW)=.TRUE.
401 GO TO 4100
402 ENDIF
403C Quarks
404 IF(WORD.EQ.'QUARKS ') THEN
405 DO 4320 K=2,13
4064320 GOWMOD(K,IW)=.TRUE.
407 GO TO 4300
408 ENDIF
409C Charged leptons
410 IF(WORD.EQ.'LEPTONS ') THEN
411 DO 4330 K=16,24,4
412 GOWMOD(K,IW)=.TRUE.
4134330 GOWMOD(K+1,IW)=.TRUE.
414 GO TO 4300
415 ENDIF
416C Neutrinos
417 IF(WORD.EQ.'NUS ') THEN
418 DO 4340 K=14,22,4
419 GOWMOD(K,IW)=.TRUE.
4204340 GOWMOD(K+1,IW)=.TRUE.
421 GO TO 4300
422 ENDIF
423C Explicit types
424 DO 4350 K=1,25
425 IF(WORD.EQ.LIST(K)) THEN
426 GOWMOD(K,IW)=.TRUE.
427 GO TO 4300
428 ENDIF
4294350 CONTINUE
430C Error
431 WRITE(ITLIS,4380) WORD
4324380 FORMAT(1X,A8,' IS NOT RECOGNIZABLE FOR SECONDARY WS')
433 SETTYP=.TRUE.
4344300 CONTINUE
4354100 CONTINUE
436C
437C Loop over nonblank WMODE flags FOR WHIGGS
438C
439 IF (KEYS(10)) THEN
440 DO 6000 JET=1,2
4416300 IF(NWWTYP(JET).EQ.0) GO TO 6000
442 ALLWW(JET)=.FALSE.
443C Initialize everything to FALSE
444 DO 6350 K=1,25
4456350 GOWW(K,JET)=.FALSE.
446C
447 DO 6400 I=1,NWWTYP(JET)
448 WORD=WWTYP(I,JET)
449 IF(WORD.NE.BLANK) NWWTYP(JET)=I
450C Blank
451 IF(WORD.EQ.BLANK) THEN
452 GO TO 6400
453 ENDIF
454C All
455 IF(WORD.EQ.'ALL ') THEN
456 ALLWW(JET)=.TRUE.
457 DO 6410 K=1,25
4586410 GOWW(K,JET)=.TRUE.
459 GO TO 6000
460 ENDIF
461C Quarks
462 IF(WORD.EQ.'QUARKS ') THEN
463 DO 6420 K=2,13
4646420 GOWW(K,JET)=.TRUE.
465 GO TO 6400
466 ENDIF
467C Charged leptons
468 IF(WORD.EQ.'LEPTONS ') THEN
469 DO 6430 K=16,24,4
470 GOWW(K,JET)=.TRUE.
4716430 GOWW(K+1,JET)=.TRUE.
472 GO TO 6400
473 ENDIF
474C Neutrinos
475 IF(WORD.EQ.'NUS ') THEN
476 DO 6440 K=14,22,4
477 GOWW(K,JET)=.TRUE.
4786440 GOWW(K+1,JET)=.TRUE.
479 GO TO 6400
480 ENDIF
481C Explicit types
482 DO 6450 K=1,25
483 IF(WORD.EQ.LIST(K)) THEN
484 GOWW(K,JET)=.TRUE.
485 GO TO 6400
486 ENDIF
4876450 CONTINUE
488C Error
489 WRITE(ITLIS,6500) WORD,JET
4906500 FORMAT(1X,A8,' IS NOT A VALID CODE FOR WMODE',I1)
491 SETTYP=.TRUE.
4926400 CONTINUE
4936000 CONTINUE
494 END IF
495 RETURN
496 END