]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ISAJET/code/isabeg.F
Adding MUON HLT code to the repository.
[u/mrichter/AliRoot.git] / ISAJET / code / isabeg.F
CommitLineData
0795afa3 1#include "isajet/pilot.h"
2 SUBROUTINE ISABEG(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
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.)
66C
67C Generate NSIGMA unevolved events for SIGF calculation
68C
69C 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
77105 CALL TWOJET
78 CALL TIMER(1)
79C
80C 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
88205 CALL ELCTRN
89 CALL TIMER(1)
90C
91C 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
99305 CALL DRLLYN
100 CALL TIMER(1)
101C
102C 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)
109C
110C 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
118505 CALL TWOJET
119 CALL TIMER(1)
120C
121C 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
130605 CALL WPAIR
131 CALL TIMER(1)
132C
133C 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
146705 CALL DRLLYN
147 CALL TIMER(1)
148C
149C 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
157805 CALL TWOJET
158 CALL TIMER(1)
159C
160C 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
168905 CALL DRLLYN
169 CALL TIMER(1)
170C
171C 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
180906 CALL WHIGGS
181 CALL TIMER(1)
182C
183C 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
1931105 CONTINUE
194 CALL TIMER(1)
195C
196C ZJJ events
197C 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
209999 RETURN
210 END