1 #include "isajet/pilot.h"
3 C-----------------------------------------------------------------------
4 C Initialize MSSM masses and decay modes from ISASUSY.
5 C Check for validity with ISAJET masses.
6 C Decay modes are transfered to /DKYTAB/ by /SETDKY/.
8 C F.E. Paige, November, 1992
10 C Ver. 7.01: Add test so that AMASS is not called if ID = 0
11 C Ver. 7.07: Add checking for LEP bounds.
12 C Ver. 7.10: Add SUGRA interface
13 C Ver. 7.32: Extend to large tanb solution
14 C Ver. 7.33: Add gauge-mediated SUSY model
15 C Ver. 7.38: NOGRAV turns off gravitino and weaker decays
17 C-----------------------------------------------------------------------
18 #if defined(CERNLIB_IMPNONE)
21 C ISAJET common blocks
22 #include "isajet/itapes.inc"
23 #include "isajet/qlmass.inc"
24 #include "isajet/xmssm.inc"
25 #include "isajet/nodcay.inc"
26 C ISASUSY common blocks
27 #include "isajet/sslun.inc"
28 #include "isajet/ssmode.inc"
29 #include "isajet/sspar.inc"
30 #include "isajet/sstype.inc"
31 #include "isajet/sugmg.inc"
32 #include "isajet/sugpas.inc"
33 #include "isajet/sugxin.inc"
39 REAL AMI,SUMGAM,SUMMJ,WIDMX
40 INTEGER I,J,K,IFL1,IFL2,IFL3,JSPIN,INDEX,IALLOW,IITEST
43 $IDTP,ISGL,ISUPL,ISDNL,ISSTL,ISCHL,ISBT1,ISTP1,ISUPR,ISDNR,
44 $ISSTR,ISCHR,ISBT2,ISTP2,ISEL,ISMUL,ISTAU1,ISNEL,ISNML,ISNTL,
45 $ISER,ISMUR,ISTAU2,ISZ1,ISZ2,ISZ3,ISZ4,ISW1,ISW2,
47 DATA AMPL/2.4E18/,IAL3UN/0/
49 C Generate masses and decays
51 C FIRST SET HIGH SCALE FOR SUSY BCs; default is M_GUT
53 IF (XMGVTO.LT.1.E19) AMGVSS=XMGVTO
54 IF(.NOT.GOMSSM) RETURN
59 C First solve renormalization group equations
60 IF (XMAJNR.LT.1.E19) THEN
70 CALL SUGRA(XM0SU,XMHSU,XA0SU,XTGBSU,XSMUSU,AMASS(6),7)
72 CALL SUGRA(XM0SU,XMHSU,XA0SU,XTGBSU,XSMUSU,AMASS(6),1)
75 WRITE(LOUT,*) 'SUGRA BAD POINT: TACHYONIC PARTICLES!'
76 ELSE IF (NOGOOD.EQ.2) THEN
77 WRITE(LOUT,*) 'SUGRA BAD POINT: NO EW SYMMETRY BREAKING!'
78 ELSE IF (NOGOOD.EQ.3) THEN
79 WRITE(LOUT,*) 'SUGRA BAD POINT: M(H_P)^2<0!'
80 ELSE IF (NOGOOD.EQ.4) THEN
81 WRITE(LOUT,*) 'SUGRA BAD POINT: YUKAWA>10!'
82 ELSE IF (NOGOOD.EQ.5) THEN
83 WRITE(LOUT,*) 'SUGRA BAD POINT: Z1SS NOT LSP!'
84 ELSE IF (NOGOOD.EQ.7) THEN
85 WRITE(LOUT,*) 'SUGRA BAD POINT: XT EWSB IS BAD!'
86 ELSE IF (NOGOOD.EQ.8) THEN
87 WRITE(LOUT,*) 'SUGRA BAD POINT: MHL^2<0!'
89 IF(NOGOOD.NE.0) STOP99
91 WRITE(LOUT,*) 'WARNING: TACHYONIC SLEPTONS AT GUT SCALE'
92 WRITE(LOUT,*) ' POINT MAY BE INVALID'
94 C Then calculate masses and decays
95 CALL SSMSSM(XISAIN(1),XISAIN(2),XISAIN(3),
96 $ XISAIN(4),XISAIN(5),XISAIN(6),XISAIN(7),XISAIN(8),XISAIN(9),
97 $ XISAIN(10),XISAIN(11),XISAIN(12),XISAIN(13),XISAIN(14),
98 $ XISAIN(15),XISAIN(16),XISAIN(17),XISAIN(18),XISAIN(19),
99 $ XISAIN(20),XISAIN(21),XISAIN(22),XISAIN(23),XISAIN(24),
110 C First solve renormalization group equations
111 CALL SUGRA(XLAMGM,XMESGM,XN5GM,XTGBSU,XSMUSU,AMASS(6),2)
112 IF (NOGOOD.EQ.1) THEN
113 WRITE(LOUT,*) 'GMSB BAD POINT: TACHYONIC PARTICLES!'
114 ELSE IF (NOGOOD.EQ.2) THEN
115 WRITE(LOUT,*) 'GMSB BAD POINT: NO EW SYMMETRY BREAKING!'
116 ELSE IF (NOGOOD.EQ.3) THEN
117 WRITE(LOUT,*) 'GMSB BAD POINT: M(H_P)^2<0!'
118 ELSE IF (NOGOOD.EQ.4) THEN
119 WRITE(LOUT,*) 'GMSB BAD POINT: YUKAWA>100!'
120 ELSE IF (NOGOOD.EQ.7) THEN
121 WRITE(LOUT,*) 'GMSB BAD POINT: XT EWSB IS BAD!'
122 ELSE IF (NOGOOD.EQ.8) THEN
123 WRITE(LOUT,*) 'GMSB BAD POINT: MHL^2<0!'
125 IF(NOGOOD.NE.0) STOP99
127 WRITE(LOUT,*) 'WARNING: TACHYONIC SLEPTONS AT HIGH SCALE'
128 WRITE(LOUT,*) ' POINT MAY BE INVALID'
130 C Then calculate masses and decays
131 AMGVSS=XLAMGM*XMESGM*XCMGV/SQRT(3.)/AMPL
132 CALL SSMSSM(XISAIN(1),XISAIN(2),XISAIN(3),
133 $ XISAIN(4),XISAIN(5),XISAIN(6),XISAIN(7),XISAIN(8),XISAIN(9),
134 $ XISAIN(10),XISAIN(11),XISAIN(12),XISAIN(13),XISAIN(14),
135 $ XISAIN(15),XISAIN(16),XISAIN(17),XISAIN(18),XISAIN(19),
136 $ XISAIN(20),XISAIN(21),XISAIN(22),XISAIN(23),XISAIN(24),
140 C Values of 1.E20 indicate that SSMASS should calculate
141 C M_1 and M_2 from M_3
142 CALL SSMSSM(XGLSS,XMUSS,XHASS,XTBSS,XQ1SS,XDRSS,XURSS,XL1SS,
143 $ XERSS,XQ2SS,XSRSS,XCRSS,XL2SS,XMRSS,XQ3SS,XBRSS,XTRSS,XL3SS,
144 $ XTARSS,XATSS,XABSS,XATASS,XM1SS,XM2SS,AMASS(6),IALLOW,1)
151 1000 FORMAT(//' MSSM WARNING: Z1SS IS NOT LSP')
155 IF(MOD(IITEST,2).NE.0) THEN
157 1002 FORMAT(' MSSM WARNING: Z -> Z1SS Z1SS TOO BIG')
160 IF(MOD(IITEST,2).NE.0) THEN
162 1004 FORMAT(' MSSM WARNING: Z -> CHARGINOS ALLOWED')
165 IF(MOD(IITEST,2).NE.0) THEN
167 1008 FORMAT(' MSSM WARNING: Z -> Z1SS Z2SS TOO BIG')
170 IF(MOD(IITEST,2).NE.0) THEN
172 1016 FORMAT(' MSSM WARNING: Z -> SQUARKS OR SLEPTONS')
175 IF(MOD(IITEST,2).NE.0) THEN
177 1032 FORMAT(' MSSM WARNING: Z -> Z* HL0 TOO BIG')
180 IF(MOD(IITEST,2).NE.0) THEN
182 1064 FORMAT(' MSSM WARNING: Z -> HL0 HA0 ALLOWED')
185 IF(MOD(IITEST,2).NE.0) THEN
187 1128 FORMAT(' MSSM WARNING: Z -> H+ H- ALLOWED')
190 C Store masses in /QLMASS/
192 CALL FLAVOR(ISUPL,IFL1,IFL2,IFL3,JSPIN,INDEX)
194 CALL FLAVOR(ISDNL,IFL1,IFL2,IFL3,JSPIN,INDEX)
196 CALL FLAVOR(ISSTL,IFL1,IFL2,IFL3,JSPIN,INDEX)
198 CALL FLAVOR(ISCHL,IFL1,IFL2,IFL3,JSPIN,INDEX)
200 CALL FLAVOR(ISBT1,IFL1,IFL2,IFL3,JSPIN,INDEX)
202 CALL FLAVOR(ISTP1,IFL1,IFL2,IFL3,JSPIN,INDEX)
204 CALL FLAVOR(ISUPR,IFL1,IFL2,IFL3,JSPIN,INDEX)
206 CALL FLAVOR(ISDNR,IFL1,IFL2,IFL3,JSPIN,INDEX)
208 CALL FLAVOR(ISSTR,IFL1,IFL2,IFL3,JSPIN,INDEX)
210 CALL FLAVOR(ISCHR,IFL1,IFL2,IFL3,JSPIN,INDEX)
212 CALL FLAVOR(ISBT2,IFL1,IFL2,IFL3,JSPIN,INDEX)
214 CALL FLAVOR(ISTP2,IFL1,IFL2,IFL3,JSPIN,INDEX)
217 CALL FLAVOR(ISNEL,IFL1,IFL2,IFL3,JSPIN,INDEX)
219 CALL FLAVOR(ISEL,IFL1,IFL2,IFL3,JSPIN,INDEX)
221 CALL FLAVOR(ISNML,IFL1,IFL2,IFL3,JSPIN,INDEX)
223 CALL FLAVOR(ISMUL,IFL1,IFL2,IFL3,JSPIN,INDEX)
225 CALL FLAVOR(ISNTL,IFL1,IFL2,IFL3,JSPIN,INDEX)
227 CALL FLAVOR(ISTAU1,IFL1,IFL2,IFL3,JSPIN,INDEX)
229 CALL FLAVOR(ISER,IFL1,IFL2,IFL3,JSPIN,INDEX)
231 CALL FLAVOR(ISMUR,IFL1,IFL2,IFL3,JSPIN,INDEX)
233 CALL FLAVOR(ISTAU2,IFL1,IFL2,IFL3,JSPIN,INDEX)
236 CALL FLAVOR(ISGL,IFL1,IFL2,IFL3,JSPIN,INDEX)
237 AMLEP(INDEX)=ABS(AMGLSS)
238 CALL FLAVOR(ISZ1,IFL1,IFL2,IFL3,JSPIN,INDEX)
239 AMLEP(INDEX)=ABS(AMZ1SS)
240 CALL FLAVOR(ISZ2,IFL1,IFL2,IFL3,JSPIN,INDEX)
241 AMLEP(INDEX)=ABS(AMZ2SS)
242 CALL FLAVOR(ISZ3,IFL1,IFL2,IFL3,JSPIN,INDEX)
243 AMLEP(INDEX)=ABS(AMZ3SS)
244 CALL FLAVOR(ISZ4,IFL1,IFL2,IFL3,JSPIN,INDEX)
245 AMLEP(INDEX)=ABS(AMZ4SS)
246 CALL FLAVOR(ISW1,IFL1,IFL2,IFL3,JSPIN,INDEX)
247 AMLEP(INDEX)=ABS(AMW1SS)
248 CALL FLAVOR(ISW2,IFL1,IFL2,IFL3,JSPIN,INDEX)
249 AMLEP(INDEX)=ABS(AMW2SS)
251 CALL FLAVOR(ISHL,IFL1,IFL2,IFL3,JSPIN,INDEX)
252 AMLEP(INDEX)=ABS(AMHL)
253 CALL FLAVOR(ISHH,IFL1,IFL2,IFL3,JSPIN,INDEX)
254 AMLEP(INDEX)=ABS(AMHH)
255 CALL FLAVOR(ISHA,IFL1,IFL2,IFL3,JSPIN,INDEX)
256 AMLEP(INDEX)=ABS(AMHA)
257 CALL FLAVOR(ISHC,IFL1,IFL2,IFL3,JSPIN,INDEX)
258 AMLEP(INDEX)=ABS(AMHC)
260 C Check decays with ISAJET masses
261 C NOGRAV turns off gravitino decays and all weaker ones
267 IF(JSSMOD(K,J).EQ.ISGRAV) WIDMX=MAX(WIDMX,GSSMOD(J))
277 IF(IDOUT(I).NE.ISSMOD(J)) GO TO 110
280 IF(JSSMOD(K,J).NE.0) SUMMJ=SUMMJ+AMASS(JSSMOD(K,J))
282 IF(SUMMJ.GE.AMI.OR.GSSMOD(J).LT.WIDMX) GSSMOD(J)=0
283 SUMGAM=SUMGAM+GSSMOD(J)
286 IF(IDOUT(I).NE.ISSMOD(J)) GO TO 120
288 BSSMOD(J)=GSSMOD(J)/SUMGAM