C++InterfacetoTauola
s2n_init.f
1  subroutine s2n_init()
2  implicit none!
3  include 's2n_declare.h'
4  real*8 gf_gf
5  integer init
6  data init /0/
7 
8  if (init.eq.0) then
9  init=1
10  print*, ""
11  print*, " ####################################################################"
12  print*, " # #"
13  print*, " # ====================== #"
14  print*, " # SANC, Version: 1.10 #"
15  print*, " # ====================== #"
16  print*, " # #"
17  print*, " # SANC - NLO Standard Model corrections to the HEP processes #"
18  print*, " # #"
19  print*, " # Ref: A. Andonov et al., 'SANCscope - v.1.00', #"
20  print*, " # Comput. Phys. Commun. 174, 481 (2006). #"
21  print*, " # #"
22  print*, " # http://sanc.jinr.ru, http://pcphsanc.cern.ch #"
23  print*, " # #"
24  print*, " ####################################################################"
25  print*, ""
26  if (gfscheme.eq.0) then
27  print *, "Alpha scheme"
28  elseif (gfscheme.eq.1) then
29  print *, "GFermi scheme"
30  elseif (gfscheme.eq.2) then
31  print *, "GFermi prime scheme"
32  endif
33 
34  endif
35 
36  pi = 4d0*atan(1d0)
37  sr2 = sqrt(2d0)
38  i_ = dcmplx(0d0,1d0)
39  cfl = 1d0
40  cfq = 3d0
41 
42  qf( 1) = 0d0
43  qf( 2) = -1d0
44  qf( 3) = 0d0
45  qf( 4) = -1d0
46  qf( 5) = 0d0
47  qf( 6) = -1d0
48  qf( 7) = 2d0/3d0
49  qf( 8) = -1d0/3d0
50  qf( 9) = 2d0/3d0
51  qf(10) = -1d0/3d0
52  qf(11) = 2d0/3d0
53  qf(12) = -1d0/3d0
54 
55  i3f( 1) = .5d0
56  i3f( 2) = -.5d0
57  i3f( 3) = .5d0
58  i3f( 4) = -.5d0
59  i3f( 5) = .5d0
60  i3f( 6) = -.5d0
61  i3f( 7) = .5d0
62  i3f( 8) = -.5d0
63  i3f( 9) = .5d0
64  i3f(10) = -.5d0
65  i3f(11) = .5d0
66  i3f(12) = -.5d0
67 
68  ram2 = ma**2
69  rvm2 = mv**2
70  rhm2 = mh**2
71  rzm2 = mz**2
72  rwm2 = mw**2
73  renm2 = men**2
74  relm2 = mel**2
75  rupm2 = mup**2
76  rdnm2 = mdn**2
77  rmnm2 = mmn**2
78  rmom2 = mmo**2
79  rchm2 = mch**2
80  rstm2 = mst**2
81  rtnm2 = mtn**2
82  rtam2 = mta**2
83  rtpm2 = mtp**2
84  rbtm2 = mbt**2
85 
86  ctw2 = rwm2/rzm2
87  stw2 = 1d0-ctw2
88  ctw4 = ctw2**2
89  stw4 = stw2**2
90  ctw6 = ctw2**3
91  stw6 = stw2**3
92  ctw = mw/mz
93  stw = sqrt(1d0-ctw2)
94 
95  rwz = ctw2
96  rhz = rhm2/rzm2
97  rhw = rhm2/rwm2
98  renh = renm2/rhm2
99  relh = relm2/rhm2
100  ruph = rupm2/rhm2
101  rdnh = rdnm2/rhm2
102  rmnh = rmnm2/rhm2
103  rmoh = rmom2/rhm2
104  rchh = rchm2/rhm2
105  rsth = rstm2/rhm2
106  rtnh = rtnm2/rhm2
107  rtah = rtam2/rhm2
108  rtph = rtpm2/rhm2
109  rbth = rbtm2/rhm2
110  renz = renm2/rzm2
111  relz = relm2/rzm2
112  rupz = rupm2/rzm2
113  rdnz = rdnm2/rzm2
114  rmnz = rmnm2/rzm2
115  rmoz = rmom2/rzm2
116  rchz = rchm2/rzm2
117  rstz = rstm2/rzm2
118  rtnz = rtnm2/rzm2
119  rtaz = rtam2/rzm2
120  rtpz = rtpm2/rzm2
121  rbtz = rbtm2/rzm2
122  renw = renm2/rwm2
123  relw = relm2/rwm2
124  rupw = rupm2/rwm2
125  rdnw = rdnm2/rwm2
126  rmnw = rmnm2/rwm2
127  rmow = rmom2/rwm2
128  rchw = rchm2/rwm2
129  rstw = rstm2/rwm2
130  rtnw = rtnm2/rwm2
131  rtaw = rtam2/rwm2
132  rtpw = rtpm2/rwm2
133  rbtw = rbtm2/rwm2
134 
135  cm2 = dcmplx(0d0, -1d-30)
136  vm2 = dcmplx(rvm2,-1d-30)
137  hm2 = dcmplx(rhm2,-1d-30)
138  zm2 = dcmplx(rzm2,-1d-30)
139  wm2 = dcmplx(rwm2,-1d-30)
140  enm2 = dcmplx(renm2,-1d-30)
141  elm2 = dcmplx(relm2,-1d-30)
142  upm2 = dcmplx(rupm2,-1d-30)
143  dnm2 = dcmplx(rdnm2,-1d-30)
144  mnm2 = dcmplx(rmnm2,-1d-30)
145  mom2 = dcmplx(rmom2,-1d-30)
146  chm2 = dcmplx(rchm2,-1d-30)
147  stm2 = dcmplx(rstm2,-1d-30)
148  tnm2 = dcmplx(rtnm2,-1d-30)
149  tam2 = dcmplx(rtam2,-1d-30)
150  tpm2 = dcmplx(rtpm2,-1d-30)
151  btm2 = dcmplx(rbtm2,-1d-30)
152 
153  qen = qf(1)
154  qel = qf(2)
155  qup = qf(7)
156  qdn = qf(8)
157  qmn = qf(3)
158  qmo = qf(4)
159  qch = qf(9)
160  qst = qf(10)
161  qtn = qf(5)
162  qta = qf(6)
163  qtp = qf(11)
164  qbt = qf(12)
165 
166  aen = i3f(1)
167  ael = i3f(2)
168  aup = i3f(7)
169  adn = i3f(8)
170  amn = i3f(3)
171  amo = i3f(4)
172  ach = i3f(9)
173  ast = i3f(10)
174  atn = i3f(5)
175  ata = i3f(6)
176  atp = i3f(11)
177  abt = i3f(12)
178 
179  ven = aen-2d0*qen*stw2
180  vel = ael-2d0*qel*stw2
181  vup = aup-2d0*qup*stw2
182  vdn = adn-2d0*qdn*stw2
183  vmn = amn-2d0*qmn*stw2
184  vmo = amo-2d0*qmo*stw2
185  vch = ach-2d0*qch*stw2
186  vst = ast-2d0*qst*stw2
187  vtn = atn-2d0*qtn*stw2
188  vta = ata-2d0*qta*stw2
189  vtp = atp-2d0*qtp*stw2
190  vbt = abt-2d0*qbt*stw2
191 
192  dfen = (ven-aen)/aen
193  dfel = (vel-ael)/ael
194  dfup = (vup-aup)/aup
195  dfdn = (vdn-adn)/adn
196  dfmn = (vmn-amn)/amn
197  dfmo = (vmo-amo)/amo
198  dfch = (vch-ach)/ach
199  dfst = (vst-ast)/ast
200  dftn = (vtn-atn)/atn
201  dfta = (vta-ata)/ata
202  dftp = (vtp-atp)/atp
203  dfbt = (vbt-abt)/abt
204 
205  vpaen = ven+aen
206  vmaen = ven-aen
207  vpael = vel+ael
208  vmael = vel-ael
209  vpaup = vup+aup
210  vmaup = vup-aup
211  vpadn = vdn+adn
212  vmadn = vdn-adn
213  vpamn = vmn+amn
214  vmamn = vmn-amn
215  vpamo = vmo+amo
216  vmamo = vmo-amo
217  vpach = vch+ach
218  vmach = vch-ach
219  vpast = vst+ast
220  vmast = vst-ast
221  vpatn = vtn+atn
222  vmatn = vtn-atn
223  vpata = vta+ata
224  vmata = vta-ata
225  vpatp = vtp+atp
226  vmatp = vtp-atp
227  vpabt = vbt+abt
228  vmabt = vbt-abt
229 
230  gz = mz*wz
231  mz2 = dcmplx(rzm2,-gz)
232  mz2c = dconjg(mz2)
233  gw = mw*ww
234  mw2 = dcmplx(rwm2,-gw)
235  mw2c = dconjg(mw2)
236  gh = mh*wh
237  mh2 = dcmplx(rhm2,-gh)
238  mh2c = dconjg(mh2)
239  gtp = mtp*wtp
240  mtp2 = dcmplx(rtpm2,-gtp)
241  mtp2c = dconjg(mtp2)
242 
243  gf_gf = gf
244  gf = pi/alphai/sqrt(2d0)/stw2/ctw2/rzm2
245  cfscheme = gf/gf_gf
246  if (gfscheme.eq.0) then
247  cfscheme = 1d0
248  ! print *, "Alpha scheme"
249  elseif (gfscheme.eq.1) then
250  gf = gf_gf
251 ! print *, "GFermi scheme"
252  elseif (gfscheme.eq.2) then
253  gf = gf_gf
254  alphai = pi/gf/sqrt(2d0)/stw2/ctw2/rzm2
255  ! print *, "GFermi prime scheme"
256  endif
257  alpha = 1d0/alphai
258  e = sqrt(4d0*pi*alpha)
259  g = sqrt(gf/sr2*8d0*rzm2*ctw2)
260  gs = sqrt(4d0*pi*alphas)
261 
262  thmu = mw
263  thmu2 = thmu**2
264  omega = 0.001d0
265 
266  return
267  end