~maddevelopers/mg5amcnlo/3.0.2-alpha0

« back to all changes in this revision

Viewing changes to HELAS/ttscxx.F

Added Template and HELAS into bzr

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
      subroutine ttscxx(tc1,tc2,sc,gc,vertex)
 
2
c
 
3
c- by RF - Feb. 2006 
 
4
c  CP3  Modified Nov. 2009 
 
5
c
 
6
c This subroutine computes an amplitude of the tts coupling.
 
7
c
 
8
c     input:
 
9
c          complex tc1(18)           : Incoming tensor particle
 
10
c          complex tc2(18)           : Incoming tensor particle
 
11
c          complex sc(3)             : Incoming scalar particle (Higgs)
 
12
c          complex gc(2)             : coupling constant: gt(1) scalar
 
13
c                                                         gt(2) not used
 
14
c
 
15
c     output:
 
16
c          complex vertex            : amplitude for a tts vertex
 
17
c
 
18
 
 
19
      implicit none
 
20
c--   dimension of the current set to arbitrary length
 
21
c      INTEGER DIM
 
22
c      PARAMETER(DIM=18)
 
23
      include "dimension.inc"
 
24
      double complex tc1(DIM),tc2(DIM),sc(DIM),t1(6,4),t2(6,4)
 
25
      double complex vertex, gc(2)
 
26
 
 
27
 
 
28
c Take the inner product between the tensor particles
 
29
c and multiply it with the scalar particle and the coupling constant.
 
30
c Note that the tensor particle is antisymmetric, thus all diagonal terms
 
31
c are zero.
 
32
 
 
33
      T1(1,1) = tc1(1)
 
34
      T1(1,2) = tc1(2)
 
35
      T1(1,3) = tc1(3)
 
36
      T1(1,4) = tc1(4)
 
37
      T1(2,1) = tc1(5)
 
38
      T1(2,2) = tc1(6)
 
39
      T1(2,3) = tc1(7)
 
40
      T1(2,4) = tc1(8)
 
41
      T1(3,1) = tc1(9)
 
42
      T1(3,2) = tc1(10)
 
43
      T1(3,3) = tc1(11)
 
44
      T1(3,4) = tc1(12)
 
45
      T1(4,1) = tc1(13)
 
46
      T1(4,2) = tc1(14)
 
47
      T1(4,3) = tc1(15)
 
48
      T1(4,4) = tc1(16)
 
49
      T1(5,1) = tc1(17)
 
50
      T1(6,1) = tc1(18)
 
51
 
 
52
      T2(1,1) = tc2(1)
 
53
      T2(1,2) = tc2(2)
 
54
      T2(1,3) = tc2(3)
 
55
      T2(1,4) = tc2(4)
 
56
      T2(2,1) = tc2(5)
 
57
      T2(2,2) = tc2(6)
 
58
      T2(2,3) = tc2(7)
 
59
      T2(2,4) = tc2(8)
 
60
      T2(3,1) = tc2(9)
 
61
      T2(3,2) = tc2(10)
 
62
      T2(3,3) = tc2(11)
 
63
      T2(3,4) = tc2(12)
 
64
      T2(4,1) = tc2(13)
 
65
      T2(4,2) = tc2(14)
 
66
      T2(4,3) = tc2(15)
 
67
      T2(4,4) = tc2(16)
 
68
      T2(5,1) = tc2(17)
 
69
      T2(6,1) = tc2(18)
 
70
 
 
71
      if (gc(1).NE.(0D0,0D0)) then
 
72
 
 
73
      vertex =  gc(1)*(SC(1)*T1(1,2)*T2(1,2) - SC(1)*T1(2,1)*T2(1,2) + 
 
74
     -  SC(1)*T1(1,3)*T2(1,3) - SC(1)*T1(3,1)*T2(1,3) + 
 
75
     -  SC(1)*T1(1,4)*T2(1,4) - SC(1)*T1(4,1)*T2(1,4) - 
 
76
     -  SC(1)*T1(1,2)*T2(2,1) + SC(1)*T1(2,1)*T2(2,1) - 
 
77
     -  SC(1)*T1(2,3)*T2(2,3) + SC(1)*T1(3,2)*T2(2,3) - 
 
78
     -  SC(1)*T1(2,4)*T2(2,4) + SC(1)*T1(4,2)*T2(2,4) - 
 
79
     -  SC(1)*T1(1,3)*T2(3,1) + SC(1)*T1(3,1)*T2(3,1) + 
 
80
     -  SC(1)*T1(2,3)*T2(3,2) - SC(1)*T1(3,2)*T2(3,2) - 
 
81
     -  SC(1)*T1(3,4)*T2(3,4) + SC(1)*T1(4,3)*T2(3,4) - 
 
82
     -  SC(1)*T1(1,4)*T2(4,1) + SC(1)*T1(4,1)*T2(4,1) + 
 
83
     -  SC(1)*T1(2,4)*T2(4,2) - SC(1)*T1(4,2)*T2(4,2) + 
 
84
     -  SC(1)*T1(3,4)*T2(4,3) - SC(1)*T1(4,3)*T2(4,3))
 
85
 
 
86
 
 
87
      else
 
88
      vertex = (0D0,0D0)
 
89
      endif      
 
90
 
 
91
 
 
92
      return
 
93
      end