1
subroutine vvssxx(v1,v2,s1,s2,gc , vertex)
3
c This subroutine computes an amplitude of the vector-vector-scalar-
7
c complex v1(6) : first vector v1
8
c complex v2(6) : second vector v2
9
c complex s1(3) : first scalar s1
10
c complex s2(3) : second scalar s2
11
c complex gc : coupling constant gvvhh
14
c complex vertex : amplitude gamma(v1,v2,s1,s2)
17
double complex v1(6),v2(6),s1(3),s2(3),gc,vertex
20
double precision p0,p1,p2,p3,q0,q1,q2,q3,r0,r1,r2,r3
21
double precision o0,o1,o2,o3,pm
23
parameter( epsi = 4.0d-5 )
24
double precision rZero
25
parameter( rZero = 0.0d0 )
27
parameter( cZero = ( 0.0d0, 0.0d0 ) )
49
if ( abs(v1(1))+abs(v1(2))+abs(v1(3))+abs(v1(4)).eq.rZero ) then
50
write(stdo,*) ' helas-warn : v1 in vvssxx is zero vector'
52
if ( abs(v1(5))+abs(v1(6)).eq.rZero ) then
54
& ' helas-error : v1 in vvssxx has zero momentum'
56
if ( abs(v2(1))+abs(v2(2))+abs(v2(3))+abs(v2(4)).eq.rZero ) then
57
write(stdo,*) ' helas-warn : v2 in vvssxx is zero vector'
59
if ( abs(v2(5))+abs(v2(6)).eq.rZero ) then
61
& ' helas-error : v2 in vvssxx has zero momentum'
63
if ( abs(s1(1)).eq.rZero ) then
64
write(stdo,*) ' helas-warn : s1 in vvssxx is zero scalar'
66
if ( abs(s1(2))+abs(s1(3)).eq.rZero ) then
68
& ' helas-error : s1 in vvssxx has zero momentum'
70
if ( abs(s2(1)).eq.rZero ) then
71
write(stdo,*) ' helas-warn : s2 in vvssxx is zero scalar'
73
if ( abs(s2(2))+abs(s2(3)).eq.rZero ) then
75
& ' helas-error : s2 in vvssxx has zero momentum'
77
pm = max( abs(p0),abs(q0),abs(r0),abs(o0),
78
& abs(p1),abs(q1),abs(r1),abs(o1),
79
& abs(p2),abs(q2),abs(r2),abs(o2),
80
& abs(p3),abs(q3),abs(r3),abs(o3) )
81
if ( abs(v1(5)+v2(5)+s1(2)+s2(2))
82
& +abs(v1(6)+v2(6)+s1(3)+s2(3)).ge.pm*epsi ) then
84
& ' helas-error : v1,v2,s1,s2 in vvssxx'
86
& ' : have not balanced momenta'
88
if ( gc.eq.cZero ) then
89
write(stdo,*) ' helas-error : gc in vvssxx is zero coupling'
93
vertex = gc*s1(1)*s2(1)
94
& *(v1(1)*v2(1)-v1(2)*v2(2)-v1(3)*v2(3)-v1(4)*v2(4))