50.9.3
by Johan Alwall
Added Template and HELAS into bzr |
1 |
subroutine hvvshx(v1,v2,sc,g1,mass,width, hvvsh) |
2 |
c
|
|
3 |
c- by RF - Mar. 2006
|
|
4 |
c
|
|
5 |
c
|
|
6 |
c This subroutine computes an amplitude of the vector-vector-Higgs-Higgs
|
|
7 |
c effective coupling.
|
|
8 |
c
|
|
9 |
c input:
|
|
10 |
c complex v1(6) : first vector
|
|
11 |
c complex v2(6) : second vector
|
|
12 |
c complex sc1(3) : first scalar
|
|
13 |
c complex g1(2) : first coupling constant
|
|
14 |
c real mass : mass of the outgoing scalar
|
|
15 |
c real width : width of the outgoing scalar
|
|
16 |
c
|
|
17 |
c output:
|
|
18 |
c complex hvvsh(3) : scalar current
|
|
19 |
c
|
|
20 |
implicit none |
|
21 |
c-- dimension of the current set to arbitrary length
|
|
171.1.12
by mattelaer-olivier
remove all include in HELAS routine (g77 compatibility) |
22 |
INTEGER DIM |
23 |
PARAMETER(DIM=18) |
|
24 |
c include "dimension.inc"
|
|
50.9.3
by Johan Alwall
Added Template and HELAS into bzr |
25 |
double complex v1(DIM),v2(DIM),sc(DIM),hvvsh(DIM) |
26 |
double complex hvvsh1,hvvsh2,dg,g1(2) |
|
27 |
double complex v12,p2v1,p1v2,v13,v14,v23,v24,v34 |
|
28 |
double precision p12,p13,p14,p23,p24,p34 |
|
29 |
|
|
30 |
double precision p1(0:3),p2(0:3),mass,width,q2,q(0:3) |
|
31 |
||
32 |
||
33 |
p1(0) = dble( v1(5)) |
|
34 |
p1(1) = dble( v1(6)) |
|
35 |
p1(2) = dimag(v1(6)) |
|
36 |
p1(3) = dimag(v1(5)) |
|
37 |
||
38 |
p2(0) = dble( v2(5)) |
|
39 |
p2(1) = dble( v2(6)) |
|
40 |
p2(2) = dimag(v2(6)) |
|
41 |
p2(3) = dimag(v2(5)) |
|
42 |
||
43 |
hvvsh(2) = v1(5)+v2(5)+sc(2) |
|
44 |
hvvsh(3) = v1(6)+v2(6)+sc(3) |
|
45 |
||
46 |
q(0) = -dble( hvvsh(2)) |
|
47 |
q(1) = -dble( hvvsh(3)) |
|
48 |
q(2) = -dimag(hvvsh(3)) |
|
49 |
q(3) = -dimag(hvvsh(2)) |
|
50 |
||
51 |
q2 = q(0)**2 - q(1)**2 - q(2)**2 - q(3)**2 |
|
52 |
||
53 |
dg = dcmplx( q2-mass**2, mass*width ) |
|
54 |
||
55 |
hvvsh1 = (0D0,0D0) |
|
56 |
hvvsh2 = (0D0,0D0) |
|
57 |
||
58 |
if (g1(1).NE.(0D0,0D0)) then |
|
59 |
||
60 |
v12 = v1(1)*v2(1) - v1(2)*v2(2) - v1(3)*v2(3) - v1(4)*v2(4) |
|
61 |
p12 = p1(0)*p2(0) - p1(1)*p2(1) - p1(2)*p2(2) - p1(3)*p2(3) |
|
62 |
p2v1 = v1(1)*p2(0) - v1(2)*p2(1) - v1(3)*p2(2) - v1(4)*p2(3) |
|
63 |
p1v2 = p1(0)*v2(1) - p1(1)*v2(2) - p1(2)*v2(3) - p1(3)*v2(4) |
|
64 |
||
65 |
hvvsh1 = - g1(1) *(v12*p12 - p2v1*p1v2) |
|
66 |
endif |
|
67 |
||
68 |
if (g1(2).NE.(0D0,0D0)) then |
|
69 |
p12 = p1(0)*p2(1) - p1(1)*p2(0) |
|
70 |
p13 = p1(0)*p2(2) - p1(2)*p2(0) |
|
71 |
p14 = p1(0)*p2(3) - p1(3)*p2(0) |
|
72 |
p23 = p1(1)*p2(2) - p1(2)*p2(1) |
|
73 |
p24 = p1(1)*p2(3) - p1(3)*p2(1) |
|
74 |
p34 = p1(2)*p2(3) - p1(3)*p2(2) |
|
75 |
||
76 |
v12 = v1(1)*v2(2) - v1(2)*v2(1) |
|
77 |
v13 = v1(1)*v2(3) - v1(3)*v2(1) |
|
78 |
v14 = v1(1)*v2(4) - v1(4)*v2(1) |
|
79 |
v23 = v1(2)*v2(3) - v1(3)*v2(2) |
|
80 |
v24 = v1(2)*v2(4) - v1(4)*v2(2) |
|
81 |
v34 = v1(3)*v2(4) - v1(4)*v2(3) |
|
82 |
||
83 |
hvvsh2 = g1(2)*( v12*p34 - v13*p24 + v14*p23 |
|
84 |
& +v23*p14 - v24*p13 + v34*p12 ) |
|
85 |
endif |
|
86 |
|
|
87 |
hvvsh(1) = sc(1)*(hvvsh1 + hvvsh2) /dg |
|
88 |
||
89 |
return |
|
90 |
end |