C++ Interface to Tauola
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