C********************************************************************* C...PYHGGM C...Determines the Higgs boson mass spectrum using several inputs. SUBROUTINE PYHGGM(ALPHA) C...Double precision and integer declarations. IMPLICIT DOUBLE PRECISION(A-H, O-Z) IMPLICIT INTEGER(I-N) INTEGER PYK,PYCHGE,PYCOMP C...Parameter statement to help give large particle numbers. PARAMETER (KSUSY1=1000000,KSUSY2=2000000,KEXCIT=4000000) C...Commonblocks. COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200) COMMON/PYDAT2/KCHG(500,4),PMAS(500,4),PARF(2000),VCKM(4,4) COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200) COMMON/PYMSSM/IMSS(0:99),RMSS(0:99) SAVE /PYDAT1/,/PYDAT2/,/PYPARS/,/PYMSSM/ C...Local variables. DOUBLE PRECISION AT,AB,XMU,TANB,XM32,XMT2 DOUBLE PRECISION ALPHA INTEGER I,J,IHOPT,II,JJ,IT DOUBLE PRECISION DMA,DTANB,DMQ,DMUR,DMTOP,DAU,DAD DOUBLE PRECISION DMU,DMH,DHM,DMHCH,DSA,DCA,DTANBA DOUBLE PRECISION DMC,DMDR,DMHP,DHMP,DAMP DOUBLE PRECISION DSTOP1,DSTOP2,DSBOT1,DSBOT2 IHOPT=IMSS(4) IF(IHOPT.EQ.2) THEN ALPHA=RMSS(18) RETURN ENDIF AT=RMSS(16) AB=RMSS(15) XMU=RMSS(4) TANB=RMSS(5) DMA=RMSS(19) DTANB=TANB DMQ=RMSS(10) DMUR=RMSS(12) DMDR=RMSS(11) DMTOP=PMAS(6,1) DMC=PMAS(PYCOMP(KSUSY1+37),1) DAU=AT DAD=AB DMU=XMU IF(IHOPT.EQ.0) THEN CALL PYSUBH (DMA,DTANB,DMQ,DMUR,DMTOP,DAU,DAD,DMU,DMH,DHM, & DMHCH,DSA,DCA,DTANBA) ELSEIF(IHOPT.EQ.1) THEN CALL PYSUBH (DMA,DTANB,DMQ,DMUR,DMTOP,DAU,DAD,DMU,DMH,DHM, & DMHCH,DSA,DCA,DTANBA) CALL PYPOLE(3,DMC,DMA,DTANB,DMQ,DMUR,DMDR,DMTOP,DAU,DAD,DMU, & DMH,DMHP,DHM,DHMP,DAMP,DSA,DCA, & DSTOP1,DSTOP2,DSBOT1,DSBOT2,DTANBA) DMH=DMHP DHM=DHMP DMA=DAMP IF(ABS(PMAS(PYCOMP(1000006),1)-DSTOP2).GT.5D-1) THEN WRITE(MSTU(11),*) ' STOP1 MASS DOES NOT MATCH IN PYHGGM ' WRITE(MSTU(11),*) ' STOP1 MASSES = ', & PMAS(PYCOMP(1000006),1),DSTOP2 ENDIF IF(ABS(PMAS(PYCOMP(2000006),1)-DSTOP1).GT.5D-1) THEN WRITE(MSTU(11),*) ' STOP2 MASS DOES NOT MATCH IN PYHGGM ' WRITE(MSTU(11),*) ' STOP2 MASSES = ', & PMAS(PYCOMP(2000006),1),DSTOP1 ENDIF IF(ABS(PMAS(PYCOMP(1000005),1)-DSBOT2).GT.5D-1) THEN WRITE(MSTU(11),*) ' SBOT1 MASS DOES NOT MATCH IN PYHGGM ' WRITE(MSTU(11),*) ' SBOT1 MASSES = ', & PMAS(PYCOMP(1000005),1),DSBOT2 ENDIF IF(ABS(PMAS(PYCOMP(2000005),1)-DSBOT1).GT.5D-1) THEN WRITE(MSTU(11),*) ' SBOT2 MASS DOES NOT MATCH IN PYHGGM ' WRITE(MSTU(11),*) ' SBOT2 MASSES = ', & PMAS(PYCOMP(2000005),1),DSBOT1 ENDIF ENDIF ALPHA=ACOS(DCA) PMAS(25,1)=DMH PMAS(35,1)=DHM PMAS(36,1)=DMA PMAS(37,1)=DMHCH RETURN END