]>
Commit | Line | Data |
---|---|---|
0795afa3 | 1 | #include "isajet/pilot.h" |
2 | SUBROUTINE DOMSSM | |
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/. | |
7 | C | |
8 | C F.E. Paige, November, 1992 | |
9 | C | |
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 | |
16 | C | |
17 | C----------------------------------------------------------------------- | |
18 | #if defined(CERNLIB_IMPNONE) | |
19 | IMPLICIT NONE | |
20 | #endif | |
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" | |
34 | C | |
35 | INTEGER NOUT | |
36 | PARAMETER (NOUT=33) | |
37 | INTEGER IDOUT(NOUT) | |
38 | REAL AMASS,AMPL | |
39 | REAL AMI,SUMGAM,SUMMJ,WIDMX | |
40 | INTEGER I,J,K,IFL1,IFL2,IFL3,JSPIN,INDEX,IALLOW,IITEST | |
41 | C | |
42 | DATA IDOUT/ | |
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, | |
46 | $ISHL,ISHH,ISHA,ISHC/ | |
47 | DATA AMPL/2.4E18/,IAL3UN/0/ | |
48 | C | |
49 | C Generate masses and decays | |
50 | C | |
51 | C FIRST SET HIGH SCALE FOR SUSY BCs; default is M_GUT | |
52 | XSUGIN(7)=XSBCS | |
53 | IF (XMGVTO.LT.1.E19) AMGVSS=XMGVTO | |
54 | IF(.NOT.GOMSSM) RETURN | |
55 | LOUT=ITLIS | |
56 | IF (AL3UNI) IAL3UN=1 | |
57 | IF(GOSUG) THEN | |
58 | C SUGRA input | |
59 | C First solve renormalization group equations | |
60 | IF (XMAJNR.LT.1.E19) THEN | |
61 | XNRIN(1)=XMN3NR | |
62 | XNRIN(2)=XMAJNR | |
63 | XNRIN(3)=XANSS | |
64 | XNRIN(4)=XNRSS | |
65 | ELSE | |
66 | XNRIN(2)=1.E20 | |
67 | END IF | |
68 | IF (GOAMSB) THEN | |
69 | XA0SU=0. | |
70 | CALL SUGRA(XM0SU,XMHSU,XA0SU,XTGBSU,XSMUSU,AMASS(6),7) | |
71 | ELSE | |
72 | CALL SUGRA(XM0SU,XMHSU,XA0SU,XTGBSU,XSMUSU,AMASS(6),1) | |
73 | END IF | |
74 | IF (NOGOOD.EQ.1) THEN | |
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!' | |
88 | END IF | |
89 | IF(NOGOOD.NE.0) STOP99 | |
90 | IF(ITACHY.NE.0) THEN | |
91 | WRITE(LOUT,*) 'WARNING: TACHYONIC SLEPTONS AT GUT SCALE' | |
92 | WRITE(LOUT,*) ' POINT MAY BE INVALID' | |
93 | ENDIF | |
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), | |
100 | $ AMASS(6),IALLOW,1) | |
101 | ELSE IF(GOGMSB) THEN | |
102 | C GMSB input | |
103 | XGMIN(8)=XRSLGM | |
104 | XGMIN(9)=XDHDGM | |
105 | XGMIN(10)=XDHUGM | |
106 | XGMIN(11)=XDYGM | |
107 | XGMIN(12)=XN51GM | |
108 | XGMIN(13)=XN52GM | |
109 | XGMIN(14)=XN53GM | |
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!' | |
124 | END IF | |
125 | IF(NOGOOD.NE.0) STOP99 | |
126 | IF(ITACHY.NE.0) THEN | |
127 | WRITE(LOUT,*) 'WARNING: TACHYONIC SLEPTONS AT HIGH SCALE' | |
128 | WRITE(LOUT,*) ' POINT MAY BE INVALID' | |
129 | ENDIF | |
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), | |
137 | $ AMASS(6),IALLOW,2) | |
138 | ELSE | |
139 | C Weak scale input | |
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) | |
145 | ENDIF | |
146 | C | |
147 | C Test parameters | |
148 | C | |
149 | IF(IALLOW.NE.0) THEN | |
150 | WRITE(LOUT,1000) | |
151 | 1000 FORMAT(//' MSSM WARNING: Z1SS IS NOT LSP') | |
152 | ENDIF | |
153 | CALL SSTEST(IALLOW) | |
154 | IITEST=IALLOW/2 | |
155 | IF(MOD(IITEST,2).NE.0) THEN | |
156 | WRITE(LOUT,1002) | |
157 | 1002 FORMAT(' MSSM WARNING: Z -> Z1SS Z1SS TOO BIG') | |
158 | ENDIF | |
159 | IITEST=IITEST/2 | |
160 | IF(MOD(IITEST,2).NE.0) THEN | |
161 | WRITE(LOUT,1004) | |
162 | 1004 FORMAT(' MSSM WARNING: Z -> CHARGINOS ALLOWED') | |
163 | ENDIF | |
164 | IITEST=IITEST/2 | |
165 | IF(MOD(IITEST,2).NE.0) THEN | |
166 | WRITE(LOUT,1008) | |
167 | 1008 FORMAT(' MSSM WARNING: Z -> Z1SS Z2SS TOO BIG') | |
168 | ENDIF | |
169 | IITEST=IITEST/2 | |
170 | IF(MOD(IITEST,2).NE.0) THEN | |
171 | WRITE(LOUT,1008) | |
172 | 1016 FORMAT(' MSSM WARNING: Z -> SQUARKS OR SLEPTONS') | |
173 | ENDIF | |
174 | IITEST=IITEST/2 | |
175 | IF(MOD(IITEST,2).NE.0) THEN | |
176 | WRITE(LOUT,1032) | |
177 | 1032 FORMAT(' MSSM WARNING: Z -> Z* HL0 TOO BIG') | |
178 | ENDIF | |
179 | IITEST=IITEST/2 | |
180 | IF(MOD(IITEST,2).NE.0) THEN | |
181 | WRITE(LOUT,1064) | |
182 | 1064 FORMAT(' MSSM WARNING: Z -> HL0 HA0 ALLOWED') | |
183 | ENDIF | |
184 | IITEST=IITEST/2 | |
185 | IF(MOD(IITEST,2).NE.0) THEN | |
186 | WRITE(LOUT,1128) | |
187 | 1128 FORMAT(' MSSM WARNING: Z -> H+ H- ALLOWED') | |
188 | ENDIF | |
189 | C | |
190 | C Store masses in /QLMASS/ | |
191 | C | |
192 | CALL FLAVOR(ISUPL,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
193 | AMLEP(INDEX)=AMULSS | |
194 | CALL FLAVOR(ISDNL,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
195 | AMLEP(INDEX)=AMDLSS | |
196 | CALL FLAVOR(ISSTL,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
197 | AMLEP(INDEX)=AMSLSS | |
198 | CALL FLAVOR(ISCHL,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
199 | AMLEP(INDEX)=AMCLSS | |
200 | CALL FLAVOR(ISBT1,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
201 | AMLEP(INDEX)=AMB1SS | |
202 | CALL FLAVOR(ISTP1,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
203 | AMLEP(INDEX)=AMT1SS | |
204 | CALL FLAVOR(ISUPR,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
205 | AMLEP(INDEX)=AMURSS | |
206 | CALL FLAVOR(ISDNR,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
207 | AMLEP(INDEX)=AMDRSS | |
208 | CALL FLAVOR(ISSTR,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
209 | AMLEP(INDEX)=AMSRSS | |
210 | CALL FLAVOR(ISCHR,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
211 | AMLEP(INDEX)=AMCRSS | |
212 | CALL FLAVOR(ISBT2,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
213 | AMLEP(INDEX)=AMB2SS | |
214 | CALL FLAVOR(ISTP2,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
215 | AMLEP(INDEX)=AMT2SS | |
216 | C | |
217 | CALL FLAVOR(ISNEL,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
218 | AMLEP(INDEX)=AMN1SS | |
219 | CALL FLAVOR(ISEL,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
220 | AMLEP(INDEX)=AMELSS | |
221 | CALL FLAVOR(ISNML,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
222 | AMLEP(INDEX)=AMN2SS | |
223 | CALL FLAVOR(ISMUL,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
224 | AMLEP(INDEX)=AMMLSS | |
225 | CALL FLAVOR(ISNTL,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
226 | AMLEP(INDEX)=AMN3SS | |
227 | CALL FLAVOR(ISTAU1,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
228 | AMLEP(INDEX)=AML1SS | |
229 | CALL FLAVOR(ISER,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
230 | AMLEP(INDEX)=AMERSS | |
231 | CALL FLAVOR(ISMUR,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
232 | AMLEP(INDEX)=AMMRSS | |
233 | CALL FLAVOR(ISTAU2,IFL1,IFL2,IFL3,JSPIN,INDEX) | |
234 | AMLEP(INDEX)=AML2SS | |
235 | C | |
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) | |
250 | C | |
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) | |
259 | C | |
260 | C Check decays with ISAJET masses | |
261 | C NOGRAV turns off gravitino decays and all weaker ones | |
262 | C | |
263 | WIDMX=0 | |
264 | IF(NOGRAV) THEN | |
265 | DO 90 J=1,NSSMOD | |
266 | DO 91 K=1,5 | |
267 | IF(JSSMOD(K,J).EQ.ISGRAV) WIDMX=MAX(WIDMX,GSSMOD(J)) | |
268 | 91 CONTINUE | |
269 | 90 CONTINUE | |
270 | ENDIF | |
271 | WIDMX=1.01*WIDMX | |
272 | C | |
273 | DO 100 I=1,NOUT | |
274 | SUMGAM=0 | |
275 | AMI=AMASS(IDOUT(I)) | |
276 | DO 110 J=1,NSSMOD | |
277 | IF(IDOUT(I).NE.ISSMOD(J)) GO TO 110 | |
278 | SUMMJ=0 | |
279 | DO 111 K=1,5 | |
280 | IF(JSSMOD(K,J).NE.0) SUMMJ=SUMMJ+AMASS(JSSMOD(K,J)) | |
281 | 111 CONTINUE | |
282 | IF(SUMMJ.GE.AMI.OR.GSSMOD(J).LT.WIDMX) GSSMOD(J)=0 | |
283 | SUMGAM=SUMGAM+GSSMOD(J) | |
284 | 110 CONTINUE | |
285 | DO 120 J=1,NSSMOD | |
286 | IF(IDOUT(I).NE.ISSMOD(J)) GO TO 120 | |
287 | IF(SUMGAM.NE.0) THEN | |
288 | BSSMOD(J)=GSSMOD(J)/SUMGAM | |
289 | ELSE | |
290 | BSSMOD(J)=0 | |
291 | ENDIF | |
292 | 120 CONTINUE | |
293 | 100 CONTINUE | |
294 | C | |
295 | RETURN | |
296 | END |