]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ISAJET/code/isabg2.F
EffC++ warnings corrected.
[u/mrichter/AliRoot.git] / ISAJET / code / isabg2.F
CommitLineData
0795afa3 1#include "isajet/pilot.h"
2 SUBROUTINE ISABG2(IFL)
3C----------------------------------------------------------------------
4C-
5C- Purpose and Methods :
6C- Initialize a process before event generation
7C-
8C- Created 5-FEB-1988 Serban D. Protopopescu
9C-
10C Ver 7.14: Do logic after setting physics parameters
11C----------------------------------------------------------------------
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"
23C
24 INTEGER IFL,I
25 LOGICAL FIRST
26 SAVE FIRST
27 CHARACTER*30 ISAPW2
28 SAVE ISAPW2
29 DATA FIRST/.TRUE./
30C ISAPW2 is used to check whether ALDATA is loaded
31 DATA ISAPW2/'ALDATA REQUIRED BY FORTRAN G,H'/
32C
33C Initialize
34C
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
41C
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
52C
53C Read in user data and decay table
54C
55C CALL READIN(IFL)
56C 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.)
65C
66C Generate NSIGMA unevolved events for SIGF calculation
67C
68C 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
76105 CALL TWOJET
77 CALL TIMER(1)
78C
79C 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
87205 CALL ELCTRN
88 CALL TIMER(1)
89C
90C 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
98305 CALL DRLLYN
99 CALL TIMER(1)
100C
101C 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)
108C
109C 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
117505 CALL TWOJET
118 CALL TIMER(1)
119C
120C 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
129605 CALL WPAIR
130 CALL TIMER(1)
131C
132C 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
145705 CALL DRLLYN
146 CALL TIMER(1)
147C
148C 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
156805 CALL TWOJET
157 CALL TIMER(1)
158C
159C 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
167905 CALL DRLLYN
168 CALL TIMER(1)
169C
170C 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
179906 CALL WHIGGS
180 CALL TIMER(1)
181C
182C 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
1921105 CONTINUE
193 CALL TIMER(1)
194C
195C ZJJ events
196C 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
208999 RETURN
209 END