]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ISAJET/isasusy/sugrge.F
Coding conventions (Gustavo)
[u/mrichter/AliRoot.git] / ISAJET / isasusy / sugrge.F
CommitLineData
0795afa3 1#include "isajet/pilot.h"
2 SUBROUTINE SUGRGE(M0,MHF,A0,TANB,SGNMU,MT,G,G0,IG,W2
3 $,NSTEP,IMODEL)
4C
5C Make one complete iteration of the renormalization group
6C equations from MZ to MGUT and back, setting the boundary
7C conditions on each end.
8C
9#if defined(CERNLIB_IMPNONE)
10 IMPLICIT NONE
11#endif
12#include "isajet/sslun.inc"
13#include "isajet/sssm.inc"
14#include "isajet/sugpas.inc"
15#include "isajet/sugnu.inc"
16#include "isajet/sugxin.inc"
17#include "isajet/sugmg.inc"
18C
19 EXTERNAL SURG26
20 DOUBLE PRECISION DDILOG,XLM
21 REAL M0,MHF,A0,TANB,SGNMU,MT,G(29),G0(29),W2(87)
22 INTEGER IG(29),NSTEP,IMODEL
23 REAL PI,TZ,A1I,A2I,A3I,GGUT,AGUTI,SIG1,SIG2,
24 $MH1S,MH2S,MUS,T,MZ,TGUT,DT,AGUT,Q,ASMT,MTMT,SINB,
25 $BETA,QOLD,XLAMGM,XMESGM,XN5GM,XC,G3GUT,THRF,THRG,DY,
26 $BLHAT,BBHAT,BTHAT
27 INTEGER I,II
28 DATA MZ/91.187/
29C
30C Re-initialize weak scale parameters
31C
32 XLAMGM=M0
33 XMESGM=MHF
34 XN5GM=A0
35 PI=4.*ATAN(1.)
36 BETA=ATAN(XTANB)
37 SINB=SIN(BETA)
38 ASMZ=0.118
39C ASMT=G3MT**2/4./PI
40C MTMT=MT/(1.+4*ASMT/3./PI+(16.11-1.04*(5.-6.63/MT))*(ASMT/PI)**2)
41C FTMT=MTMT/SINB/VEV
42 G(1)=SQRT(4*PI*A1MZ)
43 G(2)=SQRT(4*PI*A2MZ)
44 G(3)=SQRT(4*PI*ASMZ)
45 G(4)=FTAMZ
46 G(5)=FBMZ
47 G(6)=G(6)
48 G(25)=MU
49 G(26)=B
50 G(27)=0.
51 G(28)=0.
52 G(29)=0.
53C Compute gauge mediated threshold functions
54 IF (IMODEL.EQ.2) THEN
55 XLM=XLAMGM/XMESGM
56 THRF=((1.D0+XLM)*(LOG(1.D0+XLM)-2*DDILOG(XLM/(1.D0+XLM))+
57 , .5*DDILOG(2*XLM/(1.D0+XLM)))+
58 , (1.D0-XLM)*(LOG(1.D0-XLM)-2*DDILOG(-XLM/(1.D0-XLM))+
59 , .5*DDILOG(-2*XLM/(1.D0-XLM))))/XLM**2
60 THRG=((1.D0+XLM)*LOG(1.D0+XLM)+(1.D0-XLM)*LOG(1.D0-XLM))/XLM**2
61 END IF
62C
63C Run back up to mgut with approximate susy spectra
64C
65 IF (IMODEL.EQ.1) THEN
66 IF (XSUGIN(7).EQ.0.) THEN
67 MGUT=1.E19
68 ELSE
69 MGUT=XSUGIN(7)
70 END IF
71 ELSE IF (IMODEL.EQ.2) THEN
72 MGUT=XMESGM
73 END IF
74 TZ=LOG(MZ/MGUT)
75 TGUT=0.
76 DT=(TGUT-TZ)/FLOAT(NSTEP)
77 DO 250 II=1,NSTEP
78 T=TZ+(TGUT-TZ)*FLOAT(II-1)/FLOAT(NSTEP)
79 QOLD=Q
80 Q=MGUT*EXP(T)
81 IF (QOLD.LE.MT.AND.Q.GT.MT) G(6)=FTMT
82 IF (QOLD.LE.XNRIN(2).AND.Q.GT.XNRIN(2)) THEN
83 G(27)=FNMZ
84 G(28)=G0(28)
85 G(29)=G0(29)
86 END IF
87 CALL RKSTP(29,DT,T,G,SURG26,W2)
88 A1I=4*PI/G(1)**2
89 A2I=4*PI/G(2)**2
90 A3I=4*PI/G(3)**2
91 IF (G(5).GT.10..OR.G(6).GT.10..OR.G(27).GT.10.) THEN
92 NOGOOD=4
93 GO TO 100
94 END IF
95 IF (A1I.LT.A2I.AND.XSUGIN(7).EQ.0.) GO TO 30
96250 CONTINUE
97 IF (IMODEL.EQ.1.AND.XSUGIN(7).EQ.0.) THEN
98 WRITE(LOUT,*) 'SUGRGE ERROR: NO UNIFICATION FOUND'
99 NOGOOD=1
100 GO TO 100
101 END IF
10230 IF (XSUGIN(7).EQ.0.) THEN
103 MGUT=Q
104 ELSE
105 MGUT=XSUGIN(7)
106 END IF
107 AGUT=(G(1)**2/4./PI+G(2)**2/4./PI)/2.
108 GGUT=SQRT(4*PI*AGUT)
109 AGUTI=1./AGUT
110 FTAGUT=G(4)
111 FBGUT=G(5)
112 FTGUT=G(6)
113 IF (XNRIN(2).LT.1.E19.AND.XNRIN(1).EQ.0.) THEN
114C IMPOSE FN-FT UNIFICATION
115 FNGUT=G(6)
116 ELSE
117 FNGUT=G(27)
118 END IF
119 G3GUT=G(3)
120 MGUTSS=MGUT
121 AGUTSS=AGUT
122 GGUTSS=GGUT
123C
124C Set GUT boundary condition
125C
126 DO 260 I=1,3
127 IF (IMODEL.EQ.1) THEN
128 G(I)=G(I)
129 G(I+6)=MHF
130 G(I+9)=A0
131 ELSE IF (IMODEL.EQ.2) THEN
132 G(I)=G(I)
133 G(I+6)=XGMIN(11+I)*XGMIN(8)*THRG*(G(I)/4./PI)**2*XLAMGM
134 G(I+9)=0.
135 END IF
136 IF (XNRIN(2).LT.1.E19) THEN
137 G(27)=FNGUT
138 G(28)=XNRIN(4)**2
139 G(29)=XNRIN(3)
140 ELSE
141 G(27)=0.
142 G(28)=0.
143 G(29)=0.
144 END IF
145260 CONTINUE
146C OVERWRITE ALFA_3 UNIFICATION TO GET ALFA_3(MZ) RIGHT
147 IF (IMODEL.EQ.1.AND.IAL3UN.NE.0) G(3)=GGUT
148 IF (IMODEL.EQ.1) THEN
149 DO 270 I=13,24
150 G(I)=M0**2
151270 CONTINUE
152C Set possible non-universal GUT scale boundary conditions
153 DO 280 I=1,6
154 IF (XNUSUG(I).LT.1.E19) THEN
155 G(I+6)=XNUSUG(I)
156 END IF
157280 CONTINUE
158 DO 281 I=7,18
159 IF (XNUSUG(I).LT.1.E19) THEN
160 G(I+6)=XNUSUG(I)**2
161 END IF
162281 CONTINUE
163 ELSE IF (IMODEL.EQ.2) THEN
164 XC=2*THRF*XLAMGM**2
165 DY=SQRT(3./5.)*G(1)*XGMIN(11)
166 G(13)=XC*(.75*XGMIN(13)*(G(2)/4./PI)**4+.6*.25*
167 , XGMIN(12)*(G(1)/4./PI)**4)+XGMIN(9)-DY
168 G(14)=XC*(.75*XGMIN(13)*(G(2)/4./PI)**4+.6*.25*
169 , XGMIN(12)*(G(1)/4./PI)**4)+XGMIN(10)+DY
170 G(15)=XC*(.6*XGMIN(12)*(G(1)/4./PI)**4)+2*DY
171 G(16)=XC*(.75*XGMIN(13)*(G(2)/4./PI)**4+.6*.25*
172 , XGMIN(12)*(G(1)/4./PI)**4)-DY
173 G(17)=XC*(4*XGMIN(14)*(G(3)/4./PI)**4/3.+.6*XGMIN(12)*
174 , (G(1)/4./PI)**4/9.)+2*DY/3.
175 G(18)=XC*(4*XGMIN(14)*(G(3)/4./PI)**4/3.+.6*4*XGMIN(12)*
176 , (G(1)/4./PI)**4/9.)-4*DY/3.
177 G(19)=XC*(4*XGMIN(14)*(G(3)/4./PI)**4/3.+.75*XGMIN(13)*
178 , (G(2)/4./PI)**4+.6*XGMIN(12)*(G(1)/4./PI)**4/36.)+DY/3.
179 G(20)=G(15)
180 G(21)=G(16)
181 G(22)=G(17)
182 G(23)=G(18)
183 G(24)=G(19)
184 ELSE IF (IMODEL.EQ.7) THEN
185 G(1)=G(1)
186 G(2)=G(2)
187 G(3)=G(3)
188 BLHAT=G(4)*(-9*G(1)**2/5.-3*G(2)**2+3*G(5)**2+4*G(4)**2)
189 BBHAT=G(5)*(-7*G(1)**2/15.-3*G(2)**2-16*G(3)**2/3.+
190 , G(6)**2+6*G(5)**2+G(4)**2)
191 BTHAT=G(6)*(-13*G(1)**2/15.-3*G(2)**2-16*G(3)**2/3.+
192 , 6*G(6)**2+G(5)**2)
193 G(7)=-33*MHF*G(1)**2/5./16./PI**2
194 G(8)=-MHF*G(2)**2/16./PI**2
195 G(9)=3*MHF*G(3)**2/16./PI**2
196 G(10)=BLHAT*MHF/G(4)/16./PI**2
197 G(11)=BBHAT*MHF/G(5)/16./PI**2
198 G(12)=BTHAT*MHF/G(6)/16./PI**2
199 G(13)=(-99*G(1)**4/50.-3*G(2)**4/2.+3*G(5)*BBHAT+G(4)*BLHAT)*
200 , MHF**2/(16*PI**2)**2
201 G(14)=(-99*G(1)**4/50.-3*G(2)**4/2.+3*G(6)*BTHAT)*
202 , MHF**2/(16*PI**2)**2
203 G(15)=(-198*G(1)**4/25.)*MHF**2/(16*PI**2)**2
204 G(16)=(-99*G(1)**4/50.-3*G(2)**4/2.)*MHF**2/(16*PI**2)**2
205 G(17)=(-22*G(1)**4/25.+8*G(3)**4)*MHF**2/(16*PI**2)**2
206 G(18)=(-88*G(1)**4/25.+8*G(3)**4)*MHF**2/(16*PI**2)**2
207 G(19)=(-11*G(1)**4/50.-3*G(2)**4/2.+8*G(3)**4)*
208 , MHF**2/(16*PI**2)**2
209 G(20)=(-198*G(1)**4/25.+2*G(4)*BLHAT)*MHF**2/(16*PI**2)**2
210 G(21)=(-99*G(1)**4/50.-3*G(2)**4/2.+G(4)*BLHAT)*
211 , MHF**2/(16*PI**2)**2
212 G(22)=(-22*G(1)**4/25.+8*G(3)**4+2*G(5)*BBHAT)*
213 , MHF**2/(16*PI**2)**2
214 G(23)=(-88*G(1)**4/25.+8*G(3)**4+2*G(6)*BTHAT)*
215 , MHF**2/(16*PI**2)**2
216 G(24)=(-11*G(1)**4/50.-3*G(2)**4/2.+8*G(3)**4+G(5)*BBHAT+
217 , G(6)*BTHAT)*MHF**2/(16*PI**2)**2
218 DO 284 I=13,24
219284 G(I)=G(I)+M0**2
220 END IF
221 DO 285 I=1,29
222 IG(I)=0
223285 CONTINUE
224C Check for tachyonic sleptons at GUT scale
225 IF (G(15).LT.0..OR.G(16).LT.0.) THEN
226 ITACHY=2
227 ELSE
228 ITACHY=0
229 END IF
230C
231C Run back down to weak scale
232C
233 TZ=LOG(MZ/MGUT)
234 TGUT=0.
235 DT=(TZ-TGUT)/FLOAT(NSTEP)
236 DO 290 II=1,NSTEP+2
237 T=TGUT+(TZ-TGUT)*FLOAT(II-1)/FLOAT(NSTEP)
238 QOLD=Q
239 Q=MGUT*EXP(T)
240 CALL RKSTP(29,DT,T,G,SURG26,W2)
241 CALL SUGFRZ(Q,G,G0,IG)
242 IF (QOLD.GE.AMNRMJ.AND.Q.LT.AMNRMJ.AND.XNRIN(1).EQ.0.) THEN
243 FNMZ=G(27)
244 END IF
245 IF (Q.LT.AMNRMJ) THEN
246 G(27)=0.
247 G(28)=0.
248 G(29)=0.
249 END IF
250 IF (NOGOOD.NE.0) GO TO 100
251 IF (Q.LT.MZ) GO TO 40
252290 CONTINUE
25340 CONTINUE
254C
255C Electroweak breaking constraints; tree level
256C
257 MUS=(G0(13)-G0(14)*TANB**2)/(TANB**2-1.)-MZ**2/2.
258 IF (MUS.LT.0.) THEN
259 NOGOOD=2
260 GO TO 100
261 END IF
262 MU=SQRT(MUS)*SIGN(1.,SGNMU)
263 B=(G0(13)+G0(14)+2*MUS)*SIN2B/MU/2.
264 CALL SUGMAS(G0,0,IMODEL)
265 IF (NOGOOD.NE.0) GO TO 100
266C
267C Electroweak breaking constraints; loop level
268C
269 CALL SUGEFF(G0,SIG1,SIG2)
270 MH1S=G0(13)+SIG1
271 MH2S=G0(14)+SIG2
272 MUS=(MH1S-MH2S*TANB**2)/(TANB**2-1.)-MZ**2/2.
273 IF (MUS.LT.0.) THEN
274 NOGOOD=2
275 GO TO 100
276 END IF
277 MU=SQRT(MUS)*SIGN(1.,SGNMU)
278 B=(MH1S+MH2S+2*MUS)*SIN2B/MU/2.
279 CALL SUGMAS(G0,1,IMODEL)
280C
281100 RETURN
282 END