]>
Commit | Line | Data |
---|---|---|
0795afa3 | 1 | #include "isajet/pilot.h" |
2 | SUBROUTINE ISABG2(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 | C CALL READIN(IFL) | |
56 | C IF(IFL.NE.0) GOTO 999 | |
57 | CALL IDGEN | |
58 | IF(GOMSSM) THEN | |
59 | CALL DOMSSM | |
60 | ENDIF | |
61 | IF (KEYS(10).AND..NOT.GOMSSM) THEN | |
62 | CALL SETH | |
63 | END IF | |
64 | CALL SETDKY(.FALSE.) | |
65 | C | |
66 | C Generate NSIGMA unevolved events for SIGF calculation | |
67 | C | |
68 | C TWOJET events | |
69 | IF(KEYS(1)) THEN | |
70 | CALL MBSET | |
71 | CALL SETW | |
72 | CALL LOGIC | |
73 | CALL PRTLIM | |
74 | CALL PTFUN | |
75 | DO 105 I=1,NSIGMA | |
76 | 105 CALL TWOJET | |
77 | CALL TIMER(1) | |
78 | C | |
79 | C E+E- events | |
80 | ELSE IF(KEYS(2)) THEN | |
81 | CALL SETW | |
82 | CALL LOGIC | |
83 | CALL PRTLIM | |
84 | CALL EEBEG | |
85 | CALL EEMAX | |
86 | DO 205 I=1,NSIGMA | |
87 | 205 CALL ELCTRN | |
88 | CALL TIMER(1) | |
89 | C | |
90 | C DRELLYAN events | |
91 | ELSE IF(KEYS(3)) THEN | |
92 | CALL SETW | |
93 | CALL MBSET | |
94 | CALL LOGIC | |
95 | CALL PRTLIM | |
96 | CALL QFUNC | |
97 | DO 305 I=1,NSIGMA | |
98 | 305 CALL DRLLYN | |
99 | CALL TIMER(1) | |
100 | C | |
101 | C MINBIAS events | |
102 | ELSE IF(KEYS(4)) THEN | |
103 | PBEAM(1)=HALFE | |
104 | PBEAM(2)=HALFE | |
105 | CALL PRTLIM | |
106 | CALL MBSET | |
107 | CALL TIMER(1) | |
108 | C | |
109 | C SUPERSYM events | |
110 | ELSE IF(KEYS(5)) THEN | |
111 | CALL SETW | |
112 | CALL MBSET | |
113 | CALL LOGIC | |
114 | CALL PRTLIM | |
115 | CALL PTFUN | |
116 | DO 505 I=1,NSIGMA | |
117 | 505 CALL TWOJET | |
118 | CALL TIMER(1) | |
119 | C | |
120 | C WPAIR events | |
121 | ELSE IF(KEYS(6)) THEN | |
122 | CALL SETW | |
123 | CALL MBSET | |
124 | CALL LOGIC | |
125 | CALL PRTLIM | |
126 | CALL PTFUN | |
127 | DO 605 I=1,NSIGMA | |
128 | CALL TWOJET | |
129 | 605 CALL WPAIR | |
130 | CALL TIMER(1) | |
131 | C | |
132 | C HIGGS events | |
133 | ELSE IF(KEYS(7)) THEN | |
134 | CALL SETW | |
135 | IF(GOMSSM) THEN | |
136 | CALL SETHSS | |
137 | ELSE | |
138 | CALL SETH | |
139 | ENDIF | |
140 | CALL MBSET | |
141 | CALL LOGIC | |
142 | CALL PRTLIM | |
143 | CALL QFUNC | |
144 | DO 705 I=1,NSIGMA | |
145 | 705 CALL DRLLYN | |
146 | CALL TIMER(1) | |
147 | C | |
148 | C PHOTON events | |
149 | ELSEIF(KEYS(8)) THEN | |
150 | CALL MBSET | |
151 | CALL SETW | |
152 | CALL LOGIC | |
153 | CALL PRTLIM | |
154 | CALL PTFUN | |
155 | DO 805 I=1,NSIGMA | |
156 | 805 CALL TWOJET | |
157 | CALL TIMER(1) | |
158 | C | |
159 | C TCOLOR events | |
160 | ELSE IF(KEYS(9)) THEN | |
161 | CALL SETW | |
162 | CALL MBSET | |
163 | CALL LOGIC | |
164 | CALL PRTLIM | |
165 | CALL QFUNC | |
166 | DO 905 I=1,NSIGMA | |
167 | 905 CALL DRLLYN | |
168 | CALL TIMER(1) | |
169 | C | |
170 | C WHIGGS events | |
171 | ELSE IF(KEYS(10)) THEN | |
172 | CALL SETW | |
173 | CALL MBSET | |
174 | CALL LOGIC | |
175 | CALL PRTLIM | |
176 | CALL PTFUN | |
177 | DO 906 I=1,NSIGMA | |
178 | CALL TWOJET | |
179 | 906 CALL WHIGGS | |
180 | CALL TIMER(1) | |
181 | C | |
182 | C EXTRADIM events | |
183 | ELSE IF(KEYS(11)) THEN | |
184 | CALL SETW | |
185 | CALL SETKKG | |
186 | CALL MBSET | |
187 | CALL LOGIC | |
188 | CALL PRTLIM | |
189 | CALL QFUNC | |
190 | DO 1105 I=1,NSIGMA | |
191 | CALL DRLLYN | |
192 | 1105 CONTINUE | |
193 | CALL TIMER(1) | |
194 | C | |
195 | C ZJJ events | |
196 | C ZJJ0 initializes cross sections, so no event loop | |
197 | ELSEIF(KEYS(12)) THEN | |
198 | CALL SETW | |
199 | CALL MGINIT | |
200 | CALL MBSET | |
201 | CALL LOGIC | |
202 | CALL PRTLIM | |
203 | CALL ZJJ0 | |
204 | CALL TIMER(1) | |
205 | ELSE | |
206 | STOP 99 | |
207 | ENDIF | |
208 | 999 RETURN | |
209 | END |