C++ Interface to Tauola
VBF_init.f
1ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
2c written by the UFO converter
3ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
4 SUBROUTINE vbf_reinit(KEYIN)
5 include 'input.inc'
6 include 'coupl.inc'
7 INTEGER KEYIN
8
9C flipping defined earlier initialization variants for EW scheme used.
10C `new physics model' weight: VBFINIT(0,1)
11C default: VBFINIT(0,0)
12 IF (keyin.GT.1) THEN
13 CALL vbfinit(0,1)
14 ELSE
15 CALL vbfinit(0,0)
16 ENDIF
17
18 END
19
20 SUBROUTINE vbfinit(MODE,VARIANT)
21C MODE=0 means use, otherwise actual initialization.
22 IMPLICIT NONE
23 DOUBLE PRECISION PI
24 parameter(pi=3.141592653589793d0)
25 INTEGER MODE
26 INTEGER MODESAVED
27 DATA modesaved /0/
28 INTEGER VARIANT
29 INTEGER VARIANTSAVED
30 DATA variantsaved /0/
31 include 'input.inc'
32 include 'coupl.inc'
33
34C primary initialization:
35 IF(mode.NE.0) THEN
36 modesaved=mode
37 variantsaved=variant
38 CALL vbf_ini_opt(mode)
39 RETURN
40 ENDIF
41 IF(modesaved.EQ.0) THEN
42 WRITE(*,*) 'initialization for VBF_INIT not chosen'
43 stop
44 ENDIF
45
46C re-initialization for `sample' EW-scheme
47 IF(mode.EQ.0.AND.variant.EQ.0) THEN
48 CALL vbf_ini_opt(modesaved)
49 RETURN
50C re-initialization for `reweighted' EW-scheme
51 ELSEIF(mode.EQ.0.AND.variant.EQ.1) THEN
52 CALL vbf_ini_opt(variantsaved)
53 RETURN
54 ENDIF
55
56 WRITE(*,*) 'WARNING: VBF_INIT should not reach this point.'
57 call testuja(1)
58
59 END
60
61 subroutine testuja(i)
62C This testing routine prints content of common blocks
63C used by Madgraph
64C To activate set ifuse non-zero
65
66 integer i,ifuse
67 include 'coupl.inc'
68 include 'input.inc'
69 data ifuse /0/
70 if (ifuse.eq.0) return
71
72 write(*,*) 'a kuku w punkcie i=',i
73 write(*,*) '======================'
74 write(*,*) 'file couplings.inc'
75 write(*,*) ' '
76 write(*,*) 'COMMON/MASSES/'
77 write(*,*) 'MB,MH,MT,MW,MTA,MZ'
78 write(*,*) mb,mh,mt,mw,mta,mz
79 write(*,*) ' '
80 write(*,*) 'COMMON/WIDTHS/'
81 write(*,*) 'WW,WT,WZ,WH'
82 write(*,*) ww,wt,wz,wh
83 write(*,*) ' '
84 write(*,*) 'COMMON/COUPLINGS/'
85 write(*,*) 'GC_1 =',gc_1
86 write(*,*) 'GC_2 =',gc_2
87 write(*,*) 'GC_3 =',gc_3
88 write(*,*) 'GC_4 =',gc_4
89 write(*,*) 'GC_10 =',gc_10
90 write(*,*) 'GC_11 =',gc_11
91 write(*,*) 'GC_44 =',gc_44
92 write(*,*) 'GC_50 =',gc_50
93 write(*,*) 'GC_59 =',gc_59
94 write(*,*) 'GC_100=',gc_100
95 write(*,*) 'GC_101=',gc_101
96 write(*,*) 'GC_108=',gc_108
97 write(*,*) 'GC_72 =',gc_72
98 write(*,*) 'GC_81 =',gc_81
99 write(*,*) 'GC_99 =',gc_99
100 write(*,*) ' '
101 write(*,*) '======================'
102 write(*,*) 'file input.inc'
103 write(*,*) 'COMMON/PARAMS_R/'
104 write(*,*) 'SQRT__AS =',sqrt__as
105 write(*,*) 'G__EXP__2 =',g__exp__2
106 write(*,*) 'CONJG__CKM3X3 =',conjg__ckm3x3
107 write(*,*) 'CKM3X3 =',ckm3x3
108 write(*,*) 'LAMWS__EXP__2 =',lamws__exp__2
109 write(*,*) 'LAMWS__EXP__3 =',lamws__exp__3
110 write(*,*) 'MZ__EXP__2 =',mz__exp__2
111 write(*,*) 'MZ__EXP__4 =',mz__exp__4
112 write(*,*) 'SQRT__2 =',sqrt__2
113 write(*,*) 'MH__EXP__2 =',mh__exp__2
114 write(*,*) 'AEW =',aew
115 write(*,*) 'SQRT__AEW =',sqrt__aew
116 write(*,*) 'EE =',ee
117 write(*,*) 'MW__EXP__2 =',mw__exp__2
118 write(*,*) 'SW2 =',sw2
119 write(*,*) 'CW =',cw
120 write(*,*) 'SQRT__SW2 =',sqrt__sw2
121 write(*,*) 'SW =',sw
122 write(*,*) 'G1 =',g1
123 write(*,*) 'GW =',gw
124 write(*,*) 'VEV =',vev
125 write(*,*) 'VEV__EXP__2 =',vev__exp__2
126 write(*,*) 'LAM =',lam
127 write(*,*) 'YB =',yb
128 write(*,*) 'YT =',yt
129 write(*,*) 'YTAU =',ytau
130 write(*,*) 'MUH =',muh
131 write(*,*) 'EE__EXP__2 =',ee__exp__2
132 write(*,*) 'SW__EXP__2 =',sw__exp__2
133 write(*,*) 'CW__EXP__2 =',cw__exp__2
134 write(*,*) 'AEWM1 =',aewm1
135 write(*,*) 'GF =',gf
136 write(*,*) 'AS =',as
137 write(*,*) 'LAMWS =',lamws
138 write(*,*) 'AWS =',aws
139 write(*,*) 'RHOWS =',rhows
140 write(*,*) 'ETAWS =',etaws
141 write(*,*) 'YMB =',ymb
142 write(*,*) 'YMT =',ymt
143 write(*,*) 'YMTAU =',ymtau
144 write(*,*) ' '
145 write(*,*) '======================'
146 write(*,*) 'file input.inc'
147 write(*,*) 'COMMON/PARAMS_C/'
148 write(*,*) 'CKM1X1 =', ckm1x1
149 write(*,*) 'CKM1X2 =', ckm1x2
150 write(*,*) 'COMPLEXI =', complexi
151 write(*,*) 'CKM1X1 =', ckm1x1
152 write(*,*) 'CKM2X1 =', ckm2x1
153 write(*,*) 'CKM2X2 =', ckm2x2
154 write(*,*) 'CKM2X3 =', ckm2x3
155 write(*,*) 'CKM3X1 =', ckm3x1
156 write(*,*) 'CKM3X2 =', ckm3x2
157 write(*,*) 'CONJG__CKM1X3 =', conjg__ckm1x3
158 write(*,*) 'CONJG__CKM2X3 =', conjg__ckm2x3
159 write(*,*) 'CONJG__CKM2X1 =', conjg__ckm2x1
160 write(*,*) 'CONJG__CKM3X1 =', conjg__ckm3x1
161 write(*,*) 'CONJG__CKM2X2 =', conjg__ckm2x2
162 write(*,*) 'CONJG__CKM3X2 =', conjg__ckm3x2
163 write(*,*) 'CONJG__CKM1X1 =', conjg__ckm1x1
164 write(*,*) 'CONJG__CKM1X2 =', conjg__ckm1x2
165 write(*,*) 'I1X31 =', i1x31
166 write(*,*) 'I1X32 =', i1x32
167 write(*,*) 'I1X33 =', i1x33
168 write(*,*) 'I1X31 =', i1x31
169 write(*,*) 'I1X32 =', i1x32
170 write(*,*) 'I1X33 =', i1x33
171 write(*,*) 'I2X13 =', i2x13
172 write(*,*) 'I2X23 =', i2x23
173 write(*,*) 'I2X33 =', i2x33
174 write(*,*) 'I3X31 =', i3x31
175 write(*,*) 'I3X32 =', i3x32
176 write(*,*) 'I3X33 =', i3x33
177 write(*,*) 'I4X13 =', i4x13
178 write(*,*) 'I4X23 =', i4x23
179 write(*,*) 'I4X33 =', i4x33
180
181 write(*,*) '======================'
182 write(*,*) '======================'
183 end
184ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
185c written by the UFO converter
186ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
187 SUBROUTINE vbf_ini_opt(I)
188
189 IMPLICIT NONE
190 DOUBLE PRECISION PI
191 parameter(pi=3.141592653589793d0)
192 INTEGER I
193 include 'input.inc'
194 include 'coupl.inc'
195
196c sminputs
197 aewm1 = 1.325070d+02
198 gf = 1.166390d-05
199! aS = 1.180000D-01 now defined elsewhere in vbfdistr.cxx
200c wolfenstein
201 lamws = 2.277360e-01 !2.253000D-01
202 aws = 8.080000d-01
203 rhows = 1.320000d-01
204 etaws = 3.410000d-01
205C yukawa
206 ymb = 4.700000d+00
207 ymt = 1.730000d+02
208 ymtau = 1.777000d+00
209C widths
210 wt = 1.508336e+00 !1.491500e+00
211 wz = 2.495200e+00 !2.441404e+00
212 ww = 2.085000e+00 !2.047600e+00
213 wh = 4.070000e-03 !6.382339e-03 ! 5.753088e-03
214C masses
215 mb = 4.700000d+00
216 mt = 1.730000d+02
217 mta = 1.777000d+00
218 mz = 9.118800d+01
219 mh = 1.250000d+02
220 mw = 80.419002 ! this value is recalculated below in 'input' section
221
222c input
223 g = 2 * dsqrt(as*pi) ! for the first init
224 conjg__ckm3x3 = 1.000000d+00
225 ckm3x3 = 1.000000d+00
226 lamws__exp__2 = lamws**2
227
228 ckm1x1 = 1.000000d+00-lamws__exp__2/2.000000d+00
229 ckm1x2 = lamws
230 complexi = (0.000000d+00,1.000000d+00)
231 lamws__exp__3 = lamws**3
232
233 ckm1x3 = aws*lamws__exp__3*(-(etaws*complexi)+rhows)
234 ckm2x1 = -lamws
235 ckm2x2 = 1.000000d+00-lamws__exp__2/2.000000d+00
236 ckm2x3 = aws*lamws__exp__2
237 ckm3x1 = aws*lamws__exp__3*(1.000000d+00-etaws*complexi-rhows)
238 ckm3x2 = -(aws*lamws__exp__2)
239
240 mz__exp__2 = mz**2
241 mz__exp__4 = mz**4
242 sqrt__2 = sqrt(2.000000d+00)
243 mh__exp__2 = mh**2
244
245 conjg__ckm1x3 = conjg(ckm1x3)
246 conjg__ckm2x3 = conjg(ckm2x3)
247 conjg__ckm2x1 = conjg(ckm2x1)
248
249 conjg__ckm3x1 = conjg(ckm3x1)
250 conjg__ckm2x2 = conjg(ckm2x2)
251 conjg__ckm3x2 = conjg(ckm3x2)
252
253 conjg__ckm1x1 = conjg(ckm1x1)
254 conjg__ckm1x2 = conjg(ckm1x2)
255
256
257 IF (i.EQ.1) THEN
258c IN: Gf, aEWM1, MZ; OUT: MW, SW2
259 aew = 1.000000d+00/aewm1
260 mw = sqrt(mz__exp__2/2.000000d+00+sqrt(mz__exp__4/4.000000d
261 $ +00-(aew*pi*mz__exp__2)/(gf*sqrt__2)))
262 sw2 = 1.000000d+00-mw**2/mz__exp__2
263 ELSEIF (i.EQ.2) THEN
264c IN: Gf, SW2, MZ; OUT: MW, aEWM1
265 sw2 = 0.23147
266 mw = mz*sqrt(1-sw2)
267 aewm1 = 4d0*pi/(4d0*sqrt(2d0)*gf*mz**2*(1-sw2)*sw2)
268 ELSEIF (i.EQ.3) THEN
269c IN: Gf, MW, MZ; OUT: SW2, aEWM1
270 sw2 = 1.000000d+00-mw**2/mz__exp__2
271 aewm1 = 4d0*pi/(4d0*sqrt(2d0)*gf*mw**2*sw2)
272 ELSEIF (i.EQ.4) THEN
273c IN: Gf, SW2, MW, MZ; OUT: aEWM1
274 sw2 = 0.23147
275 mw = 80.4189
276 aewm1 = 4d0*pi/(4d0*sqrt(2d0)*gf*mw**2*sw2)
277 ELSEIF (i.EQ.5) THEN
278c IN: Gf, SW2, MW, MZ; OUT: aEWM1
279 sw2 = 0.23147
280 mw = 80.4189
281 aewm1 = 4d0*pi/(4d0*sqrt(2d0)*gf*mw**2*sw2)
282C also see later for GC_53:
283C arbitrary modification of the coupling for triple boson vertex WWZ
284 ELSE
285 WRITE(*,*) 'ERROR: VBF_INIT_VER: UNEXPECTED VERSION REQUIRED =',i
286 stop
287 ENDIF
288
289 aew = 1.000000d+00/aewm1
290 sqrt__aew = sqrt(aew)
291 ee = 2.000000d+00*sqrt__aew*sqrt(pi)
292 mw__exp__2 = mw**2
293 cw = sqrt(1.000000d+00-sw2)
294 sqrt__sw2 = sqrt(sw2)
295 sw = sqrt__sw2
296 g1 = ee/cw
297 gw = ee/sw
298 vev = (2.000000d+00*mw*sw)/ee
299 vev__exp__2 = vev**2
300 lam = mh__exp__2/(2.000000d+00*vev__exp__2)
301 yb = (ymb*sqrt__2)/vev
302 yt = (ymt*sqrt__2)/vev
303 ytau = (ymtau*sqrt__2)/vev
304 muh = sqrt(lam*vev__exp__2)
305 i1x31 = yb*conjg__ckm1x3
306 i1x32 = yb*conjg__ckm2x3
307 i1x33 = yb*conjg__ckm3x3
308 i2x13 = yt*conjg__ckm3x1
309 i2x23 = yt*conjg__ckm3x2
310 i2x33 = yt*conjg__ckm3x3
311 i3x31 = ckm3x1*yt
312 i3x32 = ckm3x2*yt
313 i3x33 = ckm3x3*yt
314 i4x13 = ckm1x3*yb
315 i4x23 = ckm2x3*yb
316 i4x33 = ckm3x3*yb
317 ee__exp__2 = ee**2
318 sw__exp__2 = sw**2
319 cw__exp__2 = cw**2
320c couplings
321 gc_1 = -(ee*complexi)/3.000000d+00
322 gc_2 = (2.000000d+00*ee*complexi)/3.000000d+00
323 gc_3 = -(ee*complexi)
324 gc_4 = ee*complexi
325 gc_10 = -g
326 gc_11 = complexi*g
327 gc_44 = (ckm2x1*ee*complexi)/(sw*sqrt__2)
328 gc_50 = -(cw*ee*complexi)/(2.000000d+00*sw)
329 gc_51 = (cw*ee*complexi)/(2.000000d+00*sw)
330 gc_53 = (cw*ee*complexi)/sw
331C arbitrary modification of the coupling for triple boson vertex WWZ
332C used for `new physics model' weights:
333 IF (i.EQ.5) THEN
334 gc_53 = (cw*ee*complexi)/sw *1.05
335C GC_53 = (CW*EE*COMPLEXI)/SW *0.95
336 ENDIF
337
338 gc_58 = -(ee*complexi*sw)/(6.000000d+00*cw)
339 gc_59 = (ee*complexi*sw)/(2.000000d+00*cw)
340 gc_100 = (ee*complexi*conjg__ckm1x1)/(sw*sqrt__2)
341 gc_101 = (ee*complexi*conjg__ckm1x2)/(sw*sqrt__2)
342 gc_108 = (ee*complexi*conjg__ckm3x3)/(sw*sqrt__2)
343 gc_72 = (ee__exp__2*complexi*vev)/(2.000000d+00*sw__exp__2)
344 gc_81 = ee__exp__2*complexi*vev+(cw__exp__2*ee__exp__2*complexi
345 $ *vev)/(2.000000d+00*sw__exp__2)+(ee__exp__2*complexi*sw__exp__2
346 $ *vev)/(2.000000d+00*cw__exp__2)
347 gc_99 = -((complexi*ytau)/sqrt__2)
348
349c after init
350 as = g**2/4/pi
351 sqrt__as = sqrt(as)
352 g__exp__2 = g**2
353
354 call testuja(2)
355
356 END