C++InterfacetoTauola
VBF_init.f
1 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
2 c written by the UFO converter
3 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
4  SUBROUTINE vbf_reinit(KEYIN)
5  include 'input.inc'
6  include 'coupl.inc'
7  INTEGER keyin
8 
9 C flipping defined earlier initialization variants for EW scheme used.
10 C `new physics model' weight: VBFINIT(0,1)
11 C 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)
21 C 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 
34 C 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 
46 C re-initialization for `sample' EW-scheme
47  IF(mode.EQ.0.AND.variant.EQ.0) THEN
48  CALL vbf_ini_opt(modesaved)
49  RETURN
50 C 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)
62 C This testing routine prints content of common blocks
63 C used by Madgraph
64 C 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
184 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
185 c written by the UFO converter
186 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
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 
196 c sminputs
197  aewm1 = 1.325070d+02
198  gf = 1.166390d-05
199 ! aS = 1.180000D-01 now defined elsewhere in vbfdistr.cxx
200 c wolfenstein
201  lamws = 2.277360e-01 !2.253000D-01
202  aws = 8.080000d-01
203  rhows = 1.320000d-01
204  etaws = 3.410000d-01
205 C yukawa
206  ymb = 4.700000d+00
207  ymt = 1.730000d+02
208  ymtau = 1.777000d+00
209 C 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
214 C 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 
222 c 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
258 c 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
264 c 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
269 c 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
273 c 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
278 c 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)
282 C also see later for GC_53:
283 C 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
320 c 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
331 C arbitrary modification of the coupling for triple boson vertex WWZ
332 C used for `new physics model' weights:
333  IF (i.EQ.5) THEN
334  gc_53 = (cw*ee*complexi)/sw *1.05
335 C 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 
349 c 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