Page MenuHomeHEPForge

No OneTemporary

Index: trunk/src/models/parameters.SM_km.f90
===================================================================
--- trunk/src/models/parameters.SM_km.f90 (revision 4410)
+++ trunk/src/models/parameters.SM_km.f90 (revision 4411)
@@ -1,317 +1,331 @@
! $Id: parameters.SM_km.f90,v 1.4 2006/06/16 13:31:48 kilian Exp $
!
! Copyright (C) 1999-2013 by
! Wolfgang Kilian <kilian@physik.uni-siegen.de>
! Thorsten Ohl <ohl@physik.uni-wuerzburg.de>
! Juergen Reuter <juergen.reuter@desy.de>
! Christian Speckner <cnspeckn@googlemail.com>
+! Marco Sekulla <sekulla@physik.uni-siegen.de> (only this file)
!
! WHIZARD is free software; you can redistribute it and/or modify it
! under the terms of the GNU General Public License as published by
! the Free Software Foundation; either version 2, or (at your option)
! any later version.
!
! WHIZARD is distributed in the hope that it will be useful, but
! WITHOUT ANY WARRANTY; without even the implied warranty of
! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! GNU General Public License for more details.
!
! You should have received a copy of the GNU General Public License
! along with this program; if not, write to the Free Software
! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
module parameters_sm_km
use kinds
use constants
implicit none
private
real(default), dimension(27), public :: mass, width
real(default), public :: as
complex(default), public :: gs, igs
real(default), public :: e, g, e_em
real(default), public :: sinthw, costhw, sin2thw, tanthw
real(default), public :: qelep, qeup, qedwn
complex(default), public :: qlep, qup, qdwn, gcc, qw, &
gzww, gwww, ghww, ghhww, ghzz, ghhzz, &
ghbb, ghtt, ghcc, ghtautau, gh3, gh4, &
ghgaga, ghgaz, ghgg, ghmm, &
iqw, igzww, igwww, gw4, gzzww, gazww, gaaww
real(default), public :: vev
complex(default), dimension(2), public :: &
gncneu, gnclep, gncup, gncdwn
real(default), public :: a4, a5, a6, a7, a10
complex(default), public :: ig1a, ig1z, rg5a, rg5z, &
ig1pkpg4a, ig1pkpg4z, ig1pkmg4a, ig1pkmg4z, &
ig1mkpg4a, ig1mkpg4z, ig1mkmg4a, ig1mkmg4z, &
ila, ilz, il5a, il5z, ik5a, ik5z, &
ialww0, ialww2, ialzw0, ialzw1, ialzz, &
alww0, alww2, alzw0, alzw1, alzz, &
igdh4, gdh2w2, gdh2z2, gdhw2, gdhz2
real(default), public :: lam_reg
real(default), public :: fudge_higgs, fudge_km, w_res
- real(default), dimension(1:5), public :: gkm, mkm, wkm
+ real(default), dimension(1:8), public :: gkm
+ real(default), dimension(1:5), public :: mkm, wkm
+ complex(default), public :: ghvva
+ integer, private :: i
public :: import_from_whizard, model_update_alpha_s
contains
subroutine import_from_whizard (par_array)
- real(default), dimension(60), intent(in) :: par_array
+ real(default), dimension(63), intent(in) :: par_array
type :: parameter_set
real(default) :: gf
real(default) :: mZ
real(default) :: mW
real(default) :: mH
real(default) :: alphas
real(default) :: me
real(default) :: mmu
real(default) :: mtau
real(default) :: ms
real(default) :: mc
real(default) :: mb
real(default) :: mtop
real(default) :: wtop
real(default) :: wZ
real(default) :: wW
real(default) :: wH
real(default) :: xi0
real(default) :: xipm
real(default) :: a4
real(default) :: a5
real(default) :: a6
real(default) :: a7
real(default) :: a10
real(default) :: mkm_s
real(default) :: mkm_p
real(default) :: mkm_r
real(default) :: mkm_f
real(default) :: mkm_t
real(default) :: gkm_s
real(default) :: gkm_p
real(default) :: gkm_r
real(default) :: gkm_f
real(default) :: gkm_t
real(default) :: wkm_s
real(default) :: wkm_p
real(default) :: wkm_r
real(default) :: wkm_f
real(default) :: wkm_t
real(default) :: g1a
real(default) :: g1z
real(default) :: g4a
real(default) :: g4z
real(default) :: g5a
real(default) :: g5z
real(default) :: ka
real(default) :: kz
real(default) :: la
real(default) :: lz
real(default) :: k5a
real(default) :: k5z
real(default) :: l5a
real(default) :: l5z
real(default) :: mreg
real(default) :: fhig
real(default) :: fkm
real(default) :: wres
+ real(default) :: gkm_ft
+ real(default) :: gkm_fm
+ real(default) :: fkappa
real(default) :: v
real(default) :: cw
real(default) :: sw
real(default) :: ee
end type parameter_set
type(parameter_set) :: par
!!! This corresponds to 1/alpha = 137.03598949333
real(default), parameter :: &
alpha = 1.0_default/137.03598949333_default
e_em = sqrt(4.0_default * PI * alpha)
par%gf = par_array(1)
par%mZ = par_array(2)
par%mW = par_array(3)
par%mH = par_array(4)
par%alphas = par_array(5)
par%me = par_array(6)
par%mmu = par_array(7)
par%mtau = par_array(8)
par%ms = par_array(9)
par%mc = par_array(10)
par%mb = par_array(11)
par%mtop = par_array(12)
par%wtop = par_array(13)
par%wZ = par_array(14)
par%wW = par_array(15)
par%wH = par_array(16)
par%xi0 = par_array(17)
par%xipm = par_array(18)
par%a4 = par_array(19)
par%a5 = par_array(20)
par%a6 = par_array(21)
par%a7 = par_array(22)
par%a10 = par_array(23)
par%mkm_s = par_array(24)
par%mkm_p = par_array(25)
par%mkm_r = par_array(26)
par%mkm_f = par_array(27)
par%mkm_t = par_array(28)
par%gkm_s = par_array(29)
par%gkm_p = par_array(30)
par%gkm_r = par_array(31)
par%gkm_f = par_array(32)
par%gkm_t = par_array(33)
par%wkm_s = par_array(34)
par%wkm_p = par_array(35)
par%wkm_r = par_array(36)
par%wkm_f = par_array(37)
par%wkm_t = par_array(38)
par%g1a = par_array(39)
par%g1z = par_array(40)
par%g4a = par_array(41)
par%g4z = par_array(42)
par%g5a = par_array(43)
par%g5z = par_array(44)
par%ka = par_array(45)
par%kz = par_array(46)
par%la = par_array(47)
par%lz = par_array(48)
par%k5a = par_array(49)
par%k5z = par_array(50)
par%l5a = par_array(51)
par%l5z = par_array(52)
par%mreg = par_array(53)
par%fhig = par_array(54)
par%fkm = par_array(55)
par%wres = par_array(56)
- par%v = par_array(57)
- par%cw = par_array(58)
- par%sw = par_array(59)
- par%ee = par_array(60)
+ par%gkm_ft = par_array(57)
+ par%gkm_fm = par_array(58)
+ par%fkappa = par_array(59)
+ par%v = par_array(60)
+ par%cw = par_array(61)
+ par%sw = par_array(62)
+ par%ee = par_array(63)
mass(1:27) = 0
width(1:27) = 0
mass(3) = par%ms
mass(4) = par%mc
mass(5) = par%mb
mass(6) = par%mtop
width(6) = par%wtop
mass(11) = par%me
mass(13) = par%mmu
mass(15) = par%mtau
mass(23) = par%mZ
width(23) = par%wZ
mass(24) = par%mW
width(24) = par%wW
mass(25) = par%mH
width(25) = par%wH
mass(26) = par%xi0 * mass(23)
width(26) = 0
mass(27) = par%xipm * mass(24)
width(27) = 0
mkm(1) = par%mkm_s
mkm(2) = par%mkm_p
mkm(3) = par%mkm_r
mkm(4) = par%mkm_f
mkm(5) = par%mkm_t
gkm(1) = par%gkm_s
gkm(2) = par%gkm_p
gkm(3) = par%gkm_r
gkm(4) = par%gkm_f
gkm(5) = par%gkm_t
wkm(1) = par%wkm_s
wkm(2) = par%wkm_p
wkm(3) = par%wkm_r
wkm(4) = par%wkm_f
wkm(5) = par%wkm_t
+ gkm(6) = par%gkm_ft
+ gkm(7) = par%gkm_fm
+ gkm(8) = par%fkappa
vev = par%v
e = par%ee
sinthw = par%sw
sin2thw = par%sw**2
costhw = par%cw
qelep = - 1
qeup = 2.0_default / 3.0_default
qedwn = - 1.0_default / 3.0_default
g = e / sinthw
gcc = - g / 2 / sqrt (2.0_default)
gncneu(1) = - g / 2 / costhw * ( + 0.5_default)
gnclep(1) = - g / 2 / costhw * ( - 0.5_default - 2 * qelep * sin2thw)
gncup(1) = - g / 2 / costhw * ( + 0.5_default - 2 * qeup * sin2thw)
gncdwn(1) = - g / 2 / costhw * ( - 0.5_default - 2 * qedwn * sin2thw)
gncneu(2) = - g / 2 / costhw * ( + 0.5_default)
gnclep(2) = - g / 2 / costhw * ( - 0.5_default)
gncup(2) = - g / 2 / costhw * ( + 0.5_default)
gncdwn(2) = - g / 2 / costhw * ( - 0.5_default)
qlep = - e * qelep
qup = - e * qeup
qdwn = - e * qedwn
qw = e
iqw = (0,1)*qw
gzww = g * costhw
igzww = (0,1)*gzww
gwww = g
igwww = (0,1)*gwww
gw4 = gwww**2
gzzww = gzww**2
gazww = gzww * qw
gaaww = qw**2
ghww = mass(24) * g
ghhww = g**2 / 2.0_default
ghzz = mass(23) * g / costhw
ghhzz = g**2 / 2.0_default / costhw**2
ghtt = - mass(6) / vev
ghbb = - mass(5) / vev
ghcc = - mass(4) / vev
ghtautau = - mass(15) / vev
ghmm = - mass(13) / vev
gh3 = - 3 * mass(25)**2 / vev
gh4 = - 3 * mass(25)**2 / vev**2
!!! Color flow basis, divide by sqrt(2)
gs = sqrt(2.0_default*PI*par%alphas)
igs = cmplx (0.0_default, 1.0_default, kind=default) * gs
a4 = par%a4
a5 = par%a5
a6 = par%a6
a7 = par%a7
a10 = par%a10
lam_reg = par%mreg
- fudge_higgs = par%fhig
+ fudge_higgs = par%fhig * (2-par%fhig)
+ ghvva = par%fhig
fudge_km = par%fkm
w_res = par%wres
ig1a = iqw * par%g1a
ig1z = igzww * par%g1z
ig1pkpg4a = iqw * (par%g1a + par%ka + par%g4a) / 2
ig1pkpg4z = igzww * (par%g1z + par%kz + par%g4z) / 2
ig1pkmg4a = iqw * (par%g1a + par%ka - par%g4a) / 2
ig1pkmg4z = igzww * (par%g1z + par%kz - par%g4z) / 2
ig1mkpg4a = iqw * (par%g1a - par%ka + par%g4a) / 2
ig1mkpg4z = igzww * (par%g1z - par%kz + par%g4z) / 2
ig1mkmg4a = iqw * (par%g1a - par%ka - par%g4a) / 2
ig1mkmg4z = igzww * (par%g1z - par%kz - par%g4z) / 2
ila = iqw * par%la / (mass(24)*mass(24))
ilz = igzww * par%lz / (mass(24)*mass(24))
rg5a = qw * par%g5a
rg5z = gzww * par%g5z
ik5a = iqw * par%k5a
ik5z = igzww * par%k5z
il5a = iqw * par%l5a / (mass(24)*mass(24))
il5z = igzww * par%l5z / (mass(24)*mass(24))
alww0 = g**4 * (a4 + 2 * a5)
alww2 = g**4 * 2 * a4
alzw1 = g**4 / costhw**2 * (a4 + a6)
alzw0 = g**4 / costhw**2 * 2 * (a5 + a7)
alzz = g**4 / costhw**4 * 2 * (a4 + a5 + (a6+a7+a10)*2)
ialww0 = g**2 * sqrt (-cmplx(a4 + 2 * a5, kind=default))
ialww2 = g**2 * sqrt (-cmplx(2 * a4, kind=default))
ialzw1 = g**2 / costhw * sqrt (-cmplx(a4 + a6, kind=default))
ialzw0 = g**2 / costhw &
& * sqrt (-cmplx(2 * (a5 + a7), kind=default))
ialzz = g**2 / (costhw*costhw) &
& * sqrt (-cmplx(2 * (a4 + a5 + (a6+a7+a10)*2), &
& kind=default))
end subroutine import_from_whizard
subroutine model_update_alpha_s (alpha_s)
real(default), intent(in) :: alpha_s
gs = sqrt(2.0_default*PI*alpha_s)
igs = cmplx (0.0_default, 1.0_default, kind=default) * gs
!!! The Hgg coupling should not get a running alpha_s
end subroutine model_update_alpha_s
end module parameters_sm_km
Index: trunk/src/omega/src/targets_Kmatrix.ml
===================================================================
--- trunk/src/omega/src/targets_Kmatrix.ml (revision 4410)
+++ trunk/src/omega/src/targets_Kmatrix.ml (revision 4411)
@@ -1,538 +1,619 @@
(* $Id$
- Copyright (C) 1999-2013 by
+ Copyright (C) 1999-2012 by
Wolfgang Kilian <kilian@physik.uni-siegen.de>
Thorsten Ohl <ohl@physik.uni-wuerzburg.de>
- Juergen Reuter <juergen.reuter@desy.de>
- Christian Speckner <cnspeckn@googlemail.com>
+ Juergen Reuter <juergen.reuter@physik.uni-freiburg.de>
+ Christian Speckner <christian.speckner@physik.uni-freiburg.de>
WHIZARD is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
WHIZARD is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *)
let rcs_file = RCS.parse "Targets_Kmatrix" ["K-Matrix Support routines"]
{ RCS.revision = "$Revision$";
RCS.date = "$Date$";
RCS.author = "$Author$";
RCS.source
= "$URL$" }
module Fortran =
struct
open Format
let nl = print_newline
(* Special functions for the K matrix approach. This might be generalized
to other functions that have to have access to the parameters and
coupling constants. At the moment, this is hardcoded. *)
let print pure_functions =
let pure =
if pure_functions then
"pure "
else
"" in
printf " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; nl ();
printf " !!! Special K matrix functions"; nl ();
printf " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; nl ();
nl();
printf " %sfunction width_res (z,res,w_wkm,m,g) result (w)" pure; nl ();
printf " real(kind=default), intent(in) :: z, w_wkm, m, g"; nl ();
printf " integer, intent(in) :: res"; nl ();
printf " real(kind=default) :: w"; nl ();
printf " if (z.eq.0) then"; nl ();
printf " w = 0"; nl ();
printf " else"; nl ();
printf " if (w_wkm.eq.0) then"; nl ();
printf " select case (res)"; nl ();
printf " case (1) !!! Scalar isosinglet"; nl ();
- printf " w = 3.*g**2/32./PI * m**3/vev**2"; nl ();
+ printf " w = 3.*g**2/32./Pi * m**3/vev**2"; nl ();
printf " case (2) !!! Scalar isoquintet"; nl ();
- printf " w = g**2/64./PI * m**3/vev**2"; nl ();
+ printf " w = g**2/64./Pi * m**3/vev**2"; nl ();
printf " case (3) !!! Vector isotriplet"; nl ();
- printf " w = g**2/48./PI * m"; nl ();
+ printf " w = g**2/48./Pi * m"; nl ();
printf " case (4) !!! Tensor isosinglet"; nl ();
- printf " w = g**2/320./PI * m**3/vev**2"; nl ();
+ printf " w = g**2/320./Pi * m**3/vev**2"; nl ();
printf " case (5) !!! Tensor isoquintet"; nl ();
- printf " w = g**2/1920./PI * m**3/vev**2"; nl ();
+ printf " w = g**2/1920./Pi * m**3/vev**2"; nl ();
printf " case default"; nl ();
printf " w = 0"; nl ();
printf " end select"; nl ();
printf " else"; nl ();
printf " w = w_wkm"; nl ();
printf " end if"; nl ();
printf " end if"; nl ();
printf " end function width_res"; nl ();
nl ();
printf " %sfunction s0stu (s, m) result (s0)" pure; nl ();
printf " real(kind=default), intent(in) :: s, m"; nl ();
printf " real(kind=default) :: s0"; nl ();
printf " if (m.ge.1.0e08) then"; nl ();
printf " s0 = 0"; nl ();
printf " else"; nl ();
printf " s0 = m**2 - s/2 + m**4/s * log(m**2/(s+m**2))"; nl ();
printf " end if"; nl ();
printf " end function s0stu"; nl();
nl ();
printf " %sfunction s1stu (s, m) result (s1)" pure; nl ();
printf " real(kind=default), intent(in) :: s, m"; nl ();
printf " real(kind=default) :: s1"; nl ();
printf " if (m.ge.1.0e08) then"; nl ();
printf " s1 = 0"; nl ();
printf " else"; nl ();
printf " s1 = 2*m**4/s + s/6 + m**4/s**2*(2*m**2+s) &"; nl();
printf " * log(m**2/(s+m**2))"; nl ();
printf " end if"; nl ();
printf " end function s1stu"; nl();
nl ();
printf " %sfunction s2stu (s, m) result (s2)" pure; nl ();
printf " real(kind=default), intent(in) :: s, m"; nl ();
printf " real(kind=default) :: s2"; nl ();
printf " if (m.ge.1.0e08) then"; nl ();
printf " s2 = 0"; nl ();
printf " else"; nl ();
printf " s2 = m**4/s**2 * (6*m**2 + 3*s) + &"; nl();
printf " m**4/s**3 * (6*m**4 + 6*m**2*s + s**2) &"; nl();
printf " * log(m**2/(s+m**2))"; nl ();
printf " end if"; nl ();
printf " end function s2stu"; nl();
nl ();
+ printf " !! %sfunction s3stu (s, m) result (s3)" pure; nl ();
+ printf " !! real(kind=default), intent(in) :: s, m"; nl ();
+ printf " !! real(kind=default) :: s3"; nl ();
+ printf " !! if (m.ge.1.0e08) then"; nl ();
+ printf " !! s3 = 0"; nl ();
+ printf " !! else"; nl ();
+ printf " !! s3 = m**4/s**3 * (60*m**4 + 60*m**2*s+11*s**2) + &"; nl();
+ printf " !! m**4/s**4 *(2*m**2+s) (10*m**4 + 10*m**2*s + s**2) &"; nl();
+ printf " !! * log(m**2/(s+m**2))"; nl ();
+ printf " !! end if"; nl ();
+ printf " !! end function s3stu"; nl();
+ nl ();
printf " %sfunction p0stu (s, m) result (p0)" pure; nl ();
printf " real(kind=default), intent(in) :: s, m"; nl ();
printf " real(kind=default) :: p0"; nl ();
printf " if (m.ge.1.0e08) then"; nl ();
printf " p0 = 0"; nl ();
printf " else"; nl ();
printf " p0 = 1 + (2*s+m**2)*log(m**2/(s+m**2))/s"; nl ();
printf " end if"; nl ();
printf " end function p0stu"; nl();
nl ();
printf " %sfunction p1stu (s, m) result (p1)" pure; nl ();
printf " real(kind=default), intent(in) :: s, m"; nl ();
printf " real(kind=default) :: p1"; nl ();
printf " if (m.ge.1.0e08) then"; nl ();
printf " p1 = 0"; nl ();
printf " else"; nl ();
printf " p1 = (m**2 + 2*s)/s**2 * (2*s+(2*m**2+s) &"; nl();
printf " * log(m**2/(s+m**2)))"; nl ();
printf " end if"; nl ();
printf " end function p1stu"; nl();
nl ();
printf " %sfunction d0stu (s, m) result (d0)" pure; nl ();
printf " real(kind=default), intent(in) :: s, m"; nl ();
printf " real(kind=default) :: d0"; nl ();
printf " if (m.ge.1.0e08) then"; nl ();
printf " d0 = 0"; nl ();
printf " else"; nl ();
printf " d0 = (2*m**2+11*s)/2 + (m**4+6*m**2*s+6*s**2) &"; nl();
printf " /s * log(m**2/(s+m**2))"; nl ();
printf " end if"; nl ();
printf " end function d0stu"; nl();
nl ();
printf " %sfunction d1stu (s, m) result (d1)" pure; nl ();
printf " real(kind=default), intent(in) :: s, m"; nl ();
printf " real(kind=default) :: d1"; nl ();
printf " if (m.ge.1.0e08) then"; nl ();
printf " d1 = 0"; nl ();
printf " else"; nl ();
printf " d1 = (s*(12*m**4 + 72*m**2*s + 73*s**2) &"; nl();
printf " + 6*(2*m**2 + s)*(m**4 + 6*m**2*s + 6*s**2) &"; nl();
printf " * log(m**2/(s+m**2)))/6/s**2"; nl ();
printf " end if"; nl ();
printf " end function d1stu"; nl();
nl ();
printf " %sfunction da00 (cc, s, m) result (amp_00)" pure; nl ();
printf " real(kind=default), intent(in) :: s"; nl ();
- printf " real(kind=default), dimension(1:5), intent(in) :: m, cc"; nl ();
- printf " real(kind=default) :: a00_0, a00_1"; nl ();
- printf " complex(kind=default), dimension(1:6) :: a00"; nl ();
+ printf " real(kind=default), dimension(1:8), intent(in) :: cc"; nl ();
+ printf " real(kind=default), dimension(1:5), intent(in) :: m"; nl ();
+ printf " complex(kind=default) :: a00_0, a00_1, a00_a, a00_f"; nl ();
+ printf " complex(kind=default), dimension(1:7) :: a00"; nl ();
printf " complex(kind=default) :: ii, jj, amp_00"; nl ();
+ printf " real(kind=default) :: kappal, kappam, kappat"; nl ();
printf " ii = cmplx(0.0,1.0/32.0/Pi,default)"; nl ();
printf " jj = s**2/vev**4*ii"; nl ();
+ printf " kappal = cc(8)*((mass(23)**2+mass(24)**2)/m(4)**2-2*mass(23)**2*mass(24)**2/m(4)**4)"; nl ();
+ printf " kappam = cc(8)*((mass(23)**4+mass(24)**4)/m(4)**2/(mass(23)**2+mass(24)**2) &"; nl ();
+ printf " - 2*mass(23)**2*mass(24)**2/m(4)**4)"; nl ();
+ printf " kappat = cc(8)*mass(23)**2*mass(24)**2/m(4)**4"; nl ();
+ printf " !!! Longitudinal"; nl ();
printf " !!! Scalar isosinglet"; nl ();
- printf " if (cc(1).ne.0) then"; nl ();
- printf " if (fudge_km.ne.0) then"; nl ();
- printf " a00(1) = vev**4/s**2 * fudge_km * &"; nl ();
- printf " cmplx(0.0,32.0*Pi,default)*(1.0 + &"; nl ();
- printf " (s-m(1)**2)/(ii*cc(1)**2/vev**2*(3.0*s**2 + &"; nl ();
- printf " (s-m(1)**2)*2.0*s0stu(s,m(1))) - (s-m(1)**2)))"; nl ();
- printf " else"; nl ();
- printf " a00(1) = vev**2/s**2 * cc(1)**2 * &"; nl ();
- printf " (3.0 * s**2/cmplx(s-m(1)**2,m(1)*width_res(w_res,1,&"; nl ();
- printf " wkm(1),m(1),cc(1)),default) + 2.0 * s0stu(s,m(1)))"; nl ();
- printf " end if"; nl ();
- printf " else"; nl ();
- printf " a00(1) = 0"; nl ();
+ printf " a00(1) = -2.0 * cc(1)**2/vev**2 * s0stu(s,m(1)) "; nl ();
+ printf " if (cc(1) /= 0) then"; nl ();
+ printf " a00(1) = a00(1) - 3.0*cc(1)**2/vev**2 * &"; nl ();
+ printf " s**2/cmplx(s-m(1)**2,s**2/m(1)**3*width_res(w_res,1,wkm(1),m(1),cc(1)),default) "; nl ();
printf " end if"; nl ();
printf " !!! Scalar isoquintet"; nl ();
- printf " a00(2) = 5.0*cc(2)**2/vev**2 * s0stu(s,m(2)) / 3.0"; nl ();
- printf " a00(2) = vev**4/s**2*a00(2) /&"; nl();
- printf " (1.0_default - fudge_km*ii*a00(2))"; nl ();
+ printf " a00(2) = -5.0*cc(2)**2/vev**2 * s0stu(s,m(2)) / 3.0"; nl ();
printf " !!! Vector isotriplet"; nl ();
- printf " a00(3) = cc(3)**2*(4.0*p0stu(s,m(3)) + 3.0*s/m(3)**2)"; nl ();
- printf " a00(3) = vev**4/s**2*a00(3)/&"; nl ();
- printf " (1.0_default - fudge_km*ii*a00(3))"; nl ();
- printf " !!! Tensor isosinglet"; nl ();
- printf " a00(4) = cc(4)**2/vev**2 * (d0stu(s,m(4)) &"; nl ();
- printf " /3.0 + 11.0*s**2/m(4)**2/36.0)"; nl ();
- printf " a00(4) = vev**4/s**2*a00(4)/&"; nl ();
- printf " (1.0_default - fudge_km*ii*a00(4))"; nl ();
+ printf " a00(3) = -cc(3)**2*(4.0*p0stu(s,m(3)) + 6.0*s/m(3)**2)"; nl ();
+ printf " !!! Tensor isosinglet"; nl ();
+ printf " a00(4) = -cc(4)**2/vev**2/3 * (d0stu(s,m(4)) &"; nl ();
+ printf " - 2*kappal*s0stu(s,m(4)))"; nl ();
+ printf " if ( (cc(4) /= 0).and.(kappal /= 0)) then"; nl ();
+ printf " a00(4) = a00(4) - cc(4)**2/vev**2*kappal * &"; nl ();
+ printf " s**2/cmplx(s-m(4)**2,s**2/m(4)**3*10*kappal* width_res(w_res,4,wkm(4),m(4),cc(4)),default)"; nl ();
+ printf " end if"; nl ();
printf " !!! Tensor isoquintet"; nl ();
- printf " a00(5) = 5.0*cc(5)**2/vev**2*(d0stu(s,m(5))&"; nl ();
- printf " /3.0 + s**2/m(5)**2/18.0)/6.0"; nl ();
- printf " a00(5) = vev**4/s**2*a00(5)/&"; nl ();
- printf " (1.0_default - fudge_km*ii*a00(5))"; nl ();
+ printf " a00(5) = -5.0*cc(5)**2/vev**2*(d0stu(s,m(5)) &"; nl ();
+ printf " /3.0)/6.0"; nl ();
+ printf " !!! Transversal"; nl ();
+ printf " !!! Tensor isosinglet"; nl ();
+ printf " a00(6) = - cc(6)**2/Pi/vev**6*mass(23)**2*mass(24)**2/4* s**2 &"; nl ();
+ printf " * ((2-2*s/m(4)**2+s**2/m(4)**4)+kappat/2 )"; nl ();
+ printf " if (a00(6) /= 0) then"; nl ();
+ printf " a00(6) = a00(6)/cmplx(s-m(4)**2, - w_res/32/Pi * realpart(a00(6)),default) "; nl ();
+ printf " end if"; nl ();
+ printf " a00(6) = a00(6) - cc(6)**2/Pi/vev**6*mass(23)**2*mass(24)**2/12 * (s0stu(s,m(4)) &"; nl ();
+ printf " * (3*(1+2*s/m(4)**2+2*s**2/m(4)**4)+kappat ))"; nl ();
+ printf " !!! Mixed"; nl ();
+ printf " !!! Tensor isosinglet"; nl ();
+ printf " a00(7) = - cc(7)*cc(6)*cc(4)/Pi/vev**4*(mass(23)**2+mass(24)**2)/4 * s**2 &"; nl ();
+ printf " * ((1-4*s/m(4)**2+2*s**2/m(4)**4)+kappam )"; nl ();
+ printf " if (a00(7) /= 0) then"; nl ();
+ printf " a00(7) = a00(7)/cmplx(s-m(4)**2, - w_res/32/Pi * realpart(a00(7)),default) "; nl ();
+ printf " end if"; nl ();
+ printf " a00(7) = a00(7) - cc(7)*cc(6)*cc(4)/Pi/vev**4*(mass(23)**2+mass(24)**2)/12 * (s0stu(s,m(4)) &"; nl ();
+ printf " * (12*s/m(4)**2+12*s**2/m(4)**4+2*kappam ))"; nl ();
+ printf " !!! Fudge-Higgs"; nl ();
+ printf " a00_f = 2.*fudge_higgs*s/vev**2"; nl ();
+ printf " a00_f = a00_f !!! - 0*5.*(1-ghvva)**2/vev**2*mass(25)**2"; nl ();
printf " !!! Low energy theory alphas"; nl ();
- printf " a00_0 = 2*fudge_higgs*vev**2/s + 8*(7*a4 + 11*a5)/3"; nl ();
- printf " a00_1 = 25*log(lam_reg**2/s)/9 + 11./54.0_default"; nl ();
- printf " a00(6) = a00_0 !!! + a00_1/16/Pi**2"; nl ();
- printf " a00(6) = fudge_km*jj*a00(6)**2 / (1.0_default - jj*a00(6))"; nl ();
- printf " amp_00 = sum(a00)"; nl ();
+ printf " a00_0 = 8.*(7.*a4 + 11.*a5)/3.*s**2/vev**4"; nl ();
+ printf " a00_1 = (25.*log(lam_reg**2/s)/9 + 11./54.0_default)*s**2/vev**4"; nl ();
+ printf " a00_a = a00_0 !!! + a00_1/16./Pi**2"; nl ();
+ printf " !!! Unitarize"; nl ();
+ printf " if (fudge_km /= 0) then"; nl ();
+ printf " amp_00 = sum(a00)+a00_f+a00_a"; nl();
+ printf " if (amp_00 /= 0) then"; nl ();
+ printf " amp_00 = - a00_a - a00_f+ 1/(realpart(1/amp_00)-ii)"; nl();
+ printf " end if"; nl ();
+ printf " else"; nl ();
+ printf " amp_00 = sum(a00)+a00_f"; nl ();
+ printf " end if"; nl ();
+ printf " amp_00 = vev**4/s**2 * amp_00"; nl ();
printf " end function da00"; nl();
nl ();
printf " %sfunction da02 (cc, s, m) result (amp_02)" pure; nl ();
printf " real(kind=default), intent(in) :: s"; nl ();
- printf " real(kind=default), dimension(5), intent(in) :: m, cc"; nl ();
- printf " real(kind=default) :: a02_0, a02_1"; nl ();
- printf " complex(kind=default), dimension(1:6) :: a02"; nl ();
+ printf " real(kind=default), dimension(1:8), intent(in) :: cc"; nl ();
+ printf " real(kind=default), dimension(1:5), intent(in) :: m"; nl ();
+ printf " complex(kind=default) :: a02_0, a02_1, a02_a"; nl ();
+ printf " complex(kind=default), dimension(1:7) :: a02"; nl ();
printf " complex(kind=default) :: ii, jj, amp_02"; nl ();
+ printf " real(kind=default) :: kappal, kappam, kappat"; nl ();
printf " ii = cmplx(0.0,1.0/32.0/Pi,default)"; nl ();
printf " jj = s**2/vev**4*ii"; nl ();
+ printf " kappal = cc(8)*((mass(23)**2+mass(24)**2)/m(4)**2-2*mass(23)**2*mass(24)**2/m(4)**4)"; nl ();
+ printf " kappam = cc(8)*((mass(23)**4+mass(24)**4)/m(4)**2/(mass(23)**2+mass(24)**2) &"; nl ();
+ printf " - 2*mass(23)**2*mass(24)**2/m(4)**4)"; nl ();
+ printf " kappat = cc(8)*mass(23)**2*mass(24)**2/m(4)**4"; nl ();
+ printf " !!! Longitudinal"; nl ();
printf " !!! Scalar isosinglet"; nl ();
- printf " a02(1) = 2.0*cc(1)**2/vev**2 * s2stu(s,m(1))"; nl ();
- printf " a02(1) = vev**4/s**2*a02(1)/&"; nl ();
- printf " (1.0_default - fudge_km*ii*a02(1))"; nl ();
+ printf " a02(1) = -2.0*cc(1)**2/vev**2 * s2stu(s,m(1))"; nl ();
printf " !!! Scalar isoquintet"; nl ();
- printf " a02(2) = 5.0*cc(2)**2/vev**2 * s2stu(s,m(2)) / 3.0"; nl ();
- printf " a02(2) = vev**4/s**2*a02(2)/&"; nl ();
- printf " (1.0_default - fudge_km*ii*a02(2))"; nl ();
+ printf " a02(2) = -5.0*cc(2)**2/vev**2 * s2stu(s,m(2)) / 3.0"; nl ();
printf " !!! Vector isotriplet"; nl ();
- printf " a02(3) = 4.0*cc(3)**2*(2*s+m(3)**2)*s2stu(s,m(3))/m(3)**4"; nl ();
- printf " a02(3) = vev**4/s**2*a02(3)/&"; nl ();
- printf " (1.0_default - fudge_km*ii*a02(3))"; nl ();
+ printf " a02(3) = -4.0*cc(3)**2*(2*s+m(3)**2)*s2stu(s,m(3))/m(3)**4"; nl ();
printf " !!! Tensor isosinglet"; nl ();
- printf " if (cc(4).ne.0) then"; nl ();
- printf " if (fudge_km.ne.0) then"; nl ();
- printf " a02(4) = vev**4/s**2 * fudge_km * &"; nl ();
- printf " cmplx(0.0,32.0*Pi,default)*(1.0 + &"; nl ();
- printf " (s-m(4)**2)/(ii*cc(4)**2/vev**2*(s**2/10.0 + &"; nl ();
- printf " (s-m(4)**2)*((1.0+6.0*s/m(4)**2+6.0* &"; nl ();
- printf " s**2/m(4)**4)* s2stu(s,m(4))/3.0 &"; nl ();
- printf " + s**2/m(4)**2/180.0)) - (s-m(4)**2)))"; nl ();
- printf " else"; nl ();
- printf " a02(4) = vev**2/s**2 * cc(4)**2 * ( s**2/ &"; nl ();
- printf " cmplx(s-m(4)**2,m(4)*width_res(w_res,4,wkm(4),&"; nl ();
- printf " m(4),cc(4)),default)/10.0 + &"; nl ();
- printf " (1.+6.*s/m(4)**2+6.*s**2/m(4)**4)*s2stu(s,m(4))/ &"; nl ();
- printf " 3. + s**2/m(4)**2/180.)"; nl ();
- printf " end if"; nl ();
- printf " else"; nl ();
- printf " a02(4) = 0"; nl ();
+ printf " a02(4) = - cc(4)**2/vev**2/3 * &"; nl ();
+ printf " ((1.+6.*s/m(4)**2+6.*s**2/m(4)**4)-2*kappal) * s2stu(s,m(4))"; nl ();
+ printf " if (cc(4) /= 0) then"; nl ();
+ printf " a02(4) = a02(4) - cc(4)**2/vev**2/10. &"; nl ();
+ printf " * s**2/cmplx(s-m(4)**2,width_res(w_res,4,wkm(4),m(4),cc(4)),default)*s**2/m(4)**3"; nl ();
printf " end if"; nl ();
printf " !!! Tensor isoquintet"; nl ();
- printf " a02(5) = cc(5)**2/vev**2*(5.0*(1.0+6.0* &"; nl ();
+ printf " a02(5) = -cc(5)**2/vev**2*(5.0*(1.0+6.0* &"; nl ();
printf " s/m(5)**2+6.0*s**2/m(5)**4)*s2stu(s,m(5))/3.0 &"; nl ();
- printf " + s**2/m(5)**2/216.0)/6.0"; nl ();
- printf " a02(5) = vev**4/s**2*a02(5)/&"; nl ();
- printf " (1.0_default - fudge_km*ii*a02(5))"; nl ();
+ printf " )/6.0"; nl ();
+ printf " !!! Transversal"; nl ();
+ printf " !!! Tensor isosinglet"; nl ();
+ printf " a02(6) = - cc(6)**2/Pi/vev**6*mass(23)**2*mass(24)**2/40* s**2"; nl ();
+ printf " if (a02(6) /= 0) then"; nl ();
+ printf " a02(6) = a02(6)/cmplx(s-m(4)**2, - w_res/32/Pi * realpart(a02(6)),default) "; nl ();
+ printf " end if"; nl ();
+ printf " a02(6) = a02(6) - cc(6)**2/Pi/vev**6*mass(23)**2*mass(24)**2/12 * (s2stu(s,m(4)) &"; nl ();
+ printf " * (3*(1+2*s/m(4)**2+2*s**2/m(4)**4)+kappat ))"; nl ();
+ printf " !!! Mixed"; nl ();
+ printf " !!! Tensor isosinglet"; nl ();
+ printf " a02(7) = - cc(7)*cc(6)*cc(4)/Pi/vev**4*(mass(23)**2+mass(24)**2)/20 &"; nl ();
+ printf " * s**2"; nl ();
+ printf " if (a02(7) /= 0) then"; nl ();
+ printf " a02(7) = a02(7)/cmplx(s-m(4)**2, - w_res/32/Pi * realpart(a02(7)),default) "; nl ();
+ printf " end if"; nl ();
+ printf " a02(7) = a02(7) - cc(7)*cc(6)*cc(4)/Pi/vev**4*(mass(23)**2+mass(24)**2)/12 * (s2stu(s,m(4)) &"; nl ();
+ printf " * (12*s/m(4)**2+12*s**2/m(4)**4+2*kappam ))"; nl ();
printf " !!! Low energy theory alphas"; nl ();
- printf " a02_0 = 8*(2*a4 + a5)/15"; nl ();
- printf " a02_1 = log(lam_reg**2/s)/9 - 7./135.0_default"; nl ();
- printf " a02(6) = a02_0 !!! + a02_1/16/Pi**2"; nl ();
- printf " a02(6) = fudge_km*jj*a02(6)**2 / (1.0_default - jj*a02(6))"; nl ();
- printf " amp_02 = sum(a02)"; nl ();
+ printf " a02_0 = (8.*(2.*a4 + a5)/15.) * s**2/vev**4"; nl ();
+ printf " a02_1 = (log(lam_reg**2/s)/9. - 7./135.0_default) * s**2/vev**4"; nl ();
+ printf " a02_a = a02_0 !!! + a02_1/16/Pi**2"; nl ();
+ printf " !!! Unitarize"; nl ();
+ printf " if (fudge_km /= 0) then"; nl ();
+ printf " amp_02 = sum(a02)+a02_a"; nl();
+ printf " if (amp_02 /= 0) then"; nl ();
+ printf " amp_02 = - a02_a + 1/(realpart(1/amp_02)-ii)"; nl();
+ printf " end if"; nl ();
+ printf " else"; nl ();
+ printf " amp_02 = sum(a02)"; nl ();
+ printf " end if"; nl ();
+ printf " amp_02 = vev**4/s**2 * amp_02"; nl ();
printf " end function da02"; nl();
nl ();
printf " %sfunction da11 (cc, s, m) result (amp_11)" pure; nl ();
printf " real(kind=default), intent(in) :: s"; nl ();
- printf " real(kind=default), dimension(5), intent(in) :: m, cc"; nl ();
- printf " real(kind=default) :: a11_0, a11_1"; nl ();
- printf " complex(kind=default), dimension(1:6) :: a11"; nl ();
+ printf " real(kind=default), dimension(1:8), intent(in) :: cc"; nl ();
+ printf " real(kind=default), dimension(1:5), intent(in) :: m"; nl ();
+ printf " complex(kind=default) :: a11_0, a11_1, a11_a, a11_f"; nl ();
+ printf " complex(kind=default), dimension(1:7) :: a11"; nl ();
printf " complex(kind=default) :: ii, jj, amp_11"; nl ();
+ printf " real(kind=default) :: kappal, kappam, kappat"; nl ();
printf " ii = cmplx(0.0,1.0/32.0/Pi,default)"; nl ();
printf " jj = s**2/vev**4*ii"; nl ();
+ printf " kappal = cc(8)*((mass(23)**2+mass(24)**2)/m(4)**2-2*mass(23)**2*mass(24)**2/m(4)**4)"; nl ();
+ printf " kappam = cc(8)*((mass(23)**4+mass(24)**4)/m(4)**2/(mass(23)**2+mass(24)**2) &"; nl ();
+ printf " - 2*mass(23)**2*mass(24)**2/m(4)**4)"; nl ();
+ printf " kappat = cc(8)*mass(23)**2*mass(24)**2/m(4)**4"; nl ();
+ printf " !!! Longitudinal"; nl ();
printf " !!! Scalar isosinglet"; nl ();
- printf " a11(1) = 2.0*cc(1)**2/vev**2 * s1stu(s,m(1))"; nl ();
- printf " a11(1) = vev**4/s**2*a11(1)/&"; nl ();
- printf " (1.0_default - fudge_km*ii*a11(1))"; nl ();
+ printf " a11(1) = - 2.0*cc(1)**2/vev**2 * s1stu(s,m(1))"; nl ();
printf " !!! Scalar isoquintet"; nl ();
- printf " a11(2) = - 5.0*cc(2)**2/vev**2 * s1stu(s,m(2)) / 6.0"; nl ();
- printf " a11(2) = vev**4/s**2*a11(2)/&"; nl ();
- printf " (1.0_default - fudge_km*ii*a11(2))"; nl ();
+ printf " a11(2) = 5.0*cc(2)**2/vev**2 * s1stu(s,m(2)) / 6.0"; nl ();
printf " !!! Vector isotriplet"; nl ();
- printf " if (cc(3).ne.0) then"; nl ();
- printf " if (fudge_km.ne.0) then"; nl ();
- printf " a11(3) = vev**4/s**2 * fudge_km * &"; nl ();
- printf " cmplx(0.0,32.0*Pi,default)*(1.0 + (s-m(3)**2) &"; nl ();
- printf " /(ii*cc(3)**2*(2.0*s/3.0 + (s-m(3)**2)&"; nl ();
- printf " *(s/m(3)**2+2.0*p1stu(s,m(3)))) - (s-m(3)**2)))"; nl ();
- printf " else"; nl ();
- printf " a11(3) = vev**4/s**2 * cc(3)**2 * ( 2.*s / &"; nl ();
- printf " cmplx(s-m(3)**2,m(3)*width_res(w_res,3,wkm(3),m(3),&"; nl ();
- printf " cc(3)),default)/3. + s/m(3)**2 + 2.*p1stu(s,m(3)))"; nl ();
- printf " end if"; nl ();
- printf " else"; nl ();
- printf " a11(3) = 0"; nl ();
+ printf " a11(3) = - cc(3)**2 * &"; nl ();
+ printf " (s/m(3)**2 + 2. * p1stu(s,m(3)))"; nl ();
+ printf " if (cc(3) /= 0) then"; nl ();
+ printf " a11(3) = a11(3) -2./3. * cc(3)**2 * &"; nl ();
+ printf " s/cmplx(s-m(3)**2,s/m(3)*width_res(w_res,3,wkm(3),m(3),cc(3)),default) "; nl ();
printf " end if"; nl ();
printf " !!! Tensor isosinglet"; nl ();
- printf " a11(4) = cc(4)**2/vev**2*(d1stu(s,m(4)) &"; nl ();
- printf " /3.0 - s**2/m(4)**2/36.0)"; nl ();
- printf " a11(4) = vev**4/s**2*a11(4)/&"; nl ();
- printf " (1.0_default - fudge_km*ii*a11(4))"; nl ();
+ printf " a11(4) = - cc(4)**2/vev**2*(d1stu(s,m(4)-2*kappal*s1stu(s,m(4))) &"; nl ();
+ printf " /3.0)"; nl ();
printf " !!! Tensor isoquintet"; nl ();
- printf " a11(5) = 5.0*cc(5)**2/vev**2*(-d1stu(s,m(5)) &"; nl ();
- printf " + s**2/m(5)**2/12.0)/36.0"; nl ();
- printf " a11(5) = vev**4/s**2*a11(5)/&"; nl ();
- printf " (1.0_default - fudge_km*ii*a11(5))"; nl ();
+ printf " a11(5) = 5.0*cc(5)**2/vev**2*(d1stu(s,m(5)) &"; nl ();
+ printf " )/36.0"; nl ();
+ printf " !!! Transversal"; nl ();
+ printf " !!! Tensor isosinglet"; nl ();
+ printf " a11(6) = -cc(6)**2/Pi/vev**6*mass(23)**2*mass(24)**2/12 * (s1stu(s,m(4)) * &"; nl ();
+ printf " (3*(1+2*s/m(4)**2+2*s**2/m(4)**4)+kappat ) - (s/m(4)**2+s**2/m(4)**4)*s)"; nl ();
+ printf " !!! Mixed"; nl ();
+ printf " !!! Tensor isosinglet"; nl ();
+ printf " a11(7) = -cc(7)*cc(6)*cc(4)/Pi/vev**4*(mass(23)**2+mass(24)**2)/12 * (s1stu(s,m(4)) &"; nl ();
+ printf " * (12*s/m(4)**2+12*s**2/m(4)**4+2*kappam ) - 2*(s/m(4)**2+s**2/m(4)**4)*s)"; nl ();
+ printf " !!! Fudge-Higgs"; nl ();
+ printf " a11_f = fudge_higgs*s/3./vev**2"; nl ();
printf " !!! Low energy theory alphas"; nl ();
- printf " a11_0 = fudge_higgs*vev**2/3/s + 4*(a4 - 2*a5)/3"; nl ();
- printf " a11_1 = - 1.0/54.0_default"; nl ();
- printf " a11(6) = a11_0 !!! + a11_1/16/Pi**2"; nl ();
- printf " a11(6) = fudge_km*jj*a11(6)**2 / (1.0_default - jj*a11(6))"; nl ();
- printf " amp_11 = sum(a11)"; nl ();
+ printf " a11_0 = 4.*(a4 - 2*a5)/3. * s**2/vev**4 "; nl ();
+ printf " a11_1 = - 1.0/54.0_default * s**2/vev**4"; nl ();
+ printf " a11_a = a11_0 !!! + a11_1/16/Pi**2"; nl ();
+ printf " !!! Unitarize"; nl ();
+ printf " if (fudge_km /= 0) then"; nl ();
+ printf " amp_11 = sum(a11)+a11_f+a11_a"; nl();
+ printf " if (amp_11 /= 0) then"; nl ();
+ printf " amp_11 = - a11_a - a11_f + 1/(realpart(1/amp_11)-ii)"; nl();
+ printf " end if"; nl ();
+ printf " else"; nl ();
+ printf " amp_11 = sum(a11)+a11_f"; nl ();
+ printf " end if"; nl ();
+ printf " amp_11 = vev**4/s**2 * amp_11"; nl ();
printf " end function da11"; nl();
nl ();
printf " %sfunction da20 (cc, s, m) result (amp_20)" pure; nl ();
printf " real(kind=default), intent(in) :: s"; nl ();
- printf " real(kind=default), dimension(1:5), intent(in) :: m, cc"; nl ();
- printf " real(kind=default) :: a20_0, a20_1"; nl ();
- printf " complex(kind=default), dimension(1:6) :: a20"; nl ();
+ printf " real(kind=default), dimension(1:8), intent(in) :: cc"; nl ();
+ printf " real(kind=default), dimension(1:5), intent(in) :: m"; nl ();
+ printf " complex(kind=default) :: a20_0, a20_1, a20_a, a20_f"; nl ();
+ printf " complex(kind=default), dimension(1:7) :: a20"; nl ();
printf " complex(kind=default) :: ii, jj, amp_20"; nl ();
+ printf " real(kind=default) :: kappal, kappam, kappat"; nl ();
printf " ii = cmplx(0.0,1.0/32.0/Pi,default)"; nl ();
printf " jj = s**2/vev**4*ii"; nl ();
printf " !!! Scalar isosinglet"; nl ();
- printf " a20(1) = 2.0*cc(1)**2/vev**2 * s0stu(s,m(1))"; nl ();
- printf " a20(1) = vev**4/s**2*a20(1)/&"; nl ();
- printf " (1.0_default - fudge_km*ii*a20(1))"; nl ();
+ printf " kappal = cc(8)*((mass(23)**2+mass(24)**2)/m(4)**2-2*mass(23)**2*mass(24)**2/m(4)**4)"; nl ();
+ printf " kappam = cc(8)*((mass(23)**4+mass(24)**4)/m(4)**2/(mass(23)**2+mass(24)**2) &"; nl ();
+ printf " - 2*mass(23)**2*mass(24)**2/m(4)**4)"; nl ();
+ printf " kappat = cc(8)*mass(23)**2*mass(24)**2/m(4)**4"; nl ();
+ printf " !!! Longitudinal"; nl ();
+ printf " a20(1) = -2.0*cc(1)**2/vev**2 * s0stu(s,m(1))"; nl ();
printf " !!! Scalar isoquintet"; nl ();
- printf " if (cc(2).ne.0) then"; nl ();
- printf " if (fudge_km.ne.0) then"; nl ();
- printf " a20(2) = vev**4/s**2 * fudge_km * &"; nl ();
- printf " cmplx(0.0,32.0*Pi,default)*(1.0 + &"; nl ();
- printf " (s-m(2)**2)/(ii*cc(2)**2/vev**2*(s**2/2.0 + &"; nl ();
- printf " (s-m(2)**2)*s0stu(s,m(2))/6.0) - (s-m(2)**2)))"; nl ();
- printf " else"; nl ();
- printf " a20(2) = vev**2/s**2 * cc(2)**2 * ( s**2 / &"; nl ();
- printf " cmplx(s-m(2)**2,m(2)*width_res(w_res,2,wkm(2),&"; nl ();
- printf " m(2),cc(2)),default)/2. + s0stu(s,m(2))/6.)"; nl ();
- printf " end if"; nl ();
- printf " else"; nl ();
- printf " a20(2) = 0"; nl ();
+ printf " a20(2) = - cc(2)**2/vev**2/6. * s0stu(s,m(2))"; nl ();
+ printf " if (cc(2) /= 0) then"; nl ();
+ printf " a20(2) = a20(2) - cc(2)**2/vev**2/2. *&"; nl ();
+ printf " s**2/cmplx(s-m(2)**2,s**2/m(2)**3*width_res(w_res,2,wkm(2),m(2),cc(2)),default)"; nl ();
printf " end if"; nl ();
printf " !!! Vector isotriplet"; nl ();
- printf " a20(3) = - cc(3)**2*(2.0*p0stu(s,m(3)) + 3.0*s/m(3)**2)"; nl ();
- printf " a20(3) = vev**4/s**2*a20(3)/&"; nl ();
- printf " (1.0_default - fudge_km*ii*a20(3))"; nl ();
- printf " !!! Tensor isosinglet"; nl ();
- printf " a20(4) = cc(4)**2/vev**2*(d1stu(s,m(4)) &"; nl ();
- printf " /3.0 + s**2/m(4)**2/18.0)"; nl ();
- printf " a20(4) = vev**4/s**2*a20(4)/&"; nl ();
- printf " (1.0_default - fudge_km*ii*a20(4))"; nl ();
+ printf " a20(3) = cc(3)**2*(2.0*p0stu(s,m(3)) + 3.0*s/m(3)**2)"; nl ();
+ printf " !!! Tensor isosinglet"; nl ();
+ printf " a20(4) = - cc(4)**2/vev**2*(d0stu(s,m(4)-2*kappal*s0stu(s,m(4))) &"; nl ();
+ printf " /3.0)"; nl ();
printf " !!! Tensor isoquintet"; nl ();
- printf " a20(5) = cc(5)**2/vev**2*(d0stu(s,m(5)) &"; nl ();
- printf " + 5.0*s**2/m(4)**2/3.0)/36.0"; nl ();
- printf " a20(5) = vev**4/s**2*a20(5)/&"; nl ();
- printf " (1.0_default - fudge_km*ii*a20(5))"; nl ();
+ printf " a20(5) = - cc(5)**2/vev**2*(d0stu(s,m(5)) &"; nl ();
+ printf " )/36.0"; nl ();
+ printf " !!! Transversal"; nl ();
+ printf " !!! Tensor isosinglet"; nl ();
+ printf " a20(6) = -cc(6)**2/Pi/vev**6*mass(23)**2*mass(24)**2/12 * (s0stu(s,m(4)) &"; nl ();
+ printf " * (3*(1+2*s/m(4)**2+2*s**2/m(4)**4)+kappat ) - 3*(s/m(4)**2-s**2/m(4)**4)*s)"; nl ();
+ printf " !!! Mixed"; nl ();
+ printf " !!! Tensor isosinglet"; nl ();
+ printf " a20(7) = -cc(7)*cc(6)*cc(4)/Pi/vev**4*(mass(23)**2+mass(24)**2)/12 * (s0stu(s,m(4)) &"; nl ();
+ printf " * (12*s/m(4)**2+12*s**2/m(4)**4+2*kappam ) - 6*(s/m(4)**2-s**2/m(4)**4)*s)"; nl ();
+ printf " !!! Fudge-Higgs"; nl ();
+ printf " a20_f = - fudge_higgs*s/vev**2"; nl ();
+ printf " a20_f = a20_f - 0*2*(1-ghvva)**2/vev**2*mass(25)**2"; nl ();
printf " !!! Low energy theory alphas"; nl ();
- printf " a20_0 = -fudge_higgs*vev**2/s + 16*(2*a4 + a5)/3"; nl ();
- printf " a20_1 = 10*log(lam_reg**2/s)/9 + 25/108.0_default"; nl ();
- printf " a20(6) = a20_0 !!! + a20_1/16/Pi**2"; nl ();
- printf " a20(6) = fudge_km*jj*a20(6)**2 / (1.0_default - jj*a20(6))"; nl ();
- printf " amp_20 = sum(a20)"; nl ();
+ printf " a20_0 = 16*(2*a4 + a5)/3*s**2/vev**4"; nl ();
+ printf " a20_1 = (10*log(lam_reg**2/s)/9 + 25/108.0_default) * s**2/vev**4"; nl ();
+ printf " a20_a = a20_0 !!! + a20_1/16/Pi**2"; nl ();
+ printf " !!! Unitarize"; nl ();
+ printf " if (fudge_km /= 0) then"; nl ();
+ printf " amp_20 = sum(a20)+a20_f+a20_a"; nl();
+ printf " if (amp_20 /= 0) then"; nl ();
+ printf " amp_20 = - a20_a - a20_f + 1/(realpart(1/amp_20)-ii)"; nl();
+ printf " end if"; nl ();
+ printf " else"; nl ();
+ printf " amp_20 = sum(a20)+a20_f"; nl ();
+ printf " end if"; nl ();
+ printf " amp_20 = vev**4/s**2 * amp_20"; nl ();
printf " end function da20"; nl();
nl ();
printf " %sfunction da22 (cc, s, m) result (amp_22)" pure; nl ();
printf " real(kind=default), intent(in) :: s"; nl ();
- printf " real(kind=default), dimension(1:5), intent(in) :: m, cc"; nl ();
- printf " real(kind=default) :: a22_0, a22_1"; nl ();
- printf " complex(kind=default), dimension(1:6) :: a22"; nl ();
+ printf " real(kind=default), dimension(1:8), intent(in) :: cc"; nl ();
+ printf " real(kind=default), dimension(1:5), intent(in) :: m"; nl ();
+ printf " complex(kind=default) :: a22_0, a22_1, a22_a, a22_r"; nl ();
+ printf " complex(kind=default), dimension(1:7) :: a22"; nl ();
printf " complex(kind=default) :: ii, jj, amp_22"; nl ();
+ printf " real(kind=default) :: kappal, kappam, kappat"; nl ();
printf " ii = cmplx(0.0,1.0/32.0/Pi,default)"; nl ();
printf " jj = s**2/vev**4*ii"; nl ();
+ printf " kappal = cc(8)*((mass(23)**2+mass(24)**2)/m(4)**2-2*mass(23)**2*mass(24)**2/m(4)**4)"; nl ();
+ printf " kappam = cc(8)*((mass(23)**4+mass(24)**4)/m(4)**2/(mass(23)**2+mass(24)**2) &"; nl ();
+ printf " - 2*mass(23)**2*mass(24)**2/m(4)**4)"; nl ();
+ printf " kappat = cc(8)*mass(23)**2*mass(24)**2/m(4)**4"; nl ();
+ printf " !!! Longitudinal"; nl ();
printf " !!! Scalar isosinglet"; nl ();
- printf " a22(1) = 2.0*cc(1)**2/vev**2 * s2stu(s,m(1))"; nl ();
- printf " a22(1) = vev**4/s**2*a22(1)/&"; nl ();
- printf " (1.0_default - fudge_km*ii*a22(1))"; nl ();
+ printf " a22(1) = - 2.0*cc(1)**2/vev**2 * s2stu(s,m(1))"; nl ();
printf " !!! Scalar isoquintet"; nl ();
- printf " a22(2) = cc(2)**2/vev**2 * s2stu(s,m(2)) / 6.0"; nl ();
- printf " a22(2) = vev**4/s**2*a22(2)/&"; nl ();
- printf " (1.0_default - fudge_km*ii*a22(2))"; nl ();
+ printf " a22(2) = - cc(2)**2/vev**2 * s2stu(s,m(2)) / 6.0"; nl ();
printf " !!! Vector triplet"; nl ();
- printf " a22(3) = - 2.0*cc(3)**2*(2*s+m(3)**2)*s2stu(s,m(3))/m(3)**4"; nl ();
- printf " a22(3) = vev**4/s**2*a22(3)/&"; nl ();
- printf " (1.0_default - fudge_km*ii*a22(3))"; nl ();
- printf " !!! Tensor isosinglet"; nl ();
- printf " a22(4) = cc(4)**2/vev**2*((1.0 + 6.0*s/m(4)**2+6.0* &"; nl ();
- printf " s**2/m(4)**4)*s2stu(s,m(4))/3.0 + s**2/m(4)**2/180.0)"; nl ();
- printf " a22(4) = vev**4/s**2*a22(4)/&"; nl ();
- printf " (1.0_default - fudge_km*ii*a22(4))"; nl ();
+ printf " a22(3) = 2.0*cc(3)**2*(2*s+m(3)**2)*s2stu(s,m(3))/m(3)**4"; nl ();
+ printf " !!! Tensor isosinglet"; nl ();
+ printf " a22(4) = - cc(4)**2/vev**2*((1.0 + 6.0*s/m(4)**2 &"; nl ();
+ printf " +6.0*s**2/m(4)**4-2*kappal)*s2stu(s,m(4))/3.0)"; nl ();
printf " !!! Tensor isoquintet"; nl ();
- printf " if (cc(5).ne.0) then"; nl ();
- printf " if (fudge_km.ne.0) then"; nl ();
- printf " a22(5) = vev**4 / s**2 * & "; nl ();
- printf " cmplx(0.0,32.0*Pi,default)*(1.0 + &"; nl ();
- printf " (s-m(5)**2)/(ii*cc(5)**2/vev**2*(s**2/60.0 + &"; nl ();
- printf " (s-m(5)**2)*((1.0+6.0*s/m(5)**2+6.0* &"; nl ();
- printf " s**2/m(5)**4)*s2stu(s,m(5))/36.0 &"; nl ();
- printf " + s**2/m(5)**2/2160.0)) - (s-m(5)**2)))"; nl ();
- printf " else"; nl ();
- printf " a22(5) = vev**2/s**2 * cc(5)**2 * ( s**2 / &"; nl ();
- printf " cmplx(s-m(5)**2,m(5)*width_res(w_res,5,wkm(5),&"; nl ();
- printf " m(5),cc(5)),default)/80. + (1.0+6.0* &"; nl ();
- printf " s/m(5)**2+6.0*s**2/m(5)**4)*s2stu(s,m(5))/36.0 + &"; nl ();
- printf " s**2/m(5)**2/2160.0)"; nl ();
- printf " end if"; nl ();
- printf " else"; nl ();
- printf " a22(5) = 0"; nl ();
+ printf " a22(5) = - cc(5)**2/vev**2/36. * &"; nl ();
+ printf " ((1.+6.*s/m(5)**2+6.*s**2/m(5)**4 ) &"; nl ();
+ printf " * s2stu(s,m(5)))"; nl ();
+ printf " if (cc(5) /= 0) then"; nl ();
+ printf " a22(5) = a22(5) - cc(5)**2/vev**2/60 * &"; nl ();
+ printf " s**2/cmplx(s-m(5)**2,s**2/m(5)**3*width_res(w_res,5,wkm(5),m(5),cc(5)),default)"; nl ();
printf " end if"; nl ();
+ printf " !!! Transversal"; nl ();
+ printf " !!! Tensor isosinglet"; nl ();
+ printf " a22(6) = -cc(6)**2/Pi/vev**6*mass(23)**2*mass(24)**2/12 * (s2stu(s,m(4)) &"; nl ();
+ printf " * (3*(1+2*s/m(4)**2+2*s**2/m(4)**4)+kappat ))"; nl ();
+ printf " !!! Mixed"; nl ();
+ printf " !!! Tensor isosinglet"; nl ();
+ printf " a22(7) = -cc(7)*cc(6)*cc(4)/Pi/vev**4*(mass(23)**2+mass(24)**2)/12 * (s2stu(s,m(4)) &"; nl ();
+ printf " * (12*s/m(4)**2+12*s**2/m(4)**4+2*kappam ))"; nl ();
printf " !!! Low energy theory alphas"; nl ();
- printf " a22_0 = 4*(a4 + 2*a5)/15"; nl ();
- printf " a22_1 = 2*log(lam_reg**2/s)/45 - 247/5400.0_default"; nl ();
- printf " a22(6) = a22_0 !!! + a22_1/16/Pi**2"; nl ();
- printf " a22(6) = fudge_km*jj*a22(6)**2 / (1.0_default - jj*a22(6))"; nl ();
- printf " amp_22 = sum(a22)"; nl ();
+ printf " a22_0 = 4*(a4 + 2*a5)/15*s**2/vev**4 "; nl ();
+ printf " a22_1 = (2*log(lam_reg**2/s)/45 - 247/5400.0_default)*s**2/vev**4"; nl ();
+ printf " a22_a = a22_0 !!! + a22_1/16/Pi**2"; nl ();
+ printf " !!! Unitarize"; nl ();
+ printf " if (fudge_km /= 0) then"; nl ();
+ printf " amp_22 = sum(a22)+a22_a"; nl();
+ printf " if (amp_22 /= 0) then"; nl ();
+ printf " amp_22 = - a22_a + 1/(realpart(1/amp_22)-ii)"; nl();
+ printf " end if"; nl ();
+ printf " else"; nl ();
+ printf " amp_22 = sum(a22)"; nl ();
+ printf " end if"; nl ();
+ printf " amp_22 = vev**4/s**2 * amp_22"; nl ();
printf " end function da22"; nl();
nl ();
printf " %sfunction dalzz0_s (cc,m,k) result (alzz0_s)" pure; nl ();
printf " type(momentum), intent(in) :: k"; nl ();
- printf " real(kind=default), dimension(1:5), intent(in) :: cc, m"; nl ();
+ printf " real(kind=default), dimension(1:8), intent(in) :: cc"; nl ();
+ printf " real(kind=default), dimension(1:5), intent(in) :: m"; nl ();
printf " complex(kind=default) :: alzz0_s"; nl ();
printf " real(kind=default) :: s"; nl ();
printf " s = k*k"; nl ();
printf " alzz0_s = 2*g**4/costhw**2*((da00(cc,s,m) &"; nl ();
printf " - da20(cc,s,m))/24 &"; nl ();
- printf " - 5*(da02(cc,s,m) - da22(cc,s,m))/12)"; nl ();
+ printf " - (5.)*(da02(cc,s,m) - da22(cc,s,m))/12)"; nl ();
printf " end function dalzz0_s"; nl ();
nl ();
printf " %sfunction dalzz0_t (cc,m,k) result (alzz0_t)" pure; nl ();
printf " type(momentum), intent(in) :: k"; nl ();
- printf " real(kind=default), dimension(1:5), intent(in) :: cc, m"; nl ();
+ printf " real(kind=default), dimension(1:8), intent(in) :: cc"; nl ();
+ printf " real(kind=default), dimension(1:5), intent(in) :: m"; nl ();
printf " complex(kind=default) :: alzz0_t"; nl ();
printf " real(kind=default) :: s"; nl ();
printf " s = k*k"; nl ();
- printf " alzz0_t = 5*g**4/costhw**2*(da02(cc,s,m) - &"; nl ();
+ printf " alzz0_t = (5.)*g**4/costhw**2*(da02(cc,s,m) - &"; nl ();
printf " da22(cc,s,m))/4"; nl ();
printf " end function dalzz0_t"; nl ();
nl ();
printf " %sfunction dalzz1_s (cc,m,k) result (alzz1_s)" pure; nl ();
printf " type(momentum), intent(in) :: k"; nl ();
- printf " real(kind=default), dimension(1:5), intent(in) :: cc, m"; nl ();
+ printf " real(kind=default), dimension(1:8), intent(in) :: cc"; nl ();
+ printf " real(kind=default), dimension(1:5), intent(in) :: m"; nl ();
printf " complex(kind=default) :: alzz1_s"; nl ();
printf " real(kind=default) :: s"; nl ();
printf " s = k*k"; nl ();
printf " alzz1_s = g**4/costhw**2*(da20(cc,s,m)/8 &"; nl ();
- printf " - 5*da22(cc,s,m)/4)"; nl ();
+ printf " - (5.)*da22(cc,s,m)/4)"; nl ();
printf " end function dalzz1_s"; nl ();
nl ();
printf " %sfunction dalzz1_t (cc,m,k) result (alzz1_t)" pure; nl ();
printf " type(momentum), intent(in) :: k"; nl ();
- printf " real(kind=default), dimension(1:5), intent(in) :: cc, m"; nl ();
+ printf " real(kind=default), dimension(1:8), intent(in) :: cc"; nl ();
+ printf " real(kind=default), dimension(1:5), intent(in) :: m"; nl ();
printf " complex(kind=default) :: alzz1_t"; nl ();
printf " real(kind=default) :: s"; nl ();
printf " s = k*k"; nl ();
- printf " alzz1_t = g**4/costhw**2*(- 3*da11(cc,s,m)/8 &"; nl ();
- printf " + 15*da22(cc,s,m)/8)"; nl ();
+ printf " alzz1_t = g**4/costhw**2*(- (3.)*da11(cc,s,m)/8 &"; nl ();
+ printf " + 3*(5.)*da22(cc,s,m)/8)"; nl ();
printf " end function dalzz1_t"; nl ();
nl ();
printf " %sfunction dalzz1_u (cc,m,k) result (alzz1_u)" pure; nl ();
printf " type(momentum), intent(in) :: k"; nl ();
- printf " real(kind=default), dimension(1:5), intent(in) :: cc, m"; nl ();
+ printf " real(kind=default), dimension(1:8), intent(in) :: cc"; nl ();
+ printf " real(kind=default), dimension(1:5), intent(in) :: m"; nl ();
printf " complex(kind=default) :: alzz1_u"; nl ();
printf " real(kind=default) :: s"; nl ();
printf " s = k*k"; nl ();
- printf " alzz1_u = g**4/costhw**2*(3*da11(cc,s,m)/8 &"; nl ();
- printf " + 15*da22(cc,s,m)/8)"; nl ();
+ printf " alzz1_u = g**4/costhw**2*((3.)*da11(cc,s,m)/8 &"; nl ();
+ printf " + 3*(5.)*da22(cc,s,m)/8)"; nl ();
printf " end function dalzz1_u"; nl ();
nl ();
printf " %sfunction dalww0_s (cc,m,k) result (alww0_s)" pure; nl ();
printf " type(momentum), intent(in) :: k"; nl ();
- printf " real(kind=default), dimension(1:5), intent(in) :: cc, m"; nl ();
+ printf " real(kind=default), dimension(1:8), intent(in) :: cc"; nl ();
+ printf " real(kind=default), dimension(1:5), intent(in) :: m"; nl ();
printf " complex(kind=default) :: alww0_s"; nl ();
printf " real(kind=default) :: s"; nl ();
printf " s = k*k"; nl ();
printf " alww0_s = g**4*((2*da00(cc,s,m) + da20(cc,s,m))/24 &"; nl ();
- printf " - 5*(2*da02(cc,s,m) + da22(cc,s,m))/12)"; nl ();
+ printf " - (5.)*(2*da02(cc,s,m) + da22(cc,s,m))/12)"; nl ();
printf " end function dalww0_s"; nl ();
nl ();
printf " %sfunction dalww0_t (cc,m,k) result (alww0_t)" pure; nl ();
printf " type(momentum), intent(in) :: k"; nl ();
- printf " real(kind=default), dimension(1:5), intent(in) :: cc, m"; nl ();
+ printf " real(kind=default), dimension(1:8), intent(in) :: cc"; nl ();
+ printf " real(kind=default), dimension(1:5), intent(in) :: m"; nl ();
printf " complex(kind=default) :: alww0_t"; nl ();
printf " real(kind=default) :: s"; nl ();
printf " s = k*k"; nl ();
- printf " alww0_t = g**4*(10*da02(cc,s,m) - 3*da11(cc,s,m) &"; nl ();
- printf " + 5*da22(cc,s,m))/8"; nl ();
+ printf " alww0_t = g**4*(2*(5.)*da02(cc,s,m) - (3.)*da11(cc,s,m) &"; nl ();
+ printf " + (5.)*da22(cc,s,m))/8"; nl ();
printf " end function dalww0_t"; nl ();
nl ();
printf " %sfunction dalww0_u (cc,m,k) result (alww0_u)" pure; nl ();
printf " type(momentum), intent(in) :: k"; nl ();
- printf " real(kind=default), dimension(1:5), intent(in) :: cc, m"; nl ();
+ printf " real(kind=default), dimension(1:8), intent(in) :: cc"; nl ();
+ printf " real(kind=default), dimension(1:5), intent(in) :: m"; nl ();
printf " complex(kind=default) :: alww0_u"; nl ();
printf " real(kind=default) :: s"; nl ();
printf " s = k*k"; nl ();
- printf " alww0_u = g**4*(10*da02(cc,s,m) + 3*da11(cc,s,m) &"; nl ();
- printf " + 5*da22(cc,s,m))/8"; nl ();
+ printf " alww0_u = g**4*(2*(5.)*da02(cc,s,m) + (3.)*da11(cc,s,m) &"; nl ();
+ printf " + (5.)*da22(cc,s,m))/8"; nl ();
printf " end function dalww0_u"; nl ();
nl ();
printf " %sfunction dalww2_s (cc,m,k) result (alww2_s)" pure; nl ();
printf " type(momentum), intent(in) :: k"; nl ();
- printf " real(kind=default), dimension(1:5), intent(in) :: cc, m"; nl ();
+ printf " real(kind=default), dimension(1:8), intent(in) :: cc"; nl ();
+ printf " real(kind=default), dimension(1:5), intent(in) :: m"; nl ();
printf " complex(kind=default) :: alww2_s"; nl ();
printf " real(kind=default) :: s"; nl ();
printf " s = k*k"; nl ();
- printf " alww2_s = g**4*(da20(cc,s,m) - 10*da22(cc,s,m))/4 "; nl ();
+ printf " alww2_s = g**4*(da20(cc,s,m) - 2*(5.)*da22(cc,s,m))/4 "; nl ();
printf " end function dalww2_s"; nl ();
nl ();
printf " %sfunction dalww2_t (cc,m,k) result (alww2_t)" pure; nl ();
printf " type(momentum), intent(in) :: k"; nl ();
- printf " real(kind=default), dimension(1:5), intent(in) :: cc, m"; nl ();
+ printf " real(kind=default), dimension(1:8), intent(in) :: cc"; nl ();
+ printf " real(kind=default), dimension(1:5), intent(in) :: m"; nl ();
printf " complex(kind=default) :: alww2_t"; nl ();
printf " real(kind=default) :: s"; nl ();
printf " s = k*k"; nl ();
- printf " alww2_t = 15*g**4*da22(cc,s,m)/4"; nl ();
+ printf " alww2_t = 3*(5.)*g**4*da22(cc,s,m)/4"; nl ();
printf " end function dalww2_t"; nl ();
nl ();
printf " %sfunction dalz4_s (cc,m,k) result (alz4_s)" pure; nl ();
printf " type(momentum), intent(in) :: k"; nl ();
- printf " real(kind=default), dimension(1:5), intent(in) :: cc, m"; nl ();
+ printf " real(kind=default), dimension(1:8), intent(in) :: cc"; nl ();
+ printf " real(kind=default), dimension(1:5), intent(in) :: m"; nl ();
printf " complex(kind=default) :: alz4_s"; nl ();
printf " real(kind=default) :: s"; nl ();
printf " s = k*k"; nl ();
printf " alz4_s = g**4/costhw**4*((da00(cc,s,m) &"; nl ();
printf " + 2*da20(cc,s,m))/12 &"; nl ();
- printf " - 5*(da02(cc,s,m)+2*da22(cc,s,m))/6)"; nl ();
+ printf " - (5.)*(da02(cc,s,m)+2*da22(cc,s,m))/6)"; nl ();
printf " end function dalz4_s"; nl ();
nl ();
printf " @[<5>";
printf " %sfunction dalz4_t (cc,m,k) result (alz4_t)" pure; nl ();
printf " type(momentum), intent(in) :: k"; nl ();
- printf " real(kind=default), dimension(1:5), intent(in) :: cc, m"; nl ();
+ printf " real(kind=default), dimension(1:8), intent(in) :: cc"; nl ();
+ printf " real(kind=default), dimension(1:5), intent(in) :: m"; nl ();
printf " complex(kind=default) :: alz4_t"; nl ();
printf " real(kind=default) :: s"; nl ();
printf " s = k*k"; nl ();
- printf " alz4_t = g**4/costhw**4*5*(da02(cc,s,m) &"; nl ();
+ printf " alz4_t = g**4/costhw**4*(5.)*(da02(cc,s,m) &"; nl ();
printf " + 2*da22(cc,s,m))/4"; nl ();
printf " end function dalz4_t"; nl ();
nl ();
end
(*i
* Local Variables:
* mode:caml
* indent-tabs-mode:nil
* page-delimiter:"^(\\* .*\n"
* End:
i*)
Index: trunk/share/models/SM_km.mdl
===================================================================
--- trunk/share/models/SM_km.mdl (revision 4410)
+++ trunk/share/models/SM_km.mdl (revision 4411)
@@ -1,272 +1,275 @@
########################################################################
# Standard Model (unitary gauge) with anomalous couplings,
# CKM matrix and K-Matrix unitarization
# Default Higgs mass is very large
model "SM_km"
# Independent parameters
### DO NOT CHANGE THE ORDER OF THESE PARAMETERS
parameter GF = 1.16639E-5 # Fermi constant
parameter mZ = 91.1882 # Z-boson mass
parameter mW = 80.419 # W-boson mass
parameter mH = 1.E10 # Higgs mass
parameter alphas = 0.1178 # Strong coupling constant (Z point)
parameter me = 0.000511 # electron mass
parameter mmu = 0.1057 # muon mass
parameter mtau = 1.777 # tau-lepton mass
parameter ms = 0.12 # s-quark mass
parameter mc = 1.25 # c-quark mass
parameter mb = 4.2 # b-quark mass
parameter mtop = 174 # t-quark mass
parameter wtop = 1.523 # t-quark width
parameter wZ = 2.443 # Z-boson width
parameter wW = 2.049 # W-boson width
parameter wH = 0 # Higgs width
parameter xi0 = 0 # R_xi parameter for Z-boson
parameter xipm = 0 # R_xi parameter for W-boson
parameter a4 = 0 # Coefficient of L4
parameter a5 = 0 # Coefficient of L5
parameter a6 = 0 # Coefficient of L6
parameter a7 = 0 # Coefficient of L7
parameter a10 = 0 # Coefficient of L10
parameter mkm_s = 1.E10 # Mass for scalar isoscalar resonance
parameter mkm_p = 1.E10 # Mass for scalar isotensor resonance
parameter mkm_r = 1.E10 # Mass for vector isovector resonance
parameter mkm_f = 1.E10 # Mass for tensor isotensor resonance
parameter mkm_t = 1.E10 # Mass for tensor isotensor resonance
parameter gkm_s = 0 # Coupling for scalar isoscalar resonance
parameter gkm_p = 0 # Coupling for scalar isotensor resonance
parameter gkm_r = 0 # Coupling for vector isovector resonance
-parameter gkm_f = 0 # Coupling for tensor isotensor resonance
+parameter gkm_f = 0 # Coupling for longitudinal terms of tensor isoscalar resonance
parameter gkm_t = 0 # Coupling for tensor isotensor resonance
parameter wkm_s = 0 # Width for scalar isoscalar resonance
parameter wkm_p = 0 # Width for scalar isotensor resonance
parameter wkm_r = 0 # Width for vector isovector resonance
parameter wkm_f = 0 # Width for tensor isotensor resonance
parameter wkm_t = 0 # Width for tensor isotensor resonance
parameter g1a = 1 # anomalous TGC
parameter g1z = 1 # anomalous TGC
parameter g4a = 0 # anomalous TGC
parameter g4z = 0 # anomalous TGC
parameter g5a = 0 # anomalous TGC
parameter g5z = 0 # anomalous TGC
parameter ka = 1 # anomalous TGC
parameter kz = 1 # anomalous TGC
parameter la = 0 # anomalous TGC
parameter lz = 0 # anomalous TGC
parameter k5a = 0 # anomalous TGC
parameter k5z = 0 # anomalous TGC
parameter l5a = 0 # anomalous TGC
parameter l5z = 0 # anomalous TGC
parameter mreg = 1000 # regulator mass for one-loop correction
parameter fhig = 0 # fudge factor for the lowest order K matrix
# regularization of the Higgs boson
parameter fkm = 1 # fudge factor to switch K matrix unitarization
# for resonances on or off
-parameter wres = 0 # switch for resonance widths without K matrix
+parameter wres = 1 # switch for resonance widths without K matrix
+parameter gkm_ft = 0 # Coupling for transversal terms of tensor isoscalar resonance
+parameter gkm_fm = 1 # Coupling for mixed terms of tensor isoscalar resonance
+parameter fkappa = 1 # kappa Term for tensor isoscalar resonance
# Dependent parameters
derived v = 1 / sqrt (sqrt (2.) * GF) # v (Higgs vev)
derived cw = mW / mZ # cos(theta-W)
derived sw = sqrt (1-cw**2) # sin(theta-W)
derived ee = 2 * sw * mW / v # em-coupling (GF scheme)
derived alpha_em_i = 4 * pi / ee**2 # inverse fine structure const
########################################################################
# Particle content
# The quarks
particle D_QUARK 1 parton
spin 1/2 charge -1/3 isospin -1/2 color 3
name d down
anti dbar D "d~"
tex_anti "\bar{d}"
particle U_QUARK 2 parton
spin 1/2 charge 2/3 isospin 1/2 color 3
name u up
anti ubar U "u~"
tex_anti "\bar{u}"
particle S_QUARK 3 like D_QUARK
name s strange
anti sbar S "s~"
tex_anti "\bar{s}"
mass ms
particle C_QUARK 4 like U_QUARK
name c charm
anti cbar C "c~"
tex_anti "\bar{c}"
mass mc
particle B_QUARK 5 like D_QUARK
name b bottom
anti bbar B "b~"
tex_anti "\bar{b}"
mass mb
particle T_QUARK 6 like U_QUARK
name t top
anti tbar T "t~"
tex_anti "\bar{t}"
mass mtop width wtop
# The leptons
particle E_LEPTON 11
spin 1/2 charge -1 isospin -1/2
name "e-" e1 electron e
anti "e+" E1 positron
tex_name "e^-"
tex_anti "e^+"
mass me
particle E_NEUTRINO 12 left
spin 1/2 isospin 1/2
name nue n1 "nu_e" ve "e-neutrino"
anti nuebar N1 "ve~"
tex_name "\nu_e"
tex_anti "\bar\nu_e"
particle MU_LEPTON 13 like E_LEPTON
name "mu-" e2 mu muon
anti "mu+" E2
tex_name "\mu^-"
tex_anti "\mu^+"
mass mmu
particle MU_NEUTRINO 14 like E_NEUTRINO
name numu "nu_mu" n2 vm "mu-neutrino"
anti numubar N2 "vm~"
tex_name "\nu_\mu"
tex_anti "\bar\nu_\mu"
particle TAU_LEPTON 15 like E_LEPTON
name "tau-" e3 tau "ta-" tauon
anti "tau+" E3 "ta+"
tex_name "\tau^-"
tex_anti "\tau^+"
mass mtau
particle TAU_NEUTRINO 16 like E_NEUTRINO
name nutau "nu_tau" n3 vt "tau_neutrino"
anti nutaubar N3 "vt~"
tex_name "\nu_\tau"
tex_anti "\bar\nu_\tau"
# The vector bosons
particle GLUON 21 parton gauge
spin 1 color 8
name gl g G gluon
particle PHOTON 22 gauge
spin 1
name A gamma photon
tex_name "\gamma"
particle Z_BOSON 23 gauge
spin 1
name Z
mass mZ width wZ
particle W_BOSON 24 gauge
spin 1 charge 1
name "W+" Wp
anti "W-" Wm
tex_name "W^+"
tex_anti "W^-"
mass mW width wW
# The Higgs
particle HIGGS 25
spin 0
name H h Higgs
mass mH width wH
# Hadrons
particle PROTON 2212
spin 1/2 charge 1
name p "p+"
anti pbar "p-"
particle HADRON_REMNANT 90
particle HADRON_REMNANT_SINGLET 91
particle HADRON_REMNANT_TRIPLET 92
color 3
particle HADRON_REMNANT_OCTET 93
color 8
########################################################################
# Vertices of the Standard model with anomalous couplings
# In graphs with identical structure, the first vertex is kept for phase space,
# therefore, lighter particles come before heavier ones.
#
# Note: The electric charge has opposite sign compared to SM.mdl
# QED
vertex D d A
vertex U u A
vertex S s A
vertex C c A
vertex B b A
vertex T t A
vertex E1 e1 A
vertex E2 e2 A
vertex E3 e3 A
# QCD
vertex G G G
vertex D d G
vertex U u G
vertex S s G
vertex C c G
vertex B b G
vertex T t G
# Neutral currents
vertex D d Z
vertex U u Z
vertex S s Z
vertex C c Z
vertex B b Z
vertex T t Z
vertex E1 e1 Z
vertex E2 e2 Z
vertex E3 e3 Z
vertex N1 n1 Z
vertex N2 n2 Z
vertex N3 n3 Z
# Charged currents
vertex U d Wp
vertex C s Wp
vertex T b Wp
vertex D u Wm
vertex S c Wm
vertex B t Wm
vertex N1 e1 Wp
vertex N2 e2 Wp
vertex N3 e3 Wp
vertex E1 n1 Wm
vertex E2 n2 Wm
vertex E3 n3 Wm
# Vector-boson self-interactions
vertex A Wm Wp
vertex Wm Wp Z
vertex A A Wm Wp
vertex A Wm Wp Z
vertex Wm Wm Wp Wp
vertex Wm Wp Z Z
vertex Z Z Z Z
# Higgs - vector boson
vertex H Wp Wm
vertex H Z Z
vertex H H Z Z
vertex H H Wp Wm
# Higgs self-interactions
vertex H H H
vertex H H H H

File Metadata

Mime Type
text/x-diff
Expires
Tue, Nov 19, 4:20 PM (1 d, 15 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3805125
Default Alt Text
(71 KB)

Event Timeline