]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ISAJET/code/inisap.F
fixed a complation warning about not brace-enclosing the sub-elements of
[u/mrichter/AliRoot.git] / ISAJET / code / inisap.F
1 #include "isajet/pilot.h"
2       SUBROUTINE INISAP(CMSE,XREAC,BEAMS,WZ,NDCAYS,DCAYS,
3      $  ETMIN,RCONE,OK)
4 C----------------------------------------------------------------------
5 C-
6 C-   Purpose and Methods : 
7 C-     initialize ISAJET for externally supplied partons
8 C-   Inputs  : 
9 C-   CMSE     = center of mass energy
10 C-   XREAC    = reaction
11 C-   BEAMS(2) = chose 'P ' or 'AP'
12 C-   ETMIN    = minimum ET of supplied partons
13 C-   RCONE    = minimum cone (R) between supplied partons
14 C-   WZ = option 'W' or 'Z', ' ' no W's or Z's
15 C-   NDCAYS= number of decay options
16 C-   DCAYS= list of particles W or Z are allowed to decay into
17 C-
18 C-   Controls:
19 C-   OK   = true if initialization is possible
20 C-   Created   8-OCT-1991   Serban D. Protopopescu
21 C-
22 C----------------------------------------------------------------------
23 #if defined(CERNLIB_IMPNONE)
24       IMPLICIT NONE
25 #endif
26 #include "isajet/keys.inc"
27 #include "isajet/idrun.inc"
28 #include "isajet/limevl.inc"
29 #include "isajet/primar.inc"
30 #include "isajet/q1q2.inc"
31 #include "isajet/types.inc"
32 C
33       REAL CMSE
34       CHARACTER*8 XREAC
35       CHARACTER*2 BEAMS(2)
36       REAL    ETMIN,RCONE
37       CHARACTER*1 WZ
38       INTEGER NDCAYS
39       CHARACTER*4 DCAYS(*)
40       LOGICAL OK
41       LOGICAL DUMY,SETTYP
42       INTEGER I
43 C----------------------------------------------------------------------
44       OK=.TRUE.
45       CALL RESET
46       IEVT=0
47       ECM=CMSE
48       SCM=ECM**2
49       HALFE=ECM/2.
50       ETTHRS=ETMIN
51 C          fudge factor 1.5 to approximate ET distributions and widths
52       CONCUT=SIN(RCONE)/1.5
53       IF(RCONE.GT.1.5) CONCUT=1.0
54       USELIM=.TRUE.
55       IKEYS=0
56       DO 18 I=1,8
57 18    KEYS(I)=.FALSE.
58       KEYON=.FALSE.
59       REAC=XREAC
60 C
61       IF(XREAC.EQ.'TWOJET  ') THEN
62         KEYS(1)=.TRUE.
63         IKEYS=1
64 C
65       ELSEIF(XREAC.EQ.'DRELLYAN') THEN
66         KEYS(3)=.TRUE.
67         IKEYS=3
68         IF(WZ.EQ.'Z') GODY(4)=.TRUE.
69         IF(WZ.EQ.'W') THEN
70           GODY(2)=.TRUE.
71           GODY(3)=.TRUE.
72         ENDIF
73         NJTTYP(1)=NDCAYS
74         NJTTYP(2)=0
75         NJTTYP(3)=0
76         DO 21 I=1,NDCAYS
77           JETYP(I,1)=DCAYS(I)
78    21   CONTINUE
79 C
80       ELSEIF(XREAC.EQ.'MINBIAS ') THEN
81         KEYS(4)=.TRUE.
82         IKEYS=4
83 C
84       ELSEIF(XREAC.EQ.'SUPERSYM'.OR.XREAC.EQ.'SUSY    ') THEN
85         KEYS(5)=.TRUE.
86         IKEYS=5
87 C
88       ELSEIF(XREAC.EQ.'WPAIR   ') THEN
89         KEYS(6)=.TRUE.
90         IKEYS=6
91 C
92       ELSEIF(XREAC.EQ.'HIGGS   ') THEN
93         KEYS(7)=.TRUE.
94         IKEYS=7
95 C
96       ELSEIF(XREAC.EQ.'PHOTON  ') THEN
97         KEYS(8)=.TRUE.
98         IKEYS=8
99       ENDIF
100 C
101       IF(IKEYS.EQ.0) THEN
102         OK=.FALSE.
103         GOTO 999
104       ENDIF
105 C
106       CALL SETCON
107       IDIN(1)=1120    
108       IDIN(2)=-1120   
109       IF (BEAMS(1).EQ.'P ') IDIN(1)=1120
110       IF (BEAMS(2).EQ.'P ') IDIN(2)=1120
111       IF (BEAMS(1).EQ.'AP') IDIN(1)=-1120
112       IF (BEAMS(2).EQ.'AP') IDIN(2)=-1120
113       DUMY=SETTYP(0)
114       CALL SETW
115       CALL IDGEN
116       CALL SETDKY(.FALSE.)
117       CALL MBSET
118       CALL PRTLIM
119       CALL TIMER(1)
120   999 RETURN
121       END