Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F7877719
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
52 KB
Subscribers
None
View Options
Index: branches/Kmatrix_reloaded/src/models/parameters.SM_km.f90
===================================================================
--- branches/Kmatrix_reloaded/src/models/parameters.SM_km.f90 (revision 4400)
+++ branches/Kmatrix_reloaded/src/models/parameters.SM_km.f90 (revision 4401)
@@ -1,330 +1,336 @@
! $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: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(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%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
- gkm(6) = par%gkm_ft
- gkm(7) = par%gkm_fm
- gkm(8) = par%fkappa
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 * (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))
+ do i = 1, 63
+ print *,i,par_array(i)
+ end do
+ print *,gkm(8)
+ print *,gkm(4)
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: branches/Kmatrix_reloaded/src/omega/src/targets_Kmatrix.ml
===================================================================
--- branches/Kmatrix_reloaded/src/omega/src/targets_Kmatrix.ml (revision 4400)
+++ branches/Kmatrix_reloaded/src/omega/src/targets_Kmatrix.ml (revision 4401)
@@ -1,670 +1,640 @@
(* $Id$
Copyright (C) 1999-2012 by
Wolfgang Kilian <kilian@physik.uni-siegen.de>
Thorsten Ohl <ohl@physik.uni-wuerzburg.de>
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 " case (2) !!! Scalar isoquintet"; 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 " case (4) !!! Tensor isosinglet"; nl ();
printf " w = g**2/320./PI * m**3/vev**2"; nl ();
printf " case (5) !!! Tensor isoquintet"; nl ();
printf " w = 3.*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: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 " complex(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 " if (m(4) /= 0) then"; nl ();
- printf " kappal = cc(8)*((mass(23)**2+mass(24)**2)/m(4)**2-2*mass(23)**2*mass(24)**2/m(4)**2)"; 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)**2)"; nl ();
- printf " kappat = cc(8)*mass(23)**2*mass(24)**2/m(4)**2"; nl ();
- printf " else"; nl ();
- printf " kappal = 0"; nl ();
- printf " kappam = 0"; nl ();
- printf " kappat = 0"; nl ();
- printf " end if"; 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 " a00(1) = -2.0 * cc(1)**2/vev**2 * s0stu(s,m(1)) "; nl ();
printf " if (fudge_km.ne.0) then"; nl ();
printf " a00(1) = a00(1) - 3.0*cc(1)**2/vev**2 * s**2/(s-m(1)**2) "; nl ();
printf " else"; nl ();
printf " a00(1) = a00(1) - 3.0*cc(1)**2/vev**2 * &"; nl ();
printf " s**2/cmplx(s-m(1)**2,m(1)*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 " !!! Vector isotriplet"; 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 (fudge_km /= 0) then"; nl ();
printf " a00(4) = a00(4) - cc(4)**2/vev**2*kappal * s**2/(s-m(4)**2)"; nl ();
printf " else"; nl ();
printf " a00(4) = a00(4) - cc(4)**2/vev**2*kappal * &"; nl ();
printf " s**2/cmplx(s-m(4)**2,m(4)* 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)/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/12 * (s0stu(s,m(4)) &"; nl ();
printf " * (3*(1+2*s/m(4)**2+2*s**2/m(4)**4)+kappat ))"; nl ();
printf " if (fudge_km /= 0) then"; nl ();
printf " a00(6) = a00(6) - cc(6)**2/Pi/vev**6*mass(23)**2*mass(24)**2/4* s**2/(s-m(4)**2) &"; nl ();
printf " * ((2-2*s/m(4)**2+s**2/m(4)**4)+kappat/2 )"; nl ();
printf " else"; nl ();
printf " a00(6) = a00(6) - cc(6)**2/Pi/vev**6*mass(23)**2*mass(24)**2/4 * &"; nl ();
printf " s**2/cmplx(s-m(4)**2,m(4)* width_res(w_res,4,wkm(4),m(4),cc(4)),default) &"; nl ();
printf " * ((2-2*s/m(4)**2+s**2/m(4)**4)+kappat/2 )"; nl ();
printf " end if"; 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)/12 * (s0stu(s,m(4)) &"; nl ();
printf " * (12*s/m(4)**2+12*s**2/m(4)**4+2*kappam ))"; nl ();
printf " if (fudge_km /= 0) then"; nl ();
printf " a00(7) = a00(7) - cc(7)*cc(6)*cc(4)/Pi/vev**4*(mass(23)**2+mass(24)**2)/4 &"; nl ();
printf " * s**2/(s-m(4)**2) &"; nl ();
printf " * ((1-4*s/m(4)**2+2*s**2/m(4)**4)+kappam )"; nl ();
printf " else"; nl ();
printf " a00(7) = a00(7) - cc(7)*cc(6)*cc(4)/Pi/vev**4*(mass(23)**2+mass(24)**2)/4 &"; nl ();
printf " * s**2/cmplx(s-m(4)**2,m(4)* width_res(w_res,4,wkm(4),m(4),cc(4)),default) &"; nl ();
printf " * ((1-4*s/m(4)**2+2*s**2/m(4)**4)+kappam )"; nl ();
printf " end if"; 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 = 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(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 " if (m(4) /= 0) then"; nl ();
- printf " kappal = cc(8)*((mass(23)**2+mass(24)**2)/m(4)**2-2*mass(23)**2*mass(24)**2/m(4)**2)"; 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)**2)"; nl ();
- printf " kappat = cc(8)*mass(23)**2*mass(24)**2/m(4)**2"; nl ();
- printf " else"; nl ();
- printf " kappal = 0"; nl ();
- printf " kappam = 0"; nl ();
- printf " kappat = 0"; nl ();
- printf " end if"; 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 " !!! Scalar isoquintet"; 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 " !!! Tensor isosinglet"; 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 (fudge_km /= 0) then"; nl ();
printf " a02(4) = a02(4) - cc(4)**2/vev**2/10. * s**2/(s-m(4)**2)"; nl ();
printf " else"; nl ();
printf " a02(4) = a02(4) - cc(4)**2/vev**2/10. &"; nl ();
printf " * s**2/cmplx(s-m(4)**2,m(4)* width_res(w_res,4,wkm(4),m(4),cc(4)),default)"; 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 " s/m(5)**2+6.0*s**2/m(5)**4)*s2stu(s,m(5))/3.0 &"; 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/12 * (s2stu(s,m(4)) &"; nl ();
printf " * (3*(1+2*s/m(4)**2+2*s**2/m(4)**4)+kappat ))"; nl ();
printf " if (fudge_km /= 0) then"; nl ();
printf " a02(6) = a02(6) - cc(6)**2/Pi/vev**6*mass(23)**2*mass(24)**2/40* s**2/(s-m(4)**2)"; nl ();
printf " else"; nl ();
printf " a02(6) = a02(6) - cc(6)**2/Pi/vev**6*mass(23)**2*mass(24)**2/40 &"; nl ();
printf " * s**2/cmplx(s-m(4)**2,m(4)* width_res(w_res,4,wkm(4),m(4),cc(4)),default) "; nl ();
printf " end if"; 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)/12 * (s2stu(s,m(4)) &"; nl ();
printf " * (12*s/m(4)**2+12*s**2/m(4)**4+2*kappam ))"; nl ();
printf " if (fudge_km /= 0) then"; nl ();
printf " a02(7) = a02(7) - cc(7)*cc(6)*cc(4)/Pi/vev**4*(mass(23)**2+mass(24)**2)/20 &"; nl ();
printf " * s**2/(s-m(4)**2)"; nl ();
printf " else"; nl ();
printf " a02(7) = a02(7) - cc(7)*cc(6)*cc(4)/Pi/vev**4*(mass(23)**2+mass(24)**2)/20 &"; nl ();
printf " * s**2/cmplx(s-m(4)**2,m(4)* width_res(w_res,4,wkm(4),m(4),cc(4)),default) "; nl ();
printf " end if"; nl ();
printf " !!! Low energy theory alphas"; 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(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 " if (m(4) /= 0) then"; nl ();
- printf " kappal = cc(8)*((mass(23)**2+mass(24)**2)/m(4)**2-2*mass(23)**2*mass(24)**2/m(4)**2)"; 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)**2)"; nl ();
- printf " kappat = cc(8)*mass(23)**2*mass(24)**2/m(4)**2"; nl ();
- printf " else"; nl ();
- printf " kappal = 0"; nl ();
- printf " kappam = 0"; nl ();
- printf " kappat = 0"; nl ();
- printf " end if"; 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 " !!! Scalar isoquintet"; nl ();
printf " a11(2) = 5.0*cc(2)**2/vev**2 * s1stu(s,m(2)) / 6.0"; nl ();
printf " !!! Vector isotriplet"; nl ();
printf " a11(3) = - cc(3)**2 * &"; nl ();
printf " (s/m(3)**2 + 2. * p1stu(s,m(3)))"; nl ();
printf " if (fudge_km /= 0) then"; nl ();
printf " a11(3) = a11(3) -2./3. * cc(3)**2 * s/(s-m(3)**2) "; nl ();
printf " else"; nl ();
printf " a11(3) = a11(3) -2./3. * cc(3)**2 * &"; nl ();
printf " s/cmplx(s-m(3)**2,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)-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 " )/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 = 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: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 " if (m(4) /= 0) then"; nl ();
- printf " kappal = cc(8)*((mass(23)**2+mass(24)**2)/m(4)**2-2*mass(23)**2*mass(24)**2/m(4)**2)"; 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)**2)"; nl ();
- printf " kappat = cc(8)*mass(23)**2*mass(24)**2/m(4)**2"; nl ();
- printf " else"; nl ();
- printf " kappal = 0"; nl ();
- printf " kappam = 0"; nl ();
- printf " kappat = 0"; nl ();
- printf " end if"; 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 " a20(2) = - cc(2)**2/vev**2/6. * s0stu(s,m(2))"; nl ();
printf " if (fudge_km /= 0) then"; nl ();
printf " a20(2) = a20(2) - cc(2)**2/vev**2/2. * s**2/(s-m(2)**2)"; nl ();
printf " else"; nl ();
printf " a20(2) = a20(2) - cc(2)**2/vev**2/2. *&"; nl ();
printf " s**2/cmplx(s-m(2)**2,m(2)*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 " !!! 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 " )/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 = 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: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 " if (m(4) /= 0) then"; nl ();
- printf " kappal = cc(8)*((mass(23)**2+mass(24)**2)/m(4)**2-2*mass(23)**2*mass(24)**2/m(4)**2)"; 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)**2)"; nl ();
- printf " kappat = cc(8)*mass(23)**2*mass(24)**2/m(4)**2"; nl ();
- printf " else"; nl ();
- printf " kappal = 0"; nl ();
- printf " kappam = 0"; nl ();
- printf " kappat = 0"; nl ();
- printf " end if"; 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 " !!! Scalar isoquintet"; 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 " !!! 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 " 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 (fudge_km /= 0) then"; nl ();
printf " a22(5) = a22(5) - cc(5)**2/vev**2/60 * s**2/(s-m(5)**2)"; nl ();
printf " else"; nl ();
printf " a22(5) = a22(5) - cc(5)**2/vev**2/60 * &"; nl ();
printf " s**2/cmplx(s-m(5)**2,m(5)*width_res(w_res,5,wkm(5),m(5),cc(5)),default)"; nl ();
printf " end if"; 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*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: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 " 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: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 " 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: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 " 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: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 " + 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: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 " + 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: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 " 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: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*(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: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*(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: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) - 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: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 = 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: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 " 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: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 " + 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*)
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Tue, Nov 19, 4:19 PM (1 d, 13 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3805114
Default Alt Text
(52 KB)
Attached To
rWHIZARDSVN whizardsvn
Event Timeline
Log In to Comment