1
subroutine hvvvxx(ga,gb,gc,g1,g2,mass,width,jhvvv)
5
c This subroutine computes an off-shell (pseudo-)scalar current
6
c from the coupling of three gauge bosons
9
c complex ga(6) : first incoming vector (gluon)
10
c complex gb(6) : second incoming vector (gluon)
11
c complex gc(6) : third incoming vector (gluon)
12
c real g1 : coupling constant (QCD)
13
c complex g2 : coupling constant: g2(1) scalar
15
c real mass : mass of the outgoing scalar
16
c real width : width of the outgoing scalar
19
c complex jhvvv(3) : output (pseudo-)scalar current
24
c-- dimension of the current set to arbitrary length
27
c include "dimension.inc"
28
double complex ga(DIM),gb(DIM),gc(DIM),jhvvv(DIM)
30
double complex dvertx, vertex, vertex1, vertex2,dj
31
double complex vab, vbc, vca, v123, v124, v134, v234
32
double complex pgagb, pgagc, pgbga, pgbgc, pgcga, pgcgb
33
double precision pga(0:3),pgb(0:3),pgc(0:3),pabc(4)
34
double precision g1,mass, width, q2, q(4)
56
jhvvv(2) = ga(5) + gb(5) + gc(5)
57
jhvvv(3) = ga(6) + gb(6) + gc(6)
60
q(1) = -dble( jhvvv(2))
61
q(2) = -dble( jhvvv(3))
62
q(3) = -dimag(jhvvv(3))
63
q(4) = -dimag(jhvvv(2))
65
q2 = q(1)**2 - q(2)**2 - q(3)**2 - q(4)**2
67
dj = g1 /dcmplx( q2-mass**2, mass*width )
70
if (g2(1).NE.(0D0,0D0)) then
71
vab = ga(1)*gb(1)-ga(2)*gb(2)-ga(3)*gb(3)-ga(4)*gb(4)
72
vbc = gb(1)*gc(1)-gb(2)*gc(2)-gb(3)*gc(3)-gb(4)*gc(4)
73
vca = gc(1)*ga(1)-gc(2)*ga(2)-gc(3)*ga(3)-gc(4)*ga(4)
75
pgagb = pga(0)*gb(1) - pga(1)*gb(2) - pga(2)*gb(3) - pga(3)*gb(4)
76
pgagc = pga(0)*gc(1) - pga(1)*gc(2) - pga(2)*gc(3) - pga(3)*gc(4)
77
pgbga = pgb(0)*ga(1) - pgb(1)*ga(2) - pgb(2)*ga(3) - pgb(3)*ga(4)
78
pgbgc = pgb(0)*gc(1) - pgb(1)*gc(2) - pgb(2)*gc(3) - pgb(3)*gc(4)
79
pgcga = pgc(0)*ga(1) - pgc(1)*ga(2) - pgc(2)*ga(3) - pgc(3)*ga(4)
80
pgcgb = pgc(0)*gb(1) - pgc(1)*gb(2) - pgc(2)*gb(3) - pgc(3)*gb(4)
82
dvertx = vab*(pgagc-pgbgc) + vbc*(pgbga-pgcga) + vca*(pgcgb-pgagb)
83
vertex1= - dvertx * g2(1)
86
if (g2(2).NE.(0D0,0D0)) then
87
pabc(1) = pga(0) + pgb(0) + pgc(0)
88
pabc(2) = pga(1) + pgb(1) + pgc(1)
89
pabc(3) = pga(2) + pgb(2) + pgc(2)
90
pabc(4) = pga(3) + pgb(3) + pgc(3)
92
v123 = ga(1)*gb(2)*gc(3) - ga(1)*gb(3)*gc(2) - ga(2)*gb(1)*gc(3)
93
& + ga(2)*gb(3)*gc(1) + ga(3)*gb(1)*gc(2) - ga(3)*gb(2)*gc(1)
94
v124 = - ga(1)*gb(2)*gc(4) + ga(1)*gb(4)*gc(2) + ga(2)*gb(1)*gc(4)
95
& - ga(2)*gb(4)*gc(1) - ga(4)*gb(1)*gc(2) + ga(4)*gb(2)*gc(1)
96
v134 = ga(1)*gb(3)*gc(4) - ga(1)*gb(4)*gc(3) - ga(3)*gb(1)*gc(4)
97
& + ga(3)*gb(4)*gc(1) + ga(4)*gb(1)*gc(3) - ga(4)*gb(3)*gc(1)
98
v234 = - ga(2)*gb(3)*gc(4) + ga(2)*gb(4)*gc(3) + ga(3)*gb(2)*gc(4)
99
& - ga(3)*gb(4)*gc(2) - ga(4)*gb(2)*gc(3) + ga(4)*gb(3)*gc(2)
102
vertex2= - g2(2) * ( v123*pabc(4) + v124*pabc(3)
103
& + v134*pabc(2) + v234*pabc(1) )
106
jhvvv(1) = dj * (vertex1 + vertex2)