12 SUBROUTINE pyslha(MUPDA,KFORIG,IRETRN)
15 IMPLICIT DOUBLE PRECISION(a-
h, o-
z)
18 parameter(ksusy1=1000000,ksusy2=2000000,ktechn=3000000,
19 &kexcit=4000000,kdimen=5000000)
21 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
22 common/
pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
23 common/
pydat3/mdcy(500,3),mdme(8000,2),brat(8000),kfdp(8000,5)
27 common/
pyint4/mwid(500),wids(500,5)
30 common/
pymssm/imss(0:99),rmss(0:99)
31 common/
pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
32 &sfmix(16,4),zmixi(4,4),umixi(2,2),vmixi(2,2)
33 common/pymsrv/rvlam(3,3,3), rvlamp(3,3,3), rvlamb(3,3,3)
37 common/pylh3p/modsel(200),parmin(100),parext(200),rmsoft(0:100),
38 & au(3,3),ad(3,3),ae(3,3)
39 common/pylh3c/cpro(2),cver(2)
40 SAVE /pylh3p/,/pylh3c/
41 dimension mmod(100),mspc(100),mdec(100)
49 CHARACTER cpro*12,cver*12,chnlin*6
50 CHARACTER doc*11, chdum*120, chblck*60
51 CHARACTER chinl*120,chkf*9,chtmp*16
55 parameter(doc=
'05 Mar 2007')
58 dimension idc(5),kfsusy(50),mqread(0:100)
63 &1000001,1000002,1000003,1000004,1000005,1000006,
64 &2000001,2000002,2000003,2000004,2000005,2000006,
65 &1000011,1000012,1000013,1000014,1000015,1000016,
66 &2000011,2000012,2000013,2000014,2000015,2000016,
67 &1000021,1000022,1000023,1000025,1000035,1000024,
68 &1000037,1000039, 25, 35, 36, 37,
69 & 6, 24, 45, 46,1000045, 9*0/
70 rmfun(ip)=pmas(
pycomp(ip),1)
74 WRITE(mstu(11),5000) doc
81 IF (mupda.EQ.5) lfn=imss(21)
82 IF (mupda.EQ.0) lfn=imss(21)
88 WRITE(mstu(11),*)
'* (PYSLHA:) No valid unit given in IMSS'
116 IF (
j.LE.2.AND.l.LE.2)
THEN
125 IF (
j.LE.2) smw(
j)=0d0
129 &
'* (PYSLHA:) Reading in SLHA spectrum from unit ', lfn
132 ELSEIF (mupda.EQ.2)
THEN
137 IF(kc.GT.100.AND.kchg(kc,4).GT.100) kcc=kc
138 ndc=
max(ndc,mdcy(kc,2)+mdcy(kc,3)-1)
140 ELSEIF (mupda.EQ.5)
THEN
149 IF(mupda.EQ.0.OR.mupda.EQ.1.OR.mupda.EQ.2.OR.mupda.EQ.5)
THEN
151 IF(mupda.EQ.1.OR.mupda.EQ.2)
THEN
162 READ(lfn,
'(A120)',
end=300) chinl
165 WRITE(chnlin,
'(I6)') nline
168 IF (chinl(1:1).EQ.
'#'.OR.chinl.EQ.
' ') goto 160
174 IF (chinl(inl:inl).NE.
'#')
THEN
176 IF (char(ich).EQ.chinl(inl:inl)) chinl(inl:inl)=char(ich-32)
181 IF (char(ich).EQ.chinl(inl:inl)) igood=1
184 IF (inl.LT.120) goto 170
186 IF (igood.EQ.0) goto 160
189 IF (chinl(1:1).EQ.
'B')
THEN
191 READ(chinl,
'(A6,A)',err=460) chdum,chblck
195 IF (chblck(1:6).EQ.
'MODSEL'.AND.mmod(1).NE.0) merr=7
196 IF (chblck(1:6).EQ.
'MINPAR'.AND.mmod(2).NE.0) merr=7
197 IF (chblck(1:6).EQ.
'EXTPAR'.AND.mmod(3).NE.0) merr=7
198 IF (chblck(1:8).EQ.
'SMINPUTS'.AND.mmod(4).NE.0) merr=7
199 IF (chblck(1:4).EQ.
'MASS'.AND.mspc(1).NE.0) merr=7
200 IF (chblck(1:4).EQ.
'NMIX'.AND.mspc(2).NE.0) merr=7
201 IF (chblck(1:4).EQ.
'UMIX'.AND.mspc(3).NE.0) merr=7
202 IF (chblck(1:4).EQ.
'VMIX'.AND.mspc(4).NE.0) merr=7
203 IF (chblck(1:7).EQ.
'SBOTMIX'.AND.mspc(5).NE.0) merr=7
204 IF (chblck(1:7).EQ.
'STOPMIX'.AND.mspc(6).NE.0) merr=7
205 IF (chblck(1:7).EQ.
'STAUMIX'.AND.mspc(7).NE.0) merr=7
206 IF (chblck(1:4).EQ.
'HMIX'.AND.mspc(8).NE.0) merr=7
207 IF (chblck(1:5).EQ.
'ALPHA'.AND.mspc(17).NE.0) merr=7
208 IF (chblck(1:5).EQ.
'AU'.AND.mspc(10).NE.0) merr=7
209 IF (chblck(1:5).EQ.
'AD'.AND.mspc(11).NE.0) merr=7
210 IF (chblck(1:5).EQ.
'AE'.AND.mspc(12).NE.0) merr=7
211 IF (chblck(1:5).EQ.
'MSOFT'.AND.mspc(18).NE.0) merr=7
213 IF (chblck(1:8).EQ.
'QNUMBERS'.OR.chblck(1:8).EQ.
'PARTICLE')
217 READ(chblck(9:60),*) kfq
219 DO 121 mq=1,mqread(0)
220 IF (mqread(mq).EQ.kfq)
THEN
225 WRITE(mstu(11),
'(A,I9,A,F12.3)')
226 &
' * (PYSLHA:) Reading in '//chblck(1:8)//
228 mqread(0)=mqread(0)+1
229 mqread(mqread(0))=kfq
233 DO 123 kct=100,mstu(6)
234 IF(kchg(kct,4).GT.100) kcq=kct
244 IF (chblck(icmt:icmt).NE.
'#'.AND.icmt.LT.59) goto 90
246 READ(chblck(icmt+1:60),
'(A)',err=95) chdum
247 IF (chdum.NE.
' ') chtmp=chdum
249 95
IF (chtmp(1:1).EQ.
' ')
THEN
250 READ(chtmp,
'(1x,A)') chaf(kcq,1)
252 READ(chtmp,
'(A)') chaf(kcq,1)
263 &
'* (PYSLHA:) KF =',kfq,
' already exists: ',
264 & chaf(kcq,1),
'. Entry ignored.'
271 ELSEIF (chinl(1:1).EQ.
'D')
THEN
277 READ(chinl(7:inl),*,err=470) kf,
width
283 IF (kf.NE.kforig.OR.mupda.NE.2)
THEN
295 IF(kchg(kcr,4).EQ.kf) kcrep=kcr
309 IF (
width.LE.0d0)
THEN
312 &
'* (PYSLHA:) Reading in SLHA stable particle: ',
314 IF (
width.LT.0d0)
THEN
315 CALL
pyerrm(19,
'(PYSLHA:) Negative width forced to'//
331 ELSEIF (mod(merr,10).GE.6)
THEN
337 IF (mupda.EQ.0.AND.merr.EQ.0)
THEN
338 IF (chblck(1:8).EQ.
'QNUMBERS'.OR.chblck(1:8).EQ.
'PARTICLE')
340 READ(chinl,*) indx, ival
341 IF (indx.EQ.1) kchg(kcq,1)=ival
342 IF (indx.EQ.3) kchg(kcq,2)=0
343 IF (indx.EQ.3.AND.ival.EQ.3) kchg(kcq,2)=1
344 IF (indx.EQ.3.AND.ival.EQ.-3) kchg(kcq,2)=-1
345 IF (indx.EQ.3.AND.ival.EQ.8) kchg(kcq,2)=2
350 IF (chtmp.EQ.
' ')
THEN
351 WRITE(chaf(kcq,1),*) kchg(kcq,4)
352 WRITE(chaf(kcq,2),*) -kchg(kcq,4)
356 IF (chtmp(ilast:ilast).EQ.
' ') goto 116
357 IF (chtmp(ilast:ilast).EQ.
'+')
THEN
358 chtmp(ilast:ilast)=
'-'
360 chtmp(ilast+1:min(16,ilast+4))=
'bar'
369 ELSEIF ((mupda.EQ.1.OR.mupda.EQ.5).AND.merr.EQ.0)
THEN
371 IF (chblck(1:4).EQ.
'MASS')
THEN
372 READ(chinl,*) kf, val
375 IF (mupda.EQ.1.OR.kf.EQ.kforig)
THEN
381 pmas(kc,1) = abs(val)
383 WRITE(mstu(11),
'(A,I9,A,F12.3)')
384 &
' * (PYSLHA:) Reading in MASS entry for KF =',
385 & kf,
', pole mass =', val
389 IF (kf.EQ.1000021.AND.mspc(18).EQ.0) rmss(3)=val
390 IF (kf.EQ.1000022) smz(1)=val
391 IF (kf.EQ.1000023) smz(2)=val
392 IF (kf.EQ.1000025) smz(3)=val
393 IF (kf.EQ.1000035) smz(4)=val
394 IF (kf.EQ.1000024) smw(1)=val
395 IF (kf.EQ.1000037) smw(2)=val
397 ELSEIF (mupda.EQ.5)
THEN
400 ELSEIF (mupda.EQ.5)
THEN
403 ELSEIF (chblck(1:8).EQ.
'QNUMBERS'.OR.
404 & chblck(1:8).EQ.
'PARTICLE')
THEN
408 ELSEIF (chblck(1:6).EQ.
'MODSEL')
THEN
409 READ(chinl,*) indx, ival
410 IF (indx.LE.200.AND.indx.GT.0)
THEN
413 IF (indx.EQ.3.AND.ival.EQ.1)
THEN
415 WRITE(mstu(11),*)
'* (PYSLHA:) switching on NMSSM'
416 imss(13)=
max(1,imss(13))
447 DO 234 kct=100,mstu(6)
448 IF(kchg(kct,4).GT.100) kcn=kct
460 chaf(kcn,1)=
'~chi_50'
467 ELSEIF (chblck(1:6).EQ.
'MINPAR')
THEN
468 IF (modsel(1).NE.0)
THEN
469 READ(chinl,*) indx, val
470 IF (indx.LE.100.AND.indx.GT.0)
THEN
476 ELSEIF (mmod(3).NE.0)
THEN
478 &
'* (PYSLHA:) MINPAR after EXTPAR !'
482 &
'* (PYSLHA:) Reading MINPAR, but no MODSEL !'
486 IF (indx.EQ.3) rmss(5)=val
488 ELSEIF (chblck(1:6).EQ.
'EXTPAR')
THEN
489 IF (mmod(1).NE.0)
THEN
490 READ(chinl,*) indx, val
491 IF (indx.LE.200.AND.indx.GT.0)
THEN
499 &
'* (PYSLHA:) Reading EXTPAR, but no MODSEL !'
503 IF (indx.EQ.25) rmss(5)=val
504 ELSEIF (chblck(1:8).EQ.
'SMINPUTS')
THEN
505 READ(chinl,*) indx, val
506 IF (indx.LE.3.OR.indx.EQ.5.OR.indx.GE.7)
THEN
508 ELSEIF (indx.EQ.4)
THEN
510 ELSEIF (indx.EQ.6)
THEN
513 ELSEIF (chblck(1:4).EQ.
'NMIX'.OR.chblck(1:4).EQ.
'VMIX'.or
514 $ .chblck(1:4).EQ.
'UMIX'.OR.chblck(1:7).EQ.
'STOPMIX'.or
515 $ .chblck(1:7).EQ.
'SBOTMIX'.OR.chblck(1:7).EQ.
'STAUMIX')
519 IF (chblck(5:6).EQ.
'IM') im=1
520 250
READ(chinl,*) indx1, indx2, val
521 IF (chblck(1:1).EQ.
'N'.AND.indx1.LE.4.AND.indx2.LE.4)
THEN
522 IF (im.EQ.0) zmix(indx1,indx2) = val
523 IF (im.EQ.1) zmixi(indx1,indx2)= val
525 ELSEIF (chblck(1:1).EQ.
'U')
THEN
526 IF (im.EQ.0) umix(indx1,indx2) = val
527 IF (im.EQ.1) umixi(indx1,indx2)= val
529 ELSEIF (chblck(1:1).EQ.
'V')
THEN
530 IF (im.EQ.0) vmix(indx1,indx2) = val
531 IF (im.EQ.1) vmixi(indx1,indx2)= val
533 ELSEIF (chblck(1:4).EQ.
'STOP'.OR.chblck(1:4).EQ.
'SBOT'.or
534 $ .chblck(1:4).EQ.
'STAU')
THEN
535 IF (chblck(1:4).EQ.
'STOP')
THEN
538 ELSEIF (chblck(1:4).EQ.
'SBOT')
THEN
541 ELSEIF (chblck(1:4).EQ.
'STAU')
THEN
546 sfmix(kfsm,2*(indx1-1)+indx2)=val
547 mspc(ispc)=mspc(ispc)+1
550 ELSEIF (chblck(1:4).EQ.
'HMIX')
THEN
551 READ(chblck(8:25),*,err=510)
q
552 READ(chinl,*) indx, val
560 ELSEIF (chblck(1:5).EQ.
'ALPHA')
THEN
561 READ(chinl,*,err=520) val
565 imss(4)=
max(2,imss(4))
566 ELSEIF (chblck(1:2).EQ.
'AU'.OR.chblck(1:2).EQ.
'AD'.or
567 & .chblck(1:2).EQ.
'AE')
THEN
568 READ(chblck(9:26),*,err=510)
q
569 READ(chinl,*) indx1, indx2, val
570 IF (chblck(2:2).EQ.
'U')
THEN
572 IF (indx1.EQ.3.AND.indx2.EQ.3) rmss(16)=val
574 ELSEIF (chblck(2:2).EQ.
'D')
THEN
576 IF (indx1.EQ.3.AND.indx2.EQ.3) rmss(15)=val
578 ELSEIF (chblck(2:2).EQ.
'E')
THEN
580 IF (indx1.EQ.3.AND.indx2.EQ.3) rmss(17)=val
585 ELSEIF (chblck(1:5).EQ.
'MSOFT')
THEN
586 IF (mspc(18).EQ.0)
THEN
587 READ(chblck(9:25),*,err=510)
q
590 READ(chinl,*) indx, val
593 ELSEIF (chblck(1:5).EQ.
'GAUGE')
THEN
595 ELSEIF (chblck(1:2).EQ.
'YU'.OR.chblck(1:2).EQ.
'YD'.or
596 & .chblck(1:2).EQ.
'YE')
THEN
598 ELSEIF (chblck(1:6).EQ.
'SPINFO')
THEN
599 READ(chinl(1:6),*) indx
603 IF (chinl(
it:
it).EQ.
' ') goto 260
605 IF (chinl(
it:
it).EQ.char(indx+48).AND.mird.EQ.0)
THEN
609 IF (indx.EQ.1) cpro(1)=chinl(
it:
it+12)
610 IF (indx.EQ.2) cver(1)=chinl(
it:
it+12)
618 ELSEIF (mupda.EQ.2.AND.merr.EQ.0)
THEN
620 IF(chinl(1:1).EQ.
' '.AND.chblck(1:5).EQ.
'DECAY')
THEN
623 READ(chinl(4:50),*,err=480) brat(ndc)
624 READ(chinl(4:50),*,err=490) dum, nda
626 IF(ndc.GT.mstu(7)) CALL
pyerrm(27,
627 &
'(PYSLHA:) Decay data arrays full by KF ='
630 IF(brsum.LE.0d0.AND.brat(ndc).NE.0d0)
THEN
632 &
'* (PYSLHA:) Reading in SLHA decay table for ',
636 IF (kf.EQ.25.OR.kf.EQ.35.OR.kf.EQ.36)
THEN
638 &
'* Note: the Pythia gg->h/H/A cross section'//
639 &
' is proportional to the h/H/A->gg width'
642 pmas(kc,4)=paru(3)*1d-12/
width
651 mdcy(kc,3)=mdcy(kc,3)+1
653 READ(chinl(4:120),*,err=500) dum,idm, (idc(ida),ida=1,nda)
656 IF (kchg(
pycomp(idc(ida)),3).NE.0)
657 & idc(ida)=mpsign*idc(ida)
661 IF (brat(ndc).LE.0d0) mdme(ndc,1)=0
662 brsum=brsum+abs(brat(ndc))
663 brat(ndc)=abs(brat(ndc))
666 IF (iabs(idc(ida+1)).GT.iabs(idc(ida)))
THEN
673 IF (iflip.GT.0) goto 274
679 kfdp(ndc,ida)=idc(ida)
685 CALL
pyerrm(7,
'(PYSLHA:) Too many daughters on line '//
690 ELSEIF(chinl(1:1).EQ.
'+')
THEN
692 ELSEIF(chblck(1:6).EQ.
'DCINFO')
THEN
699 290
IF (mod(merr,10).EQ.1.AND.(mupda.EQ.1.OR.mupda.EQ.2))
THEN
700 WRITE(mstu(11),*)
'* (PYSLHA:) Ignoring line '//chnlin//
': '
703 ELSEIF (merr.EQ.6.AND.mupda.EQ.1)
THEN
704 WRITE(mstu(11),*)
'* (PYSLHA:) Ignoring BLOCK '//
705 & chblck(1:inl)//
'... on line'//chnlin
706 ELSEIF (merr.EQ.8.AND.mupda.EQ.1)
THEN
707 WRITE(mstu(11),*)
'* (PYSLHA:) PYTHIA will not use BLOCK '
708 & //chblck(1:inl)//
'... on line'//chnlin
709 ELSEIF (merr.EQ.16.AND.mupda.EQ.2.AND.imss(21).EQ.0.AND.
710 & chblck(1:1).NE.
'D'.AND.verbos.EQ.1)
THEN
711 WRITE(mstu(11),*)
'* (PYSLHA:) Ignoring BLOCK '//chblck(1:inl)
712 & //
'... on line'//chnlin
713 ELSEIF (merr.EQ.7.AND.mupda.EQ.1)
THEN
714 WRITE(mstu(11),*)
'* (PYSLHA:) Ignoring extra BLOCK '/
715 & /chblck(1:inl)//
'... on line'//chnlin
716 ELSEIF (merr.EQ.2.AND.mupda.EQ.1)
THEN
719 &
'* (PYSLHA:) Ignoring extra MASS entry for KF='//
720 & chtmp(1:9)//
' on line'//chnlin
734 IF (abs(pmas(
pycomp(23),1)-91.2d0).GT.1d0)
THEN
735 WRITE(chtmp,*) pmas(
pycomp(23),1)
736 CALL
pyerrm(19,
'(PYSLHA:) note Z boson mass, M ='//chtmp)
738 IF (abs(pmas(
pycomp(6),1)-175d0).GT.25d0)
THEN
739 WRITE(chtmp,*) pmas(
pycomp(6),1)
740 CALL
pyerrm(19,
'(PYSLHA:) note top quark mass, M ='
747 IF (kf.EQ.ksusy2+12.OR.kf.EQ.ksusy2+14.OR.kf.EQ.ksusy2
750 IF (modsel(1).NE.2.AND.kf.EQ.ksusy1+39) goto 310
752 IF (pmas(kc,1).EQ.0d0)
THEN
755 & ,
'(PYSLHA:) No mass information found for KF = '
760 IF (imss(13).EQ.0)
THEN
761 IF (mspc(2).NE.16.AND.mspc(2).NE.32) CALL
pyerrm(9
762 & ,
'(PYSLHA:) Inconsistent # of elements in NMIX')
763 IF (mspc(3).NE.4.AND.mspc(3).NE.8) CALL
pyerrm(9
764 & ,
'(PYSLHA:) Inconsistent # of elements in UMIX')
765 IF (mspc(4).NE.4.AND.mspc(4).NE.8) CALL
pyerrm(9
766 & ,
'(PYSLHA:) Inconsistent # of elements in VMIX')
767 IF (mspc(5).NE.4) CALL
pyerrm(9
768 & ,
'(PYSLHA:) Inconsistent # of elements in SBOTMIX')
769 IF (mspc(6).NE.4) CALL
pyerrm(9
770 & ,
'(PYSLHA:) Inconsistent # of elements in STOPMIX')
771 IF (mspc(7).NE.4) CALL
pyerrm(9
772 & ,
'(PYSLHA:) Inconsistent # of elements in STAUMIX')
773 IF (mspc(8).LT.1) CALL
pyerrm(9
774 & ,
'(PYSLHA:) Too few elements in HMIX')
775 IF (mspc(10).EQ.0) CALL
pyerrm(9
776 & ,
'(PYSLHA:) Missing A_b trilinear coupling')
777 IF (mspc(11).EQ.0) CALL
pyerrm(9
778 & ,
'(PYSLHA:) Missing A_t trilinear coupling')
779 IF (mspc(12).EQ.0) CALL
pyerrm(9
780 & ,
'(PYSLHA:) Missing A_tau trilinear coupling')
781 IF (mspc(17).LT.1) CALL
pyerrm(9
782 & ,
'(PYSLHA:) Missing Higgs mixing angle alpha')
787 IF (mspc(ispc).EQ.4)
THEN
789 IF (ispc.EQ.7) kfsm=15
790 check=abs(sfmix(kfsm,1)*sfmix(kfsm,4)-sfmix(kfsm,2)
792 IF (abs(1d0-check).GT.1d-3)
THEN
795 & ,
'(PYSLHA:) Non-orthonormal mixing matrix for ~'
811 IF (
j.LE.2.AND.l.LE.2)
THEN
819 IF (mspc(2).EQ.16.AND.(abs(1d0-cn1).GT.1d-3.OR.abs(1d0-cn2)
820 & .GT.1d-3).AND.imss(13).EQ.0)
THEN
822 &
'(PYSLHA:) NMIX: Inconsistent normalization.')
823 WRITE(mstu(11),
'(7x,I2,1x,":",2(1x,F7.4))')
j, cn1, cn2
826 IF (mspc(3).EQ.4.OR.mspc(4).EQ.4.AND.imss(13).EQ.0)
THEN
828 IF (abs(1d0-cu1).GT.1d-3.OR.abs(1d0-cu2).GT.1d-3)
THEN
830 & ,
'(PYSLHA:) UMIX: Inconsistent normalization.')
831 WRITE(mstu(11),
'(7x,I2,1x,":",2(1x,F6.2))')
j, cu1,
834 IF (abs(1d0-cv1).GT.1d-3.OR.abs(1d0-cv2).GT.1d-3)
THEN
836 &
'(PYSLHA:) VMIX: Inconsistent normalization.')
837 WRITE(mstu(11),
'(7x,I2,1x,":",2(1x,F6.2))')
j, cv1,
843 IF (mstu(27).EQ.mstu27.AND.mstu(23).EQ.mstu23)
THEN
844 WRITE(mstu(11),
'(1x,"*"/1x,A/1x,"*")')
845 &
'* PYSLHA: No spectrum inconsistencies were found.'
847 WRITE(mstu(11),
'(1x,"*"/1x,A/1x,"*",A/1x,"*",A/)')
848 &
'* (PYSLHA:) INCONSISTENT SPECTRUM WARNING.'
849 & ,
'Warning: one or more (serious)'//
850 &
' inconsistencies were found in the spectrum!!!'
851 & ,
'Read the error messages above and check your'//
855 IF (imss(4).EQ.3)
THEN
858 IF (mspc(18).EQ.0)
THEN
859 WRITE(mstu(11),
'(1x,"*"/1x,A/)')
860 &
'* (PYSLHA:) BLOCK MSOFT not found in SLHA file.'//
861 &
' Cannot call FeynHiggs.'
864 WRITE(mstu(11),
'(1x,/1x,A/)')
865 &
'* (PYSLHA:) Now calling FeynHiggs.'
867 IF (ierr.NE.0) imss(4)=2
870 ELSEIF (mupda.EQ.2.AND.iretrn.EQ.0)
THEN
874 IF(min(pmas(kc,1),pmas(kc,2),pmas(kc,3),pmas(kc,1)-pmas(kc,3
875 $ ),pmas(kc,4)).LT.0d0.OR.mdcy(kc,3).LT.0.OR.(mdcy(kc,3)
876 $ .EQ.0.AND.mdcy(kc,1).GE.1)) CALL
pyerrm(17
877 $ ,
'(PYSLHA:) Mass/width/life/(# channels) wrong for KF='
881 DO 360 ida=mdcy(kc,2),mdcy(kc,2)+mdcy(kc,3)-1
882 IF(mdme(ida,2).GT.80) goto 360
884 pms=pmas(kc,1)-pmas(kc,3)-parj(64)
888 IF(kp.EQ.0.OR.kp.EQ.81.OR.iabs(kp).EQ.82)
THEN
890 ELSEIF(
pycomp(kp).EQ.0)
THEN
896 IF(mstj(24).GT.0) pms=pms+0.5d0*min(pmas(kpc,2),
900 IF(kq.NE.0) merr=
max(2,merr)
901 IF(mwid(kc).EQ.0.AND.kf.NE.311.AND.pms.LT.0d0)
903 IF(merr.EQ.3) CALL
pyerrm(17,
904 &
'(PYSLHA:) Unknown particle code in decay of KF ='
906 IF(merr.EQ.2) CALL
pyerrm(17,
907 &
'(PYSLHA:) Charge not conserved in decay of KF ='
909 IF(merr.EQ.1) CALL
pyerrm(7,
910 &
'(PYSLHA:) Kinematically unallowed decay of KF ='
912 brsum=brsum+brat(ida)
913 IF (mdme(ida,1).GT.0) bropn=bropn+brat(ida)
916 IF (bropn.LE.0d0)
THEN
918 WRITE(chtmp,8500) bropn
920 & ,
"(PYSLHA:) Effective BR sum for KF="//chkf//
' is '//
921 & chtmp(9:16)//
'. Changed to stable.')
925 ELSEIF (brsum.GT.(1d0+1d-6))
THEN
926 WRITE(chtmp,8500) brsum
928 & ,
"(PYSLHA:) Forced rescaling of BR's for KF="//chkf//
929 &
' ; sum was'//chtmp(9:16)//
'.')
931 DO 370 ida=mdcy(kc,2),mdcy(kc,2)+mdcy(kc,3)-1
932 IF(mdme(ida,2).GT.80) goto 370
933 brat(ida)=fac*brat(ida)
935 ELSEIF (brsum.LT.(1d0-1d-6))
THEN
937 WRITE(chtmp,8500) brsum
939 & ,
"(PYSLHA:) Sum of BR's for KF="//chkf//
' is '//
940 & chtmp(9:16)//
'. Dummy mode will be inserted.')
942 mdcy(kc,3)=mdcy(kc,3)+1
943 ida=mdcy(kc,2)+mdcy(kc,3)-1
956 ELSEIF(mupda.EQ.3)
THEN
958 IF (imss(1).EQ.2.OR.imss(1).EQ.12)
THEN
963 parmin(4)=
sign(1d0,rmss(4))
967 WRITE(lfn,7000)
'SLHA MSSM spectrum'
968 WRITE(lfn,7000)
'Pythia 6.4: T. Sjostrand, S. Mrenna,'
970 WRITE(lfn,7010)
'MODSEL',
'Model selection'
971 WRITE(lfn,7110) 1, modsel(1)
972 WRITE(lfn,7010)
'MINPAR',
'Parameters for minimal model.'
973 IF (modsel(1).EQ.1)
THEN
974 WRITE(lfn,7210) 1, parmin(1),
'm0'
975 WRITE(lfn,7210) 2, parmin(2),
'm12'
976 WRITE(lfn,7210) 3, parmin(3),
'tan(beta)'
977 WRITE(lfn,7210) 4, parmin(4),
'sign(mu)'
978 WRITE(lfn,7210) 5, parmin(5),
'a0'
979 ELSEIF(modsel(2).EQ.2)
THEN
980 WRITE(lfn,7210) 1, parmin(1),
'Lambda'
981 WRITE(lfn,7210) 2, parmin(2),
'M'
982 WRITE(lfn,7210) 3, parmin(3),
'tan(beta)'
983 WRITE(lfn,7210) 4, parmin(4),
'sign(mu)'
984 WRITE(lfn,7210) 5, parmin(5),
'N5'
985 WRITE(lfn,7210) 6, parmin(6),
'c_grav'
988 WRITE(lfn,7010)
'MASS',
'Mass spectrum'
992 IF (kf.EQ.1000039.AND.modsel(1).NE.2) goto 380
994 IF (kfsm.GE.22.AND.kfsm.LE.37)
THEN
995 IF (kfsm.EQ.22)
WRITE(lfn,7220) kf, smz(1), chaf(kc,1)
996 IF (kfsm.EQ.23)
WRITE(lfn,7220) kf, smz(2), chaf(kc,1)
997 IF (kfsm.EQ.25)
WRITE(lfn,7220) kf, smz(3), chaf(kc,1)
998 IF (kfsm.EQ.35)
WRITE(lfn,7220) kf, smz(4), chaf(kc,1)
999 IF (kfsm.EQ.24)
WRITE(lfn,7220) kf, smw(1), chaf(kc,1)
1000 IF (kfsm.EQ.37)
WRITE(lfn,7220) kf, smw(2), chaf(kc,1)
1002 WRITE(lfn,7220) kf, pmas(kc,1), chaf(kc,1)
1006 rmsusy=sqrt(pmas(
pycomp(ksusy1+6),1)*pmas(
pycomp(ksusy2+6),1))
1007 WRITE(lfn,7020)
'HMIX',rmsusy,
'Higgs parameters'
1008 WRITE(lfn,7210) 1, rmss(4),
'mu'
1009 WRITE(lfn,7010)
'ALPHA',
' '
1010 WRITE(lfn,7210) 1, rmss(18),
'alpha'
1011 WRITE(lfn,7020)
'AU',rmsusy
1012 WRITE(lfn,7410) 3, 3, rmss(16),
'A_t'
1013 WRITE(lfn,7020)
'AD',rmsusy
1014 WRITE(lfn,7410) 3, 3, rmss(15),
'A_b'
1015 WRITE(lfn,7020)
'AE',rmsusy
1016 WRITE(lfn,7410) 3, 3, rmss(17),
'A_tau'
1017 WRITE(lfn,7010)
'STOPMIX',
'~t mixing matrix'
1018 WRITE(lfn,7410) 1, 1, sfmix(6,1)
1019 WRITE(lfn,7410) 1, 2, sfmix(6,2)
1020 WRITE(lfn,7410) 2, 1, sfmix(6,3)
1021 WRITE(lfn,7410) 2, 2, sfmix(6,4)
1022 WRITE(lfn,7010)
'SBOTMIX',
'~b mixing matrix'
1023 WRITE(lfn,7410) 1, 1, sfmix(5,1)
1024 WRITE(lfn,7410) 1, 2, sfmix(5,2)
1025 WRITE(lfn,7410) 2, 1, sfmix(5,3)
1026 WRITE(lfn,7410) 2, 2, sfmix(5,4)
1027 WRITE(lfn,7010)
'STAUMIX',
'~tau mixing matrix'
1028 WRITE(lfn,7410) 1, 1, sfmix(15,1)
1029 WRITE(lfn,7410) 1, 2, sfmix(15,2)
1030 WRITE(lfn,7410) 2, 1, sfmix(15,3)
1031 WRITE(lfn,7410) 2, 2, sfmix(15,4)
1032 WRITE(lfn,7010)
'NMIX',
'~chi0 mixing matrix'
1035 WRITE(lfn,7410)
i1,
i2, zmix(
i1,
i2)
1038 WRITE(lfn,7010)
'UMIX',
'~chi^+ U mixing matrix'
1041 WRITE(lfn,7410)
i1,
i2, umix(
i1,
i2)
1044 WRITE(lfn,7010)
'VMIX',
'~chi^+ V mixing matrix'
1047 WRITE(lfn,7410)
i1,
i2, vmix(
i1,
i2)
1050 WRITE(lfn,7010)
'SPINFO'
1051 IF (imss(1).EQ.2)
THEN
1054 ELSEIF (imss(1).EQ.12)
THEN
1057 cver(1)=isaver(1:12)
1059 WRITE(lfn,7310) 1, cpro(1),
'Spectrum Calculator'
1060 WRITE(lfn,7310) 2, cver(1),
'Version number'
1064 IF (mupda.EQ.1.OR.mupda.EQ.3)
THEN
1065 IF (cpro(mod(mupda,2)).NE.
' '.AND.cver(mod(mupda,2)).NE.
' ')
1066 &
WRITE(mstu(11),5030) cpro(1), cver(1)
1067 IF (imss(4).EQ.3)
WRITE(mstu(11),5040)
1068 IF (mupda.EQ.1)
THEN
1069 WRITE(mstu(11),5020) lfn
1071 WRITE(mstu(11),5010) lfn
1074 WRITE(mstu(11),5400)
1075 WRITE(mstu(11),5500)
'Pole masses'
1076 WRITE(mstu(11),5700) (rmfun(ksusy1+ip),ip=1,6)
1077 $ ,(rmfun(ksusy2+ip),ip=1,6)
1078 WRITE(mstu(11),5800) (rmfun(ksusy1+ip),ip=11,16)
1079 $ ,(rmfun(ksusy2+ip),ip=11,16)
1080 IF (imss(13).EQ.0)
THEN
1081 WRITE(mstu(11),5900) rmfun(ksusy1+21),rmfun(ksusy1+22)
1082 $ ,rmfun(ksusy1+23),rmfun(ksusy1+25),rmfun(ksusy1+35),
1083 $ rmfun(ksusy1+24),rmfun(ksusy1+37)
1084 WRITE(mstu(11),6000) chaf(25,1),chaf(35,1),chaf(36,1),
1085 & chaf(37,1),
' ',
' ',
' ',
' ',
1086 & rmfun(25), rmfun(35), rmfun(36), rmfun(37)
1087 ELSEIF (imss(13).EQ.1)
THEN
1096 WRITE(mstu(11),6000) chaf(
pycomp(kf1),1),chaf(
pycomp(kf2),1),
1100 & rmfun(kf1),rmfun(kf2),rmfun(kf3),rmfun(kf4),
1101 & rmfun(kf5),rmfun(kf6),rmfun(kf7),rmfun(kf8)
1102 WRITE(mstu(11),6000) chaf(25,1), chaf(35,1), chaf(45,1),
1103 & chaf(36,1), chaf(46,1), chaf(37,1),
' ',
' ',
1104 & rmfun(25), rmfun(35), rmfun(45), rmfun(36), rmfun(46),
1107 WRITE(mstu(11),5400)
1108 WRITE(mstu(11),5500)
'Mixing structure'
1109 WRITE(mstu(11),6100) ((zmix(
i,
j),
j=1,4),
i=1,4)
1110 WRITE(mstu(11),6200) (umix(1,
j),
j=1,2),(vmix(1,
j),
j=1,2)
1111 & ,(umix(2,
j),
j=1,2),(vmix(2,
j),
j=1,2)
1112 WRITE(mstu(11),6300) (sfmix(5,
j),
j=1,2),(sfmix(6,
j),
j=1,2)
1113 & ,(sfmix(15,
j),
j=1,2),(sfmix(5,
j),
j=3,4),(sfmix(6,
j),
j=3,4
1114 & ),(sfmix(15,
j),
j=3,4)
1115 WRITE(mstu(11),5400)
1116 WRITE(mstu(11),5500)
'Couplings'
1117 WRITE(mstu(11),6400) rmss(15),rmss(16),rmss(17)
1118 WRITE(mstu(11),6450) rmss(18), rmss(5), rmss(4)
1119 WRITE(mstu(11),5400)
1120 WRITE(mstu(11),6500)
1125 IF (mupda.LE.2.OR.mupda.EQ.5)
rewind(lfn)
1130 460
write(*,*)
'* (PYSLHA:) read BLOCK error on line',nline
1131 write(*,*) chinl(1:80)
1133 470
WRITE(*,*)
'* (PYSLHA:) read DECAY error on line',nline
1134 WRITE(*,*) chinl(1:72)
1136 480
WRITE(*,*)
'* (PYSLHA:) read BR error on line',nline
1137 WRITE(*,*) chinl(1:80)
1139 490
WRITE(*,*)
'* (PYSLHA:) read NDA error on line',nline
1140 WRITE(*,*) chinl(1:80)
1142 500
WRITE(*,*)
'* (PYSLHA:) decay daughter read error on line',nline
1143 WRITE(*,*) chinl(1:80)
1144 510
WRITE(*,*)
'* (PYSLHA:) read Q error in BLOCK ',chblck
1146 520
WRITE(*,*)
'* (PYSLHA:) read error in line ',nline,
':'
1147 WRITE(*,*) chinl(1:80)
1154 5000
FORMAT(1
x,15(
'*'),1
x,
'PYSLHA v1.09: SUSY/BSM SPECTRUM '
1155 & ,
'INTERFACE',1
x,15(
'*')/1
x,
'*',2
x
1156 & ,
'PYSLHA: Last Change',1
x,a,1
x,
'-',1
x,
'P.Z. Skands')
1157 5010
FORMAT(1
x,
'*',3
x,
'Wrote spectrum file on unit: ',
i3)
1158 5020
FORMAT(1
x,
'*',3
x,
'Read spectrum file on unit: ',
i3)
1159 5030
FORMAT(1
x,
'*',3
x,
'Spectrum Calculator was: ',a,
' version ',a)
1160 5040
FORMAT(1
x,
'*',3
x,
'Higgs sector corrected with FeynHiggs')
1161 5100
FORMAT(1
x,
'*',1
x,
'Model parameters:'/1
x,
'*',1
x,
'----------------')
1162 5200
FORMAT(1
x,
'*',1
x,3
x,
'M_0',6
x,
'M_1/2',5
x,
'A_0',3
x,
'Tan(beta)',
1163 & 3
x,
'Sgn(mu)',3
x,
'M_t'/1
x,
'*',1
x,4(f8.2,1
x),i8,2
x,f8.2)
1164 5300
FORMAT(1
x,
'*'/1
x,
'*',1
x,
'Model spectrum :'/1
x,
'*',1
x
1165 & ,
'----------------')
1166 5400
FORMAT(1
x,
'*',1
x,a)
1167 5500
FORMAT(1
x,
'*',1
x,a,
':')
1168 5600
FORMAT(1
x,
'*',2
x,2
x,
'M_GUT',2
x,2
x,
'g_GUT',2
x,1
x,
'alpha_GUT'/
1169 & 1
x,
'*',2
x,1
p,2(1
x,e8.2),2
x,e8.2)
1170 5700
FORMAT(1
x,
'*',4
x,4
x,
'~d',2
x,1
x,4
x,
'~u',2
x,1
x,4
x,
'~s',2
x,1
x,
1171 & 4
x,
'~c',2
x,1
x,1
x,
'~b(12)',1
x,1
x,1
x,
'~t(12)'/1
x,
'*',2
x,
'L',1
x
1172 & ,6(f8.2,1
x)/1
x,
'*',2
x,
'R',1
x,6(f8.2,1
x))
1173 5800
FORMAT(1
x,
'*'/1
x,
'*',4
x,4
x,
'~e',2
x,1
x,2
x,
'~nu_e',2
x,1
x,3
x,
'~mu',2
x
1174 & ,1
x,1
x,
'~nu_mu',1
x,1
x,
'~tau(12)',1
x,1
x,
'~nu_tau'/1
x,
'*',2
x
1175 & ,
'L',1
x,6(f8.2,1
x)/1
x,
'*',2
x,
'R',1
x,6(f8.2,1
x))
1176 5900
FORMAT(1
x,
'*'/1
x,
'*',4
x,4
x,
'~g',2
x,1
x,1
x,
'~chi_10',1
x,1
x,
'~chi_20'
1177 & ,1
x,1
x,
'~chi_30',1
x,1
x,
'~chi_40',1
x,1
x,
'~chi_1+',1
x
1178 & ,1
x,
'~chi_2+'/1
x,
'*',3
x,1
x,7(f8.2,1
x))
1179 6000
FORMAT(1
x,
'*'/1
x,
'*',3
x,1
x,8(1
x,a7,1
x)/1
x,
'*',3
x,1
x,8(f8.2,1
x))
1180 6100
FORMAT(1
x,
'*',11
x,
'|',3
x,
'~B',3
x,
'|',2
x,
'~W_3',2
x,
'|',2
x
1181 & ,
'~H_1',2
x,
'|',2
x,
'~H_2',2
x,
'|'/1
x,
'*',3
x,
'~chi_10',1
x,4(
'|'
1182 & ,1
x,f6.3,1
x),
'|'/1
x,
'*',3
x,
'~chi_20',1
x,4(
'|'
1183 & ,1
x,f6.3,1
x),
'|'/1
x,
'*',3
x,
'~chi_30',1
x,4(
'|'
1184 & ,1
x,f6.3,1
x),
'|'/1
x,
'*',3
x,
'~chi_40',1
x,4(
'|'
1186 6200
FORMAT(1
x,
'*'/1
x,
'*',6
x,
'L',4
x,
'|',3
x,
'~W',3
x,
'|',3
x,
'~H',3
x,
'|'
1187 & ,12
x,
'R',4
x,
'|',3
x,
'~W',3
x,
'|',3
x,
'~H',3
x,
'|'/1
x,
'*',3
x
1188 & ,
'~chi_1+',1
x,2(
'|',1
x,f6.3,1
x),
'|',9
x,
'~chi_1+',1
x,2(
'|',1
x
1189 & ,f6.3,1
x),
'|'/1
x,
'*',3
x,
'~chi_2+',1
x,2(
'|',1
x,f6.3,1
x),
'|',9
x
1190 & ,
'~chi_2+',1
x,2(
'|',1
x,f6.3,1
x),
'|')
1191 6300
FORMAT(1
x,
'*'/1
x,
'*',8
x,
'|',2
x,
'~b_L',2
x,
'|',2
x,
'~b_R',2
x,
'|',8
x
1192 & ,
'|',2
x,
'~t_L',2
x,
'|',2
x,
'~t_R',2
x,
'|',10
x
1193 & ,
'|',1
x,
'~tau_L',1
x,
'|',1
x,
'~tau_R',1
x,
'|'/
1194 & 1
x,
'*',3
x,
'~b_1',1
x,2(
'|',1
x,f6.3,1
x),
'|',3
x,
'~t_1',1
x,2(
'|'
1195 & ,1
x,f6.3,1
x),
'|',3
x,
'~tau_1',1
x,2(
'|',1
x,f6.3,1
x),
'|'/
1196 & 1
x,
'*',3
x,
'~b_2',1
x,2(
'|',1
x,f6.3,1
x),
'|',3
x,
'~t_2',1
x,2(
'|'
1197 & ,1
x,f6.3,1
x),
'|',3
x,
'~tau_2',1
x,2(
'|',1
x,f6.3,1
x),
'|')
1198 6400
FORMAT(1
x,
'*',3
x,
' A_b = ',f8.2,4
x,
' A_t = ',f8.2,4
x
1200 6450
FORMAT(1
x,
'*',3
x,
'alpha = ',f8.2,4
x,
'tan(beta) = ',f8.2,4
x
1202 6500
FORMAT(1
x,32(
'*'),1
x,
'END OF PYSLHA',1
x,31(
'*'))
1207 7010
FORMAT(
'Block',1
x,a,3
x,
'#',1
x,a)
1208 7020
FORMAT(
'Block',1
x,a,1
x,
'Q=',1
p,e16.8,0
p,3
x,
'#',1
x,a)
1210 7110
FORMAT(1
x,
i4,1
x,
i4,3
x,
'#')
1212 7200
FORMAT(9
x,1
p,e16.8,0
p,3
x,
'#',1
x,a)
1214 7210
FORMAT(1
x,
i4,3
x,1
p,e16.8,0
p,3
x,
'#',1
x,a)
1216 7220
FORMAT(1
x,i9,3
x,1
p,e16.8,0
p,3
x,
'#',1
x,a)
1218 7310
FORMAT(1
x,
i4,3
x,a12,3
x,
'#',1
x,a)
1220 7410
FORMAT(1
x,
i2,1
x,
i2,3
x,1
p,e16.8,0
p,3
x,
'#',1
x,a)
1222 7420
FORMAT(1
x,
i2,1
x,
i2,3
x,1
p,e16.8,3
x,e16.8,0
p,3
x,
'#',1
x,a)
1224 7500
FORMAT(
'Decay',1
x,i9,1
x,
'WIDTH=',1
p,e16.8,0
p,3
x,
'#',1
x,a)
1225 7510
FORMAT(4
x,1
p,e16.8,0
p,3
x,
i2,3
x,
'IDA=',1
x,5(1
x,i9),3
x,
'#',1
x,a)