]>
Commit | Line | Data |
---|---|---|
0795afa3 | 1 | #include "isajet/pilot.h" |
2 | SUBROUTINE ISABEG(IFL) | |
3 | C---------------------------------------------------------------------- | |
4 | C- | |
5 | C- Purpose and Methods : | |
6 | C- Initialize a process before event generation | |
7 | C- | |
8 | C- Created 5-FEB-1988 Serban D. Protopopescu | |
9 | C- | |
10 | C Ver 7.14: Do logic after setting physics parameters | |
11 | C---------------------------------------------------------------------- | |
12 | #if defined(CERNLIB_IMPNONE) | |
13 | IMPLICIT NONE | |
14 | #endif | |
15 | #include "isajet/nodcay.inc" | |
16 | #include "isajet/idrun.inc" | |
17 | #include "isajet/keys.inc" | |
18 | #include "isajet/primar.inc" | |
19 | #include "isajet/jetpar.inc" | |
20 | #include "isajet/isloop.inc" | |
21 | #include "isajet/xmssm.inc" | |
22 | #include "isajet/isapw.inc" | |
23 | C | |
24 | INTEGER IFL,I | |
25 | LOGICAL FIRST | |
26 | SAVE FIRST | |
27 | CHARACTER*30 ISAPW2 | |
28 | SAVE ISAPW2 | |
29 | DATA FIRST/.TRUE./ | |
30 | C ISAPW2 is used to check whether ALDATA is loaded | |
31 | DATA ISAPW2/'ALDATA REQUIRED BY FORTRAN G,H'/ | |
32 | C | |
33 | C Initialize | |
34 | C | |
35 | IF(ISAPW1.NE.ISAPW2) THEN | |
36 | PRINT*, ' ISABEG ERROR: BLOCK DATA ALDATA HAS NOT BEEN LOADED.' | |
37 | PRINT*, ' ISAJET CANNOT RUN WITHOUT IT.' | |
38 | PRINT*, ' PLEASE READ THE FINE MANUAL FOR ISAJET.' | |
39 | STOP99 | |
40 | ENDIF | |
41 | C | |
42 | IF (FIRST) THEN | |
43 | FIRST=.FALSE. | |
44 | ELSE | |
45 | CALL SETNXT | |
46 | ENDIF | |
47 | IEVT=0 | |
48 | IEVGEN=0 | |
49 | NEVENT=0 | |
50 | IEVOL=1 | |
51 | IFRG=1 | |
52 | C | |
53 | C Read in user data and decay table | |
54 | C | |
55 | ||
56 | CALL READIN(IFL) | |
57 | IF(IFL.NE.0) GOTO 999 | |
58 | CALL IDGEN | |
59 | IF(GOMSSM) THEN | |
60 | CALL DOMSSM | |
61 | ENDIF | |
62 | IF (KEYS(10).AND..NOT.GOMSSM) THEN | |
63 | CALL SETH | |
64 | END IF | |
65 | CALL SETDKY(.FALSE.) | |
66 | C | |
67 | C Generate NSIGMA unevolved events for SIGF calculation | |
68 | C | |
69 | C TWOJET events | |
70 | IF(KEYS(1)) THEN | |
71 | CALL MBSET | |
72 | CALL SETW | |
73 | CALL LOGIC | |
74 | CALL PRTLIM | |
75 | CALL PTFUN | |
76 | DO 105 I=1,NSIGMA | |
77 | 105 CALL TWOJET | |
78 | CALL TIMER(1) | |
79 | C | |
80 | C E+E- events | |
81 | ELSE IF(KEYS(2)) THEN | |
82 | CALL SETW | |
83 | CALL LOGIC | |
84 | CALL PRTLIM | |
85 | CALL EEBEG | |
86 | CALL EEMAX | |
87 | DO 205 I=1,NSIGMA | |
88 | 205 CALL ELCTRN | |
89 | CALL TIMER(1) | |
90 | C | |
91 | C DRELLYAN events | |
92 | ELSE IF(KEYS(3)) THEN | |
93 | CALL SETW | |
94 | CALL MBSET | |
95 | CALL LOGIC | |
96 | CALL PRTLIM | |
97 | CALL QFUNC | |
98 | DO 305 I=1,NSIGMA | |
99 | 305 CALL DRLLYN | |
100 | CALL TIMER(1) | |
101 | C | |
102 | C MINBIAS events | |
103 | ELSE IF(KEYS(4)) THEN | |
104 | PBEAM(1)=HALFE | |
105 | PBEAM(2)=HALFE | |
106 | CALL PRTLIM | |
107 | CALL MBSET | |
108 | CALL TIMER(1) | |
109 | C | |
110 | C SUPERSYM events | |
111 | ELSE IF(KEYS(5)) THEN | |
112 | CALL SETW | |
113 | CALL MBSET | |
114 | CALL LOGIC | |
115 | CALL PRTLIM | |
116 | CALL PTFUN | |
117 | DO 505 I=1,NSIGMA | |
118 | 505 CALL TWOJET | |
119 | CALL TIMER(1) | |
120 | C | |
121 | C WPAIR events | |
122 | ELSE IF(KEYS(6)) THEN | |
123 | CALL SETW | |
124 | CALL MBSET | |
125 | CALL LOGIC | |
126 | CALL PRTLIM | |
127 | CALL PTFUN | |
128 | DO 605 I=1,NSIGMA | |
129 | CALL TWOJET | |
130 | 605 CALL WPAIR | |
131 | CALL TIMER(1) | |
132 | C | |
133 | C HIGGS events | |
134 | ELSE IF(KEYS(7)) THEN | |
135 | CALL SETW | |
136 | IF(GOMSSM) THEN | |
137 | CALL SETHSS | |
138 | ELSE | |
139 | CALL SETH | |
140 | ENDIF | |
141 | CALL MBSET | |
142 | CALL LOGIC | |
143 | CALL PRTLIM | |
144 | CALL QFUNC | |
145 | DO 705 I=1,NSIGMA | |
146 | 705 CALL DRLLYN | |
147 | CALL TIMER(1) | |
148 | C | |
149 | C PHOTON events | |
150 | ELSEIF(KEYS(8)) THEN | |
151 | CALL MBSET | |
152 | CALL SETW | |
153 | CALL LOGIC | |
154 | CALL PRTLIM | |
155 | CALL PTFUN | |
156 | DO 805 I=1,NSIGMA | |
157 | 805 CALL TWOJET | |
158 | CALL TIMER(1) | |
159 | C | |
160 | C TCOLOR events | |
161 | ELSE IF(KEYS(9)) THEN | |
162 | CALL SETW | |
163 | CALL MBSET | |
164 | CALL LOGIC | |
165 | CALL PRTLIM | |
166 | CALL QFUNC | |
167 | DO 905 I=1,NSIGMA | |
168 | 905 CALL DRLLYN | |
169 | CALL TIMER(1) | |
170 | C | |
171 | C WHIGGS events | |
172 | ELSE IF(KEYS(10)) THEN | |
173 | CALL SETW | |
174 | CALL MBSET | |
175 | CALL LOGIC | |
176 | CALL PRTLIM | |
177 | CALL PTFUN | |
178 | DO 906 I=1,NSIGMA | |
179 | CALL TWOJET | |
180 | 906 CALL WHIGGS | |
181 | CALL TIMER(1) | |
182 | C | |
183 | C EXTRADIM events | |
184 | ELSE IF(KEYS(11)) THEN | |
185 | CALL SETW | |
186 | CALL SETKKG | |
187 | CALL MBSET | |
188 | CALL LOGIC | |
189 | CALL PRTLIM | |
190 | CALL QFUNC | |
191 | DO 1105 I=1,NSIGMA | |
192 | CALL DRLLYN | |
193 | 1105 CONTINUE | |
194 | CALL TIMER(1) | |
195 | C | |
196 | C ZJJ events | |
197 | C ZJJ0 initializes cross sections, so no event loop | |
198 | ELSEIF(KEYS(12)) THEN | |
199 | CALL SETW | |
200 | CALL MGINIT | |
201 | CALL MBSET | |
202 | CALL LOGIC | |
203 | CALL PRTLIM | |
204 | CALL ZJJ0 | |
205 | CALL TIMER(1) | |
206 | ELSE | |
207 | STOP 99 | |
208 | ENDIF | |
209 | 999 RETURN | |
210 | END |