~maddevelopers/mg5amcnlo/3.0.2-alpha0

« back to all changes in this revision

Viewing changes to HELAS/sstxxx.F

Added Template and HELAS into bzr

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
      subroutine sstxxx(s1,s2,tc,gt,smass , vertex)
 
2
c
 
3
c This subroutine computes an amplitude of the three-point coupling of
 
4
c two scalar and a tensor boson.
 
5
c
 
6
c input:
 
7
c       complex s1(3)          : first  scalar                        s1
 
8
c       complex s2(3)          : second scalar                        s2
 
9
c       complex tc(18)         : input  tensor                         T
 
10
c       complex gt             : coupling constant         gts=-1/Lambda
 
11
c       real    smass          : scalar mass                         m_s
 
12
c
 
13
c output:
 
14
c       complex vertex         : amplitude                gamma(s1,s2,T)
 
15
c
 
16
c- by Q.Li - OCT. 2006
 
17
c     
 
18
      implicit none
 
19
      double complex s1(3), s2(3), tc(18), vertex
 
20
      double complex gt
 
21
      double precision smass
 
22
 
 
23
      double complex ft(6,4)
 
24
      double complex T12, T13, T14, T23, T24, T34
 
25
      double complex TKK
 
26
      double precision ps1(4), ps2(4)
 
27
        integer i
 
28
      double complex cZero
 
29
      double precision rZero, rTwo
 
30
      parameter( rZero = 0.0d0, rTwo = 2.0d0 )
 
31
      parameter( cZero = ( 0.0d0, 0.0d0 ) )
 
32
 
 
33
 
 
34
      ft(1,1) = tc(1)
 
35
      ft(1,2) = tc(2)
 
36
      ft(1,3) = tc(3)
 
37
      ft(1,4) = tc(4)
 
38
      ft(2,1) = tc(5)
 
39
      ft(2,2) = tc(6)
 
40
      ft(2,3) = tc(7)
 
41
      ft(2,4) = tc(8)
 
42
      ft(3,1) = tc(9)
 
43
      ft(3,2) = tc(10)
 
44
      ft(3,3) = tc(11)
 
45
      ft(3,4) = tc(12)
 
46
      ft(4,1) = tc(13)
 
47
      ft(4,2) = tc(14)
 
48
      ft(4,3) = tc(15)
 
49
      ft(4,4) = tc(16)
 
50
      ft(5,1) = tc(17)
 
51
      ft(6,1) = tc(18)
 
52
 
 
53
      ps1(1) = dreal(s1(2))
 
54
      ps1(2) = dreal(s1(3))
 
55
      ps1(3) = dimag(s1(3))
 
56
      ps1(4) = dimag(s1(2))
 
57
 
 
58
      ps2(1) = -dreal(s2(2))
 
59
      ps2(2) = -dreal(s2(3))
 
60
      ps2(3) = -dimag(s2(3))
 
61
      ps2(4) = -dimag(s2(2))
 
62
 
 
63
      T12 = ft(1,2) + ft(2,1)
 
64
      T13 = ft(1,3) + ft(3,1)
 
65
      T14 = ft(1,4) + ft(4,1)
 
66
      T23 = ft(2,3) + ft(3,2)
 
67
      T24 = ft(2,4) + ft(4,2)
 
68
      T34 = ft(3,4) + ft(4,3)
 
69
 
 
70
 
 
71
      TKK   = cZero
 
72
    
 
73
      do i = 1,4
 
74
         TKK=TKK+ft(i,i)*ps1(i)*ps2(i)
 
75
      end do
 
76
 
 
77
      TKK   = rTwo*TKK
 
78
 
 
79
      TKK = TKK - T12*(ps1(1)*ps2(2) + ps1(2)*ps2(1))
 
80
     &          - T13*(ps1(1)*ps2(3) + ps1(3)*ps2(1))
 
81
     &          - T14*(ps1(1)*ps2(4) + ps1(4)*ps2(1))
 
82
     &          + T23*(ps1(2)*ps2(3) + ps1(3)*ps2(2))
 
83
     &          + T24*(ps1(2)*ps2(4) + ps1(4)*ps2(2))
 
84
     &          + T34*(ps1(3)*ps2(4) + ps1(4)*ps2(3))
 
85
 
 
86
 
 
87
      vertex = TKK+(ft(1,1)-ft(2,2)-ft(3,3)-ft(4,4))
 
88
     &  *(smass**2-ps1(1)*ps2(1)+ps1(2)*ps2(2)
 
89
     &      +ps1(3)*ps2(3)+ps1(4)*ps2(4))
 
90
 
 
91
      vertex = vertex * gt*s1(1)*s2(1)
 
92
 
 
93
      return
 
94
      end