Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pyhggm.f
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file pyhggm.f
1 
2 C*********************************************************************
3 
4 C...PYHGGM
5 C...Determines the Higgs boson mass spectrum using several inputs.
6 
7  SUBROUTINE pyhggm(ALPHA)
8 
9 C...Double precision and integer declarations.
10  IMPLICIT DOUBLE PRECISION(a-h, o-z)
11  IMPLICIT INTEGER(i-n)
12  INTEGER pyk,pychge,pycomp
13 C...Parameter statement to help give large particle numbers.
14  parameter(ksusy1=1000000,ksusy2=2000000,ktechn=3000000,
15  &kexcit=4000000,kdimen=5000000)
16 C...Commonblocks.
17  common/pydat1/mstu(200),paru(200),mstj(200),parj(200)
18  common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
19  common/pypars/mstp(200),parp(200),msti(200),pari(200)
20  common/pymssm/imss(0:99),rmss(0:99)
21  SAVE /pydat1/,/pydat2/,/pypars/,/pymssm/
22 
23 C...Local variables.
24  DOUBLE PRECISION at,ab,xmu,tanb
25  DOUBLE PRECISION alpha
26  INTEGER ihopt
27  DOUBLE PRECISION dma,dtanb,dmq,dmur,dmtop,dau,dad
28  DOUBLE PRECISION dmu,dmh,dhm,dmhch,dsa,dca,dtanba
29  DOUBLE PRECISION dmc,dmdr,dmhp,dhmp,damp
30  DOUBLE PRECISION dstop1,dstop2,dsbot1,dsbot2
31 
32  ihopt=imss(4)
33  IF(ihopt.EQ.2) THEN
34  alpha=rmss(18)
35  RETURN
36  ENDIF
37  at=rmss(16)
38  ab=rmss(15)
39  dmgl=rmss(3)
40  xmu=rmss(4)
41  tanb=rmss(5)
42 
43  dma=rmss(19)
44  dtanb=tanb
45  dmq=rmss(10)
46  dmur=rmss(12)
47  dmdr=rmss(11)
48  dmtop=pmas(6,1)
49  dmc=pmas(pycomp(ksusy1+37),1)
50  dau=at
51  dad=ab
52  dmu=xmu
53  rmss(40)=0d0
54  rmss(41)=0d0
55 
56  IF(ihopt.EQ.0) THEN
57  CALL pysubh(dma,dtanb,dmq,dmur,dmtop,dau,dad,dmu,dmh,dhm,
58  & dmhch,dsa,dca,dtanba)
59  ELSEIF(ihopt.EQ.1) THEN
60  CALL pysubh(dma,dtanb,dmq,dmur,dmtop,dau,dad,dmu,dmh,dhm,
61  & dmhch,dsa,dca,dtanba)
62  CALL pypole(3,dmc,dma,dtanb,dmq,dmur,dmdr,dmtop,dau,dad,dmu,
63  & dmh,dmhp,dhm,dhmp,damp,dsa,dca,
64  & dstop1,dstop2,dsbot1,dsbot2,dtanba,dmgl,ddt,ddb)
65  rmss(40)=ddt
66  rmss(41)=ddb
67  dmh=dmhp
68  dhm=dhmp
69  dma=damp
70  IF(abs(pmas(pycomp(1000006),1)-dstop2).GT.5d-1) THEN
71  WRITE(mstu(11),*) ' STOP1 MASS DOES NOT MATCH IN PYHGGM '
72  WRITE(mstu(11),*) ' STOP1 MASSES = ',
73  & pmas(pycomp(1000006),1),dstop2
74  ENDIF
75  IF(abs(pmas(pycomp(2000006),1)-dstop1).GT.5d-1) THEN
76  WRITE(mstu(11),*) ' STOP2 MASS DOES NOT MATCH IN PYHGGM '
77  WRITE(mstu(11),*) ' STOP2 MASSES = ',
78  & pmas(pycomp(2000006),1),dstop1
79  ENDIF
80  IF(abs(pmas(pycomp(1000005),1)-dsbot2).GT.5d-1) THEN
81  WRITE(mstu(11),*) ' SBOT1 MASS DOES NOT MATCH IN PYHGGM '
82  WRITE(mstu(11),*) ' SBOT1 MASSES = ',
83  & pmas(pycomp(1000005),1),dsbot2
84  ENDIF
85  IF(abs(pmas(pycomp(2000005),1)-dsbot1).GT.5d-1) THEN
86  WRITE(mstu(11),*) ' SBOT2 MASS DOES NOT MATCH IN PYHGGM '
87  WRITE(mstu(11),*) ' SBOT2 MASSES = ',
88  & pmas(pycomp(2000005),1),dsbot1
89  ENDIF
90 
91  ELSEIF (ihopt.EQ.3) THEN
92 c...Use FeynHiggs to fix Higgs sector (cf feynhiggs.de)
93 C...Currently only available for SLHA spectrum read-in.
94  IF (imss(1).NE.11.AND.imss(1).NE.12.AND.imss(1).NE.13) THEN
95  CALL pyerrm(11,'(PYHGGM:) FeynHiggs needs SLHA or ISASUSY'
96  & //' spectrum, change IMSS(1) or IMSS(4) option.')
97  ENDIF
98  alpha=rmss(18)
99  RETURN
100  ENDIF
101 
102  alpha=acos(dca)
103 
104  pmas(25,1)=dmh
105  pmas(35,1)=dhm
106  pmas(36,1)=dma
107  pmas(37,1)=dmhch
108 
109  RETURN
110  END