47 SUBROUTINE pypole(IHIGGS,XMC,XMA,TANB,XMQ,XMUR,XMDR,XMT,AT,AB,XMU,
48 &xmh,xmhp,hm,hmp,amp,sa,ca,stop1,stop2,sbot1,sbot2,tanba,xmg,
dt,db)
51 IMPLICIT DOUBLE PRECISION(a-
h, o-
z)
55 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
60 dimension delta(2,2),coupt(2,2),
t(2,2),sstop2(2),
61 &ssbot2(2),b(2,2),coupb(2,2),
62 &hcoupt(2,2),hcoupb(2,2),
63 &acoupt(2,2),acoupb(2,2),pr(3), polar(3)
73 CALL
pyrghm(xmc,xma,tanb,xmq,xmur,xmdr,xmt,at,ab,
74 &xmu,xmh,hm,xmch,sa,ca,sab,cab,tanba,xmg,
dt,db)
76 sinb = tanb/(tanb**2+1d0)**0.5d0
77 cosb = 1d0/(tanb**2+1d0)**0.5d0
78 cos2b = sinb**2 - cosb**2
79 sinbpa = sinb*ca + cosb*sa
80 cosbpa = cosb*ca - sinb*sa
84 IF(xmur.LT.0d0) xmur2=-xmur2
86 xmst11 = rxmt**2 + xmq2 - 0.35d0*xmz**2*cos2b
87 xmst22 = rxmt**2 + xmur2 - 0.15d0*xmz**2*cos2b
88 IF(xmst11.LT.0d0) goto 500
89 IF(xmst22.LT.0d0) goto 500
90 xmsb11 = rmbot**2 + xmq2 + 0.42d0*xmz**2*cos2b
91 xmsb22 = rmbot**2 + xmdr2 + 0.08d0*xmz**2*cos2b
92 IF(xmsb11.LT.0d0) goto 500
93 IF(xmsb22.LT.0d0) goto 500
96 xmst12 = rxmt*(at - xmu/tanb)
97 xmsb12 = rmbot*(ab - xmu*tanb)
103 stop12 = 0.5d0*(xmst11+xmst22) +
104 &0.5d0*((xmst11+xmst22)**2 -
105 &4d0*(xmst11*xmst22 - xmst12**2))**0.5d0
106 stop22 = 0.5d0*(xmst11+xmst22) -
107 &0.5d0*((xmst11+xmst22)**2 - 4d0*(xmst11*xmst22 -
110 IF(stop22.LT.0d0) goto 500
113 stop1 = stop12**0.5d0
114 stop2 = stop22**0.5d0
118 IF(xmst12.EQ.0d0) xst11 = 1d0
119 IF(xmst12.EQ.0d0) xst12 = 0d0
120 IF(xmst12.EQ.0d0) xst21 = 0d0
121 IF(xmst12.EQ.0d0) xst22 = 1d0
123 IF(xmst12.EQ.0d0) goto 110
125 100 xst11 = xmst12/(xmst12**2+(xmst11-stop12)**2)**0.5d0
126 xst12 = - (xmst11-stop12)/(xmst12**2+(xmst11-stop12)**2)**0.5d0
127 xst21 = xmst12/(xmst12**2+(xmst11-stop22)**2)**0.5d0
128 xst22 = - (xmst11-stop22)/(xmst12**2+(xmst11-stop22)**2)**0.5d0
135 sbot12 = 0.5d0*(xmsb11+xmsb22) +
136 &0.5d0*((xmsb11+xmsb22)**2 -
137 &4d0*(xmsb11*xmsb22 - xmsb12**2))**0.5d0
138 sbot22 = 0.5d0*(xmsb11+xmsb22) -
139 &0.5d0*((xmsb11+xmsb22)**2 - 4d0*(xmsb11*xmsb22 -
141 IF(sbot22.LT.0d0) goto 500
142 sbot1 = sbot12**0.5d0
143 sbot2 = sbot22**0.5d0
148 IF(xmsb12.EQ.0d0) xsb11 = 1d0
149 IF(xmsb12.EQ.0d0) xsb12 = 0d0
150 IF(xmsb12.EQ.0d0) xsb21 = 0d0
151 IF(xmsb12.EQ.0d0) xsb22 = 1d0
153 IF(xmsb12.EQ.0d0) goto 130
155 120 xsb11 = xmsb12/(xmsb12**2+(xmsb11-sbot12)**2)**0.5d0
156 xsb12 = - (xmsb11-sbot12)/(xmsb12**2+(xmsb11-sbot12)**2)**0.5d0
157 xsb21 = xmsb12/(xmsb12**2+(xmsb11-sbot22)**2)**0.5d0
158 xsb22 = - (xmsb11-sbot22)/(xmsb12**2+(xmsb11-sbot22)**2)**0.5d0
174 IF(ihiggs.EQ.0) goto 490
179 & sint*xmz**2*2d0*sqr/174.1d0/3d0*sinbpa*(delta(
i,
j) +
180 & (3d0 - 8d0*sint)/4d0/sint*
t(1,
i)*
t(1,
j))
181 & -rxmt**2/174.1d0**2*vp/sinb*ca*delta(
i,
j)
182 & -rxmt/vp/sinb*(at*ca + xmu*sa)*(
t(1,
i)*
t(2,
j) +
191 & -sint*xmz**2*2d0*sqr/174.1d0/6d0*sinbpa*(delta(
i,
j) +
192 & (3d0 - 4d0*sint)/2d0/sint*b(1,
i)*b(1,
j))
193 & +rmbot**2/174.1d0**2*vp/cosb*sa*delta(
i,
j)
194 & +rmbot/vp/cosb*(ab*sa + xmu*ca)*(b(1,
i)*b(2,
j) +
210 polt = polt + coupt(
i,
j)**2*3d0*
218 polb = polb + coupb(
i,
j)**2*3d0*
226 & 3d0*rxmt**2/8d0/
pi**2/
v **2*
228 & (-2d0*xmt**2+0.5d0*p2)*
231 pol = polt + polb + poltt
232 polar(
i3) = p2 - xmh**2 - pol
235 drun = - polar(2)/
deriv
238 IF( abs(drun) .LT. 1d-4 .OR.
iter.GT.500) goto 240
248 250
IF(ihiggs.EQ.1) goto 490
257 & -sint*xmz**2*2d0*sqr/174.1d0/3d0*cosbpa*(delta(
i,
j) +
258 & (3d0 - 8d0*sint)/4d0/sint*
t(1,
i)*
t(1,
j))
259 & -rxmt**2/174.1d0**2*vp/sinb*sa*delta(
i,
j)
260 & -rxmt/vp/sinb*(at*sa - xmu*ca)*(
t(1,
i)*
t(2,
j) +
268 & sint*xmz**2*2d0*sqr/174.1d0/6d0*cosbpa*(delta(
i,
j) +
269 & (3d0 - 4d0*sint)/2d0/sint*b(1,
i)*b(1,
j))
270 & -rmbot**2/174.1d0**2*vp/cosb*ca*delta(
i,
j)
271 & -rmbot/vp/cosb*(ab*ca - xmu*sa)*(b(1,
i)*b(2,
j) +
288 hpolt = hpolt + hcoupt(
i,
j)**2*3d0*
296 hpolb = hpolb + hcoupb(
i,
j)**2*3d0*
305 & 3d0*rxmt**2/8d0/
pi**2/
v **2*
307 & (-2d0*xmt**2+0.5d0*hp2)*
310 hpol = hpolt + hpolb + hpoltt
311 polar(
i3) =hp2-hm**2-hpol
314 drun = - polar(2)/
deriv
317 IF( abs(drun) .LT. 1d-4 .OR.
iter.GT.500) goto 360
329 IF(ihiggs.EQ.2) goto 490
338 & -rxmt/vp/sinb*(at*cosb + xmu*sinb)*
345 & rmbot/vp/cosb*(ab*sinb + xmu*cosb)*
346 & (b(1,
i)*b(2,
j) -b(1,
j)*b(2,
i))
360 apolt = apolt + acoupt(
i,
j)**2*3d0*
367 apolb = apolb + acoupb(
i,
j)**2*3d0*
374 & 3d0*rxmt**2/8d0/
pi**2/
v **2*
378 apol = apolt + apolb + apoltt
379 polar(
i3) = ap2 - xma**2 -apol
382 drun = - polar(2)/
deriv
385 IF( abs(drun) .LT. 1d-4 .OR.
iter.GT.500) goto 480
395 IF(ihiggs.EQ.3) goto 490
400 WRITE(mstu(11),*)
' EXITING IN PYPOLE '
401 WRITE(mstu(11),*)
' XMST11,XMST22 = ',xmst11,xmst22
402 WRITE(mstu(11),*)
' XMSB11,XMSB22 = ',xmsb11,xmsb22
403 WRITE(mstu(11),*)
' STOP22,SBOT22 = ',stop22,sbot22