~maddevelopers/mg5amcnlo/3.0.2-alpha0

« back to all changes in this revision

Viewing changes to HELAS/vvvtxx.F

Added Template and HELAS into bzr

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
      subroutine vvvtxx(va,vb,vc,tc,gc,gt , vertex)
 
2
c
 
3
c This subroutine computes an amplitude of the four-point coupling of
 
4
c three gauge bosons and a tensor boson.
 
5
c
 
6
c input:
 
7
c       complex va(6)          : first  vector                        va
 
8
c       complex vb(6)          : second vector                        vb
 
9
c       complex vc(6)          : third  vector                        vc
 
10
c       complex tc(18)         : input  tensor                         T
 
11
c       real    gc             : coupling constant       gs (for gluons)
 
12
c       complex gt             : coupling constant         gtv=-1/Lambda
 
13
c
 
14
c output:
 
15
c       complex vertex         : amplitude             gamma(va,vb,vc,T)
 
16
c
 
17
c- by Q.Li - OCT. 2006
 
18
c     
 
19
      implicit none
 
20
      double complex va(6), vb(6), vc(6),  tc(18), gt, vertex
 
21
      double precision gc
 
22
 
 
23
      double complex ft(6,4)
 
24
      double complex T00, T12, T13, T14, T23, T24, T34
 
25
      double complex V1V2,V1V3,V2V3, K1V2, K1V3, K2V1
 
26
     &,K2V3,K3V1,K3V2
 
27
 
 
28
      double complex TV12,TV13,TV23,TKV1,TKV2,TKV3, dum
 
29
      double precision pva(4), pvb(4), pvc(4),p31(4),p23(4),p12(4)
 
30
 
 
31
      integer i, j
 
32
 
 
33
      double complex cZero
 
34
      double precision rZero, rTwo
 
35
      parameter( rZero = 0.0d0, rTwo = 2.0d0 )
 
36
      parameter( cZero = ( 0.0d0, 0.0d0 ) )
 
37
 
 
38
      
 
39
      ft(1,1) = tc(1)
 
40
      ft(1,2) = tc(2)
 
41
      ft(1,3) = tc(3)
 
42
      ft(1,4) = tc(4)
 
43
      ft(2,1) = tc(5)
 
44
      ft(2,2) = tc(6)
 
45
      ft(2,3) = tc(7)
 
46
      ft(2,4) = tc(8)
 
47
      ft(3,1) = tc(9)
 
48
      ft(3,2) = tc(10)
 
49
      ft(3,3) = tc(11)
 
50
      ft(3,4) = tc(12)
 
51
      ft(4,1) = tc(13)
 
52
      ft(4,2) = tc(14)
 
53
      ft(4,3) = tc(15)
 
54
      ft(4,4) = tc(16)
 
55
      ft(5,1) = tc(17)
 
56
      ft(6,1) = tc(18)
 
57
 
 
58
      pva(1) = dreal(va(5))
 
59
      pva(2) = dreal(va(6))
 
60
      pva(3) = dimag(va(6))
 
61
      pva(4) = dimag(va(5))
 
62
 
 
63
      pvb(1) = dreal(vb(5))
 
64
      pvb(2) = dreal(vb(6))
 
65
      pvb(3) = dimag(vb(6))
 
66
      pvb(4) = dimag(vb(5))
 
67
 
 
68
      pvc(1) = dreal(vc(5))
 
69
      pvc(2) = dreal(vc(6))
 
70
      pvc(3) = dimag(vc(6))
 
71
      pvc(4) = dimag(vc(5))
 
72
 
 
73
      p31(1) = pvc(1)-pva(1)
 
74
      p31(2) = pvc(2)-pva(2)
 
75
      p31(3) = pvc(3)-pva(3)
 
76
      p31(4) = pvc(4)-pva(4)
 
77
      
 
78
      p12(1) = pva(1)-pvb(1)
 
79
      p12(2) = pva(2)-pvb(2)
 
80
      p12(3) = pva(3)-pvb(3)
 
81
      p12(4) = pva(4)-pvb(4)
 
82
      
 
83
      p23(1) = pvb(1)-pvc(1)
 
84
      p23(2) = pvb(2)-pvc(2)
 
85
      p23(3) = pvb(3)-pvc(3)
 
86
      p23(4) = pvb(4)-pvc(4)
 
87
      
 
88
      T00 = ft(1,1)-ft(2,2)-ft(3,3)-ft(4,4)
 
89
      T12 = ft(1,2) + ft(2,1)
 
90
      T13 = ft(1,3) + ft(3,1)
 
91
      T14 = ft(1,4) + ft(4,1)
 
92
      T23 = ft(2,3) + ft(3,2)
 
93
      T24 = ft(2,4) + ft(4,2)
 
94
      T34 = ft(3,4) + ft(4,3)
 
95
 
 
96
      V1V2 =  va(1)*vb(1) -  va(2)*vb(2) -  va(3)*vb(3) -  va(4)*vb(4)
 
97
      V1V3 =  va(1)*vc(1) -  va(2)*vc(2) -  va(3)*vc(3) -  va(4)*vc(4)
 
98
      V2V3 =  vc(1)*vb(1) -  vc(2)*vb(2) -  vc(3)*vb(3) -  vc(4)*vb(4)
 
99
      K1V2 = pva(1)*vb(1) - pva(2)*vb(2) - pva(3)*vb(3) - pva(4)*vb(4)
 
100
      K1V3 = pva(1)*vc(1) - pva(2)*vc(2) - pva(3)*vc(3) - pva(4)*vc(4)
 
101
      K2V1 = pvb(1)*va(1) - pvb(2)*va(2) - pvb(3)*va(3) - pvb(4)*va(4)
 
102
      K2V3 = pvb(1)*vc(1) - pvb(2)*vc(2) - pvb(3)*vc(3) - pvb(4)*vc(4)
 
103
      K3V1 = pvc(1)*va(1) - pvc(2)*va(2) - pvc(3)*va(3) - pvc(4)*va(4)
 
104
      K3V2 = pvc(1)*vb(1) - pvc(2)*vb(2) - pvc(3)*vb(3) - pvc(4)*vb(4)
 
105
 
 
106
 
 
107
      TV12   = cZero
 
108
      TV13   = cZero
 
109
      TV23   = cZero
 
110
      TKV1   = cZero
 
111
      TKV2   = cZero
 
112
      TKV3   = cZero
 
113
 
 
114
      TV12 = rtwo*(ft(1,1)*va(1)*vb(1)+ft(2,2)*va(2)*vb(2)
 
115
     &+ft(3,3)*va(3)*vb(3)+ft(4,4)*va(4)*vb(4))
 
116
 
 
117
      TV13 = rtwo*(ft(1,1)*va(1)*vc(1)+ft(2,2)*va(2)*vc(2)
 
118
     &+ft(3,3)*va(3)*vc(3)+ft(4,4)*va(4)*vc(4))
 
119
 
 
120
      TV23 = rtwo*(ft(1,1)*vb(1)*vc(1)+ft(2,2)*vb(2)*vc(2)
 
121
     &+ft(3,3)*vb(3)*vc(3)+ft(4,4)*vb(4)*vc(4))
 
122
 
 
123
      TKV1 = rtwo*(ft(1,1)*p23(1)*va(1)+ft(2,2)*p23(2)*va(2)
 
124
     &+ft(3,3)*p23(3)*va(3)+ft(4,4)*p23(4)*va(4))
 
125
 
 
126
      TKV2 = rtwo*(ft(1,1)*p31(1)*vb(1)+ft(2,2)*p31(2)*vb(2)
 
127
     &+ft(3,3)*p31(3)*vb(3)+ft(4,4)*p31(4)*vb(4))
 
128
     
 
129
      TKV3 = rtwo*(ft(1,1)*p12(1)*vc(1)+ft(2,2)*p12(2)*vc(2)
 
130
     &+ft(3,3)*p12(3)*vc(3)+ft(4,4)*p12(4)*vc(4))       
 
131
 
 
132
 
 
133
      TV12 = TV12 - T12*(va(1)*vb(2) + va(2)*vb(1))
 
134
     &            - T13*(va(1)*vb(3) + va(3)*vb(1))
 
135
     &            - T14*(va(1)*vb(4) + va(4)*vb(1))
 
136
     &            + T23*(va(2)*vb(3) + va(3)*vb(2))
 
137
     &            + T24*(va(2)*vb(4) + va(4)*vb(2))
 
138
     &            + T34*(va(3)*vb(4) + va(4)*vb(3))
 
139
 
 
140
      TV13 = TV13 - T12*(va(1)*vc(2) + va(2)*vc(1))
 
141
     &            - T13*(va(1)*vc(3) + va(3)*vc(1))
 
142
     &            - T14*(va(1)*vc(4) + va(4)*vc(1))
 
143
     &            + T23*(va(2)*vc(3) + va(3)*vc(2))
 
144
     &            + T24*(va(2)*vc(4) + va(4)*vc(2))
 
145
     &            + T34*(va(3)*vc(4) + va(4)*vc(3))
 
146
 
 
147
      TV23 = TV23 - T12*(vb(1)*vc(2) + vb(2)*vc(1))
 
148
     &            - T13*(vb(1)*vc(3) + vb(3)*vc(1))
 
149
     &            - T14*(vb(1)*vc(4) + vb(4)*vc(1))
 
150
     &            + T23*(vb(2)*vc(3) + vb(3)*vc(2))
 
151
     &            + T24*(vb(2)*vc(4) + vb(4)*vc(2))
 
152
     &            + T34*(vb(3)*vc(4) + vb(4)*vc(3))
 
153
 
 
154
 
 
155
      TKV1 = TKV1 - T12*(p23(1)*va(2) + p23(2)*va(1))
 
156
     &            - T13*(p23(1)*va(3) + p23(3)*va(1))
 
157
     &            - T14*(p23(1)*va(4) + p23(4)*va(1))
 
158
     &            + T23*(p23(2)*va(3) + p23(3)*va(2))
 
159
     &            + T24*(p23(2)*va(4) + p23(4)*va(2))
 
160
     &            + T34*(p23(3)*va(4) + p23(4)*va(3))
 
161
 
 
162
      TKV2 = TKV2 - T12*(p31(1)*vb(2) + p31(2)*vb(1))
 
163
     &            - T13*(p31(1)*vb(3) + p31(3)*vb(1))
 
164
     &            - T14*(p31(1)*vb(4) + p31(4)*vb(1))
 
165
     &            + T23*(p31(2)*vb(3) + p31(3)*vb(2))
 
166
     &            + T24*(p31(2)*vb(4) + p31(4)*vb(2))
 
167
     &            + T34*(p31(3)*vb(4) + p31(4)*vb(3))
 
168
 
 
169
      TKV3 = TKV3 - T12*(p12(1)*vc(2) + p12(2)*vc(1))
 
170
     &            - T13*(p12(1)*vc(3) + p12(3)*vc(1))
 
171
     &            - T14*(p12(1)*vc(4) + p12(4)*vc(1))
 
172
     &            + T23*(p12(2)*vc(3) + p12(3)*vc(2))
 
173
     &            + T24*(p12(2)*vc(4) + p12(4)*vc(2))
 
174
     &            + T34*(p12(3)*vc(4) + p12(4)*vc(3))
 
175
 
 
176
 
 
177
      vertex = TKV3*V1V2-T00*K1V3*V1V2+T00*K2V3*V1V2+TKV2*V1V3
 
178
     &+TV23*(K2V1-K3V1)+TKV1*V2V3-T00*K2V1*V2V3+T00*K3V1*V2V3
 
179
     &-TV13*(K1V2-K3V2)+T00*K1V2*V1V3-T00*V1V3*K3V2+TV12*(K1V3-K2V3)
 
180
 
 
181
      vertex= -vertex * gc*gt
 
182
 
 
183
      return
 
184
      end