~useakat/cfmc/gg_4g_cfmc

« back to all changes in this revision

Viewing changes to hml/hml/sminit.f

  • Committer: useakat at gmail
  • Date: 2012-10-01 07:45:50 UTC
  • mfrom: (4.1.13 gg_3g_cfmc_dev)
  • Revision ID: useakat@gmail.com-20121001074550-zs09eu30khm4yvyx
independent ver.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
      subroutine sminit
 
2
 
 
3
      implicit none
 
4
 
 
5
      include 'hmparm.inc'
 
6
      include 'coupl.inc'
 
7
 
 
8
      include 'smptab.inc'
 
9
 
 
10
      integer imd
 
11
      integer ign1,ign2,iud1,iud2,ilq
 
12
      parameter (iud1=1,iud2=2)
 
13
      double precision color
 
14
      parameter (color=3.d0)
 
15
      double precision qcd,c,vff,gm
 
16
 
 
17
      integer ign,iud
 
18
      double precision t3f,qf
 
19
 
 
20
      integer idtau,idcq,idbq,idtq
 
21
      parameter (idtau = 15, idcq = 4, idbq = 5, idtq = 6)
 
22
      double precision taum,cqm,bqm,tqm
 
23
      double precision gmh2ta,gmh2c,gmh2b,gmh2t,gmh2w,gmh2z
 
24
 
 
25
      double precision fmass
 
26
 
 
27
 
 
28
c--   
 
29
c     Initialize coupling constants.
 
30
c--   
 
31
c      call coupsm(0)
 
32
      
 
33
      qcd = 1.d0 + alfas/pi
 
34
c--
 
35
c     Initialize W width.
 
36
c--
 
37
      gmw = 0.d0
 
38
      do imd=1,npmdw
 
39
         ign1 = modwdk(1,imd)
 
40
         ign2 = modwdk(2,imd)
 
41
         ilq  = modwdk(3,imd)
 
42
         if(ilq.eq.1) then
 
43
            c   = 1.d0
 
44
            vff = 1.d0
 
45
         else
 
46
            c   = color*qcd
 
47
            vff = vkm(ign1,ign2,ilq)
 
48
         endif 
 
49
         call gmw2ff(wm,fm(ign1,1,ilq),fm(ign2,2,ilq),vff,c, gm)
 
50
         gmw = gmw+gm
 
51
         brwdk(imd) = gmw
 
52
      enddo
 
53
c--
 
54
c     Set branching fractions
 
55
c--
 
56
      brwdk(0) = 0.d0
 
57
      do imd=1,npmdw
 
58
         brwdk(imd) = brwdk(imd)/gmw
 
59
      enddo
 
60
c--
 
61
c     Initialize Z width.
 
62
c--
 
63
      gmz = 0.d0
 
64
      do imd=1,npmdz
 
65
         ign = modzdk(1,imd)
 
66
         iud = modzdk(2,imd)
 
67
         ilq = modzdk(3,imd)
 
68
         t3f = 3.d0/2.d0 - dble(iud)
 
69
         qf = qcf(ign,iud,ilq)
 
70
         if(ilq.eq.1) then
 
71
            c = 1.d0
 
72
         else 
 
73
            c = color*qcd
 
74
         endif 
 
75
         call gmz2ff(zm,t3f,qf,c,fm(ign,iud,ilq),gm)
 
76
         gmz = gmz+gm
 
77
         brzdk(imd) = gmz
 
78
      enddo
 
79
c--
 
80
c     Set branching fractions
 
81
c--
 
82
      brzdk(0) = 0.d0
 
83
      do imd=1,npmdz
 
84
         brzdk(imd) = brzdk(imd)/gmz
 
85
      enddo
 
86
 
 
87
c     Initialize Higgs width.
 
88
c--   
 
89
      gmh = 0.d0
 
90
      brhdk(0) = 0.d0
 
91
      taum = fmass(idtau)
 
92
      call gmh2ff(hm,taum,zm,gmh2ta)
 
93
      gmh = gmh + gmh2ta
 
94
      brhdk(1) = gmh
 
95
      cqm  = fmass(idcq)
 
96
      call gmh2ff(hm,cqm ,zm,gmh2c)
 
97
      gmh2c = color*gmh2c
 
98
      gmh = gmh + gmh2c
 
99
      brhdk(2) = gmh
 
100
      bqm  = fmass(idbq)
 
101
      call gmh2ff(hm,bqm ,zm,gmh2b)
 
102
      gmh2b = color*gmh2b
 
103
      gmh = gmh + gmh2b
 
104
      brhdk(3) = gmh
 
105
      tqm  = fmass(idtq)
 
106
      call gmh2ff(hm,tqm ,zm,gmh2t)
 
107
      gmh2t = color*gmh2t
 
108
      gmh = gmh + gmh2t
 
109
      brhdk(4) = gmh
 
110
      call gmh2vv(hm,wm  ,zm,gmh2w)
 
111
      gmh2w = 2.d0*gmh2w
 
112
      gmh = gmh + gmh2w
 
113
      brhdk(5) = gmh
 
114
      call gmh2vv(hm,zm  ,zm,gmh2z)
 
115
      gmh = gmh + gmh2z
 
116
      brhdk(6) = gmh
 
117
 
 
118
      if(gmh.le.0.d0) gmh = 1.d-10
 
119
      do imd=1,npmdh
 
120
         brhdk(imd) = brhdk(imd)/gmh
 
121
      enddo
 
122
c--   
 
123
c     Initialize top width.
 
124
c--   
 
125
      tqm = fmass(idtq)
 
126
      vff = vkm(3,3,2)**2
 
127
      call gmt2qw(tqm,bqm,wm,vff,gm)
 
128
      gmf(3,1,2) = gm
 
129
 
 
130
      return 
 
131
      end