13 IMPLICIT DOUBLE PRECISION(a-
h, o-
z)
17 parameter(ksusy1=1000000,ksusy2=2000000,ktechn=3000000,
18 &kexcit=4000000,kdimen=5000000)
20 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
21 common/
pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
22 common/
pydat3/mdcy(500,3),mdme(8000,2),brat(8000),kfdp(8000,5)
26 common/
pyint4/mwid(500),wids(500,5)
27 common/
pymssm/imss(0:99),rmss(0:99)
28 common/pymsrv/rvlam(3,3,3), rvlamp(3,3,3), rvlamb(3,3,3)
29 common/
pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
30 &sfmix(16,4),zmixi(4,4),umixi(2,2),vmixi(2,2)
36 DOUBLE PRECISION alfa,
beta
37 DOUBLE PRECISION tanb,al,be,cosa,cosb,sina,sinb,xw
39 INTEGER kc,lknt,idlam(400,3)
40 DOUBLE PRECISION xlam(0:400)
41 DOUBLE PRECISION wdtp(0:400),wdte(0:400,0:5)
42 DOUBLE PRECISION xarg,cos2b,xmw2,xmz2
43 DOUBLE PRECISION delm,xmdif
44 DOUBLE PRECISION dx,
dy,ds,dmu2,dma2,dq2,du2,dd2,dl2,de2,dhu2,dhd2
45 DOUBLE PRECISION arg,sgnmu,
r
48 INTEGER kfsusy(50),mwidsu(36),mdcysu(36)
51 &1000001,2000001,1000002,2000002,1000003,2000003,
52 &1000004,2000004,1000005,2000005,1000006,2000006,
53 &1000011,2000011,1000012,2000012,1000013,2000013,
54 &1000014,2000014,1000015,2000015,1000016,2000016,
55 &1000021,1000022,1000023,1000025,1000035,1000024,
56 &1000037,1000039, 25, 35, 36, 37,
57 & 6, 24, 45, 46,1000045, 9*0/
80 IF(mdcy(kc,1).EQ.0.AND.mdcysu(
i).NE.0)
THEN
97 IF (imss(13).NE.0)
THEN
99 WRITE(mstu(11),*)
'(PYMSIN:) switching on NMSSM'
129 DO 123 kct=100,mstu(6)
130 IF(kchg(kct,4).GT.100) kcn=kct
142 chaf(kcn,1)=
'~chi_50'
147 IF (imssm.EQ.11.AND.imss(21).NE.0)
THEN
152 ELSEIF (imss(21).NE.0)
THEN
170 IF(imss(9).EQ.0) rmss(22)=rmss(9)
173 pmas(kc,1)=sqrt(rmss(8)**2-(2d0*xmw2+xmz2)*cos2b/6d0)
175 pmas(kc,1)=sqrt(rmss(9)**2+(xmw2-xmz2)*cos2b/3d0)
177 pmas(kc,1)=sqrt(rmss(8)**2+(4d0*xmw2-xmz2)*cos2b/6d0)
179 pmas(kc,1)=sqrt(rmss(22)**2-(xmw2-xmz2)*cos2b*2d0/3d0)
181 xarg=rmss(6)**2-pmas(24,1)**2*abs(cos(2d0*
beta))
183 WRITE(mstu(11),*)
' SNEUTRINO MASS IS NEGATIVE'//
184 &
' FROM THE SUM RULE. '
185 WRITE(mstu(11),*)
' TRY A SMALLER VALUE OF TAN(BETA). '
191 pmas(
pycomp(ksusy1+
i),1)=rmss(6)
192 pmas(
pycomp(ksusy2+
i),1)=rmss(7)
193 pmas(
pycomp(ksusy1+
i+1),1)=xarg
194 pmas(
pycomp(ksusy2+
i+1),1)=9999d0
196 IF(imss(8).EQ.1)
THEN
202 ELSEIF(imssm.EQ.2)
THEN
206 ELSEIF(imssm.EQ.12.OR.imssm.EQ.13)
THEN
216 IF(imss(7).EQ.1)
THEN
221 WRITE(mstu(11),*)
'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'
222 WRITE(mstu(11),*)
'C NEW DTERMS ADDED TO SCALAR MASSES '
223 WRITE(mstu(11),*)
'C IN A U(B-L) THEORY '
224 WRITE(mstu(11),*)
'C DX = ',dx
225 WRITE(mstu(11),*)
'C DY = ',
dy
226 WRITE(mstu(11),*)
'C DS = ',ds
227 WRITE(mstu(11),*)
'C '
228 dy=
r*
dy-4d0/33d0*(1d0-
r)*dx+(1d0-
r)/33d0*ds
229 WRITE(mstu(11),*)
'C DY AT THE WEAK SCALE = ',
dy
230 WRITE(mstu(11),*)
'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'
231 dq2=
dy/6d0-dx/3d0-ds/3d0
232 du2=-2d0*
dy/3d0-dx/3d0-ds/3d0
233 dd2=
dy/3d0+dx-2d0*ds/3d0
234 dl2=-
dy/2d0+dx-2d0*ds/3d0
236 dhu2=
dy/2d0+2d0*dx/3d0+2d0*ds/3d0
237 dhd2=-
dy/2d0-2d0*dx/3d0+ds
238 dmu2=(-
dy/2d0-2d0/3d0*dx+(cosb**2-2d0*sinb**2/3d0)*ds)
240 dma2 = 2d0*dmu2+dhu2+dhd2
243 pmas(kc,1)=sqrt(pmas(kc,1)**2+dq2)
245 pmas(kc,1)=sqrt(pmas(kc,1)**2+dd2)
247 pmas(kc,1)=sqrt(pmas(kc,1)**2+dq2)
249 pmas(kc,1)=sqrt(pmas(kc,1)**2+du2)
253 pmas(kc,1)=sqrt(pmas(kc,1)**2+dl2)
255 pmas(kc,1)=sqrt(pmas(kc,1)**2+de2)
257 pmas(kc,1)=sqrt(pmas(kc,1)**2+dl2)
259 IF(rmss(4)**2+dmu2.LT.0d0)
THEN
260 WRITE(mstu(11),*)
' MU2 DRIVEN NEGATIVE '
263 sgnmu=
sign(1d0,rmss(4))
264 rmss(4)=sgnmu*sqrt(rmss(4)**2+dmu2)
265 arg=rmss(10)**2*
sign(1d0,rmss(10))+dq2
266 rmss(10)=
sign(sqrt(abs(arg)),arg)
267 arg=rmss(11)**2*
sign(1d0,rmss(11))+dd2
268 rmss(11)=
sign(sqrt(abs(arg)),arg)
269 arg=rmss(12)**2*
sign(1d0,rmss(12))+du2
270 rmss(12)=
sign(sqrt(abs(arg)),arg)
271 arg=rmss(13)**2*
sign(1d0,rmss(13))+dl2
272 rmss(13)=
sign(sqrt(abs(arg)),arg)
273 arg=rmss(14)**2*
sign(1d0,rmss(14))+de2
274 rmss(14)=
sign(sqrt(abs(arg)),arg)
275 IF( rmss(19)**2 + dma2 .LE. 50d0 )
THEN
276 WRITE(mstu(11),*)
' MA DRIVEN TOO LOW '
279 rmss(19)=sqrt(rmss(19)**2+dma2)
280 rmss(6)=sqrt(rmss(6)**2+dl2)
281 rmss(7)=sqrt(rmss(7)**2+de2)
282 WRITE(mstu(11),*)
' MTL = ',rmss(10)
283 WRITE(mstu(11),*)
' MBR = ',rmss(11)
284 WRITE(mstu(11),*)
' MTR = ',rmss(12)
285 WRITE(mstu(11),*)
' SEL = ',rmss(6),rmss(13)
286 WRITE(mstu(11),*)
' SER = ',rmss(7),rmss(14)
303 IF(imssm.EQ.2.AND.
mstp(122).GT.0)
THEN
304 WRITE(mstu(11),*)
'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'
305 WRITE(mstu(11),*)
' USING APPROXIMATE SUGRA RELATIONS '
306 WRITE(mstu(11),*)
' M0 = ',rmss(8)
307 WRITE(mstu(11),*)
' M1/2=',rmss(1)
308 WRITE(mstu(11),*)
' TANB=',rmss(5)
309 WRITE(mstu(11),*)
' MU = ',rmss(4)
310 WRITE(mstu(11),*)
' AT = ',rmss(16)
311 WRITE(mstu(11),*)
' MA = ',rmss(19)
312 WRITE(mstu(11),*)
' MTOP=',pmas(6,1)
313 WRITE(mstu(11),*)
'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'
315 IF(imss(20).EQ.1)
THEN
316 WRITE(mstu(11),*)
'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'
317 WRITE(mstu(11),*)
' DEBUG MODE '
318 WRITE(mstu(11),*)
' UMIX = ',umix(1,1),umix(1,2),
319 & umix(2,1),umix(2,2)
320 WRITE(mstu(11),*)
' UMIXI = ',umixi(1,1),umixi(1,2),
321 & umixi(2,1),umixi(2,2)
322 WRITE(mstu(11),*)
' VMIX = ',vmix(1,1),vmix(1,2),
323 & vmix(2,1),vmix(2,2)
324 WRITE(mstu(11),*)
' VMIXI = ',vmixi(1,1),vmixi(1,2),
325 & vmixi(2,1),vmixi(2,2)
326 WRITE(mstu(11),*)
' ZMIX = ',(zmix(1,
i),
i=1,4)
327 WRITE(mstu(11),*)
' ZMIXI = ',(zmixi(1,
i),
i=1,4)
328 WRITE(mstu(11),*)
' ZMIX = ',(zmix(2,
i),
i=1,4)
329 WRITE(mstu(11),*)
' ZMIXI = ',(zmixi(2,
i),
i=1,4)
330 WRITE(mstu(11),*)
' ZMIX = ',(zmix(3,
i),
i=1,4)
331 WRITE(mstu(11),*)
' ZMIXI = ',(zmixi(3,
i),
i=1,4)
332 WRITE(mstu(11),*)
' ZMIX = ',(zmix(4,
i),
i=1,4)
333 WRITE(mstu(11),*)
' ZMIXI = ',(zmixi(4,
i),
i=1,4)
334 WRITE(mstu(11),*)
' ALFA = ',alfa
335 WRITE(mstu(11),*)
' BETA = ',
beta
336 WRITE(mstu(11),*)
' STOP = ',(sfmix(6,
i),
i=1,4)
337 WRITE(mstu(11),*)
' SBOT = ',(sfmix(5,
i),
i=1,4)
338 WRITE(mstu(11),*)
'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'
382 IF(imss(4).GE.2)
THEN
383 paru(176)=cos(2d0*al)*cos(be+al)-2d0*sin(2d0*al)*sin(be+al)
385 hhh(3)=hhh(3)+hhh(4)+hhh(5)
386 paru(176)=-3d0/hhh(1)*(hhh(1)*sina**2*cosb*cosa+
387 1 hhh(2)*cosa**2*sinb*sina+hhh(3)*(sina**3*sinb+cosa**3*cosb-
388 2 2d0/3d0*cbma)-hhh(6)*sina*(cosb*c2a+cosa*capb)+
389 3 hhh(7)*cosa*(sinb*c2a+sina*capb))
393 IF(imss(4).GE.2)
THEN
394 paru(168)=-sbma-cos(2d0*be)*sapb/2d0/(1d0-xw)
396 paru(168)=1d0/hhh(1)*(hhh(1)*sinb**2*cosb*sina-
397 1 hhh(2)*cosb**2*sinb*cosa-hhh(3)*(sinb**3*cosa-cosb**3*sina)+
398 2 2d0*hhh(5)*sbma-hhh(6)*sinb*(cosb*sapb+sina*c2b)-
399 3 hhh(7)*cosb*(cosa*c2b-sinb*sapb)-(hhh(5)-hhh(4))*sbma)
402 IF(imss(4).GE.2)
THEN
403 paru(177)=cos(2d0*be)*cos(be+al)
405 paru(177)=-1d0/hhh(1)*(hhh(1)*sinb**2*cosb*cosa+
406 1 hhh(2)*cosb**2*sinb*sina+hhh(3)*(sinb**3*sina+cosb**3*cosa)-
407 2 2d0*hhh(5)*cbma-hhh(6)*sinb*(cosb*capb+cosa*c2b)+
408 3 hhh(7)*cosb*(sinb*capb+sina*c2b))
411 IF(imss(4).GE.2)
THEN
414 paru(178)=paru(177)-(hhh(5)-hhh(4))/hhh(1)*cbma
420 paru(182)=1d0/paru(181)
442 IF ((imss(51).NE.3).AND.(imss(51).NE.0))
THEN
449 rvlam(iri,irj,irk)=rmss(51)
450 IF (imss(51).EQ.2) rvlam(iri,irj,irk)=rmss(51)*
451 & sqrt(pmas(9+2*iri,1)*pmas(9+2*irj,1)*
452 & pmas(9+2*irk,1)*vir3)
454 rvlam(iri,irj,irk)=-rvlam(irj,iri,irk)
457 rvlam(iri,irj,irk)=0d0
464 IF ((imss(52).NE.3).AND.(imss(52).NE.0))
THEN
469 rvlamp(iri,irj,irk)=rmss(52)
470 IF (imss(52).EQ.2) rvlamp(iri,irj,irk)=rmss(52)*
471 & sqrt(pmas(9+2*iri,1)*0.5d0*(pmas(2*irj,1)+
472 & pmas(2*irj-1,1))*pmas(2*irk-1,1)*vir3)
478 IF ((imss(53).NE.3).AND.(imss(53).NE.0))
THEN
485 rvlamb(iri,irj,irk)=rmss(53)
486 IF (imss(53).EQ.2) rvlamb(iri,irj,irk)=
487 & rmss(53)*sqrt(pmas(2*iri,1)*pmas(2*irj-1,1)*
488 & pmas(2*irk-1,1)*vir3)
490 rvlamb(iri,irj,irk)=-rvlamb(iri,irk,irj)
493 rvlamb(iri,irj,irk) = 0d0
501 IF (imss(51).EQ.3.OR.imss(53).EQ.3)
THEN
505 IF (rvlam(iri,irj,irk).NE.-rvlam(irj,iri,irk))
THEN
506 rvlam(irj,iri,irk)=-rvlam(iri,irj,irk)
507 IF (iri.EQ.irj) rvlam(iri,irj,irk)=0d0
509 IF (rvlamb(iri,irj,irk).NE.-rvlamb(iri,irk,irj))
THEN
510 rvlamb(iri,irk,irj)=-rvlamb(iri,irj,irk)
511 IF (irj.EQ.irk) rvlamb(iri,irj,irk)=0d0
519 IF (imss(23).NE.0)
THEN
528 IF( imss(11) .NE. 0 )
THEN
529 pmas(kc,1)=rmss(21)/1d9
532 WRITE(mstu(11),*)
' ALLOWING DECAYS TO GRAVITINOS '
533 ELSE IF (imss(51).GE.1.OR.imss(52).GE.1.OR.imss(53).GE.1)
THEN
535 IF (imss(51).GE.1)
WRITE(mstu(11),*)
536 &
' ALLOWING SUSY LLE DECAYS'
537 IF (imss(52).GE.1)
WRITE(mstu(11),*)
538 &
' ALLOWING SUSY LQD DECAYS'
539 IF (imss(53).GE.1)
WRITE(mstu(11),*)
540 &
' ALLOWING SUSY UDD DECAYS'
541 IF (imss(53).GE.1.AND.imss(52).GE.1)
WRITE(mstu(11),*)
542 &
' --- Warning: R-Violating couplings possibly',
543 &
' incompatible with proton decay'
550 pmchi1=pmas(
pycomp(ksusy1+22),1)
556 IF(kf.EQ.1000039) goto 300
558 IF(pmas(kc,1).LT.pmlsp)
THEN
564 IF (
i.GT.39.AND.imss(13).NE.1) goto 370
566 IF (kf.EQ.0) goto 370
572 IF (imss(22).NE.0)
THEN
575 IF (imss(1).NE.11.AND.imss(21).NE.0) CALL
pyslha(5,kf,ifail)
579 IF (ifail.EQ.0.OR.kf.EQ.6.OR.kf.EQ.24) goto 370
580 ELSEIF (
i.GE.37)
THEN
587 IF((
i.EQ.15.OR.
i.EQ.19.OR.
i.EQ.23).AND.
588 & pmas(kc,1).LT.pmchi1)
THEN
590 CALL
pysfdc(kf,xlam,idlam,lknt)
595 CALL
pyglui(kf,xlam,idlam,lknt)
596 IF(
i.EQ.ilsp.AND.irprty.EQ.1) lknt=0
599 ELSEIF(
i.GE.26.AND.
i.LE.29)
THEN
600 CALL
pynjdc(kf,xlam,idlam,lknt)
602 IF(
i.EQ.26.AND.irprty.EQ.1)
THEN
609 ELSEIF(
i.GE.30.AND.
i.LE.31)
THEN
610 CALL
pycjdc(kf,xlam,idlam,lknt)
618 ELSEIF(
i.GE.33.AND.
i.LE.36)
THEN
620 CALL
pywidt(kf,pmas(kc,1)**2,wdtp,wdte)
625 DO 330
i1=1,mdcy(kc,3)
627 IF(iabs(kfdp(
k1,1)).GT.ksusy1.OR.
628 & iabs(kfdp(
k1,2)).GT.ksusy1) goto 330
630 xlam(0)=xlam(0)+xlam(
i1)
632 idlam(
i1,j1)=kfdp(
k1,j1)
637 CALL
pyhext(kf,xlam,idlam,lknt)
641 DO 340 idc=mdcy(kc,2),mdcy(kc,2)+mdcy(kc,3)-1
655 idc=mdcy(kc,2)+mdcy(kc,3)-1
661 IF(idc.EQ.mdcy(kc,2)+mdcy(kc,3)) idc=mdcy(kc,2)
662 IF(idlam(il,1).EQ.kfdp(idc,1).AND.idlam(il,2).EQ.
663 & kfdp(idc,2).AND.idlam(il,3).EQ.kfdp(idc,3))
THEN
664 brat(idc)=xlam(il)/xlam(0)
666 IF(mdme(idc,1).GE.1)
THEN
667 xmdif=xmdif-pmas(
pycomp(kfdp(idc,1)),1)-
668 & pmas(
pycomp(kfdp(idc,2)),1)
669 IF(kfdp(idc,3).NE.0) xmdif=xmdif-
670 & pmas(
pycomp(kfdp(idc,3)),1)
673 IF(xmdif.GE.0d0)
THEN
676 WRITE(mstu(11),*)
' ERROR WITH DELM ',delm,xmdif
677 WRITE(mstu(11),*)
' KF = ',kf
678 WRITE(mstu(11),*)
' KF(decay) = ',(kfdp(idc,
j),
j=1,3)
682 ELSEIF(idc.EQ.idcsv)
THEN
683 WRITE(mstu(11),*)
' Error in PYMSIN: SUSY decay ',
684 &
'channel not recognized:'
685 WRITE(mstu(11),*) kf,
' -> ',(idlam(il,
j),
j=1,3)
694 IF(pmas(kc,2).LT.0.1d0*delm)
THEN
695 pmas(kc,3)=pmas(kc,2)*10d0
697 pmas(kc,3)=0.95d0*delm
699 IF(pmas(kc,2).NE.0d0)
THEN
700 pmas(kc,4)=paru(3)/pmas(kc,2)*1d-12
703 IF (imss(24).NE.0)
THEN