]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ISAJET/code/sethss.F
First commit.
[u/mrichter/AliRoot.git] / ISAJET / code / sethss.F
1 #include "isajet/pilot.h"
2       SUBROUTINE SETHSS
3 C
4 C          Set the MSSM Higgs parameters in /HCON/.
5 C          HMASS  = Higgs mass for HTYPE
6 C          HGAM   = Higgs width
7 C          HGAMSS = Higgs partial widths. Note HGAMSS is not
8 C                   necessarily diagonal for SUSY decays.
9 C          ZSTARS = minimum allowed mass for Z*
10 C
11 C          Note LISTSS(78) => W+, LISTSS(79) => W-, LISTSS(80) => Z0
12 C
13 #if defined(CERNLIB_IMPNONE)
14       IMPLICIT NONE
15 #endif
16 #include "isajet/itapes.inc"
17 #include "isajet/hcon.inc"
18 #include "isajet/listss.inc"
19 #include "isajet/q1q2.inc"
20 #include "isajet/ssmode.inc"
21 #include "isajet/sstype.inc"
22 #include "isajet/wcon.inc"
23 C
24       REAL AMASS
25       REAL AM12
26       INTEGER I,J,N,IQ1,IQ2,IW,K
27       INTEGER LISTJ(25),LISTW(4)
28 C
29       DATA LISTJ/9,1,-1,2,-2,3,-3,4,-4,5,-5,6,-6,
30      $11,-11,12,-12,13,-13,14,-14,15,-15,16,-16/
31       DATA LISTW/10,80,-80,90/
32 C
33 C          Initialize
34 C
35       IF(IHTYPE.EQ.0) THEN
36         WRITE(ITLIS,*) ' YOU MUST SELECT AN HTYPE FOR SUSY HIGGS'
37         WRITE(ITLIS,*) ' JOB TERMINATED'
38         STOP99
39       ENDIF
40       HMASS=AMASS(IHTYPE)
41       HGAM=0.
42       DO 100 I=1,85
43         DO 110 J=1,85
44           HGAMSS(I,J)=0
45 110     CONTINUE
46 100   CONTINUE
47 C
48 C          Extract widths from SSMODE common block
49 C          Note the only 3-body modes are Zff or Wff
50 C          These are added to the ZZ and WW entries in HCONSS,
51 C          and the Z* or W* decay is generated later, as for SM Higgs
52 C
53       DO 200 N=1,NSSMOD
54         IF(ISSMOD(N).NE.IHTYPE) GO TO 200
55         HGAM=HGAM+GSSMOD(N)
56         IF(JSSMOD(3,N).NE.0) THEN
57 C          3-body modes
58           IF(IABS(JSSMOD(1,N)).EQ.80) THEN
59             HGAMSS(78,79)=HGAMSS(78,79)+0.5*GSSMOD(N)
60             HGAMSS(79,78)=HGAMSS(79,78)+0.5*GSSMOD(N)
61           ELSEIF(JSSMOD(1,N).EQ.90) THEN
62             HGAMSS(80,80)=HGAMSS(80,80)+GSSMOD(N)
63           ELSE
64             WRITE(ITLIS,1000) ISSMOD(N),(JSSMOD(K,N),K=1,5)
65 1000        FORMAT(' SETHSS: UNEXPECTED MODE ',I8,' --> ',5I8)
66             STOP 99
67           ENDIF
68           GO TO 200
69         ELSE
70 C          2-body modes
71           DO 210 I=1,85
72             IF(JSSMOD(1,N).NE.LISTSS(I)) GO TO 210
73             DO 220 J=1,85
74               IF(JSSMOD(2,N).NE.LISTSS(J)) GO TO 220
75               HGAMSS(I,J)=HGAMSS(I,J)+.5*GSSMOD(N)
76               HGAMSS(J,I)=HGAMSS(J,I)+.5*GSSMOD(N)
77               GO TO 200
78 220         CONTINUE
79 210       CONTINUE
80         ENDIF
81         WRITE(ITLIS,1000) ISSMOD(N),(JSSMOD(K,N),K=1,5)
82         STOP99
83 200   CONTINUE
84 C
85 C          W* and Z* mass limits
86 C
87       DO 300 I=1,2
88         ZSTARS(1,I)=0.
89         DO 310 IW=2,4
90           ZSTARS(IW,I)=AMASS(LISTW(IW))
91           DO 320 IQ1=2,25
92             IQ2=MATCH(IQ1,IW)
93             IF(IQ2.EQ.0) GO TO 320
94             IF(GOWW(IQ1,I).AND.GOWW(IQ2,I)) THEN
95               AM12=AMASS(LISTJ(IQ1))+AMASS(LISTJ(IQ2))+1.0
96               ZSTARS(IW,I)=MIN(ZSTARS(IW,I),AM12)
97             ENDIF
98 320       CONTINUE
99 310     CONTINUE
100 300   CONTINUE
101       RETURN
102       END