1
subroutine uvvvxx(va,vb,vc,gc,gt,tmass,twidth , uvvv)
3
c This subroutine computes an off-shell tensor current
4
c from the four-point coupling of three gauge bosons and a tensor boson.
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 real gc : coupling constant gs (for gluons)
11
c complex gt : coupling constant gtv=-1/Lambda
12
c real tmass : mass of output tensor T
13
c real twidth : width of output tensor T
16
c complex uvvv(18) : tensor current j^mu^nu(T:va,vb,vc)
18
c- by Q.Li - OCT. 2006
19
c- Added massless tensor - P. de Aquino - Oct. 2009
22
double complex va(6), vb(6), vc(6), gt, uvvv(18)
23
double precision gc, tmass, twidth
25
double complex yvvv(6,4)
26
double precision MET(4,4)
28
double complex V1V2,V1V3,V2V3,KTV1,KTV2,KTV3,
30
double precision KTK12,KTK31,KTK23
32
double precision pva(4), pvb(4), pvc(4),pt(4),
33
&pt2,p31(4),p23(4),p12(4)
38
double precision rZero, r2, r3,r4
39
parameter( rZero = 0.0d0, r2 = 2.0d0, r3=3.d0,r4=4.d0 )
40
parameter( cZero = ( 0.0d0, 0.0d0 ) )
43
yvvv(5,1) = va(5)+vb(5)+vc(5)
44
yvvv(6,1) = va(6)+vb(6)+vc(6)
61
pt(1) = dreal(yvvv(5,1))
62
pt(2) = dreal(yvvv(6,1))
63
pt(3) = dimag(yvvv(6,1))
64
pt(4) = dimag(yvvv(5,1))
66
pt2=pt(1)**2-pt(2)**2-pt(3)**2-pt(4)**2
78
p31(1) = pvc(1)-pva(1)
79
p31(2) = pvc(2)-pva(2)
80
p31(3) = pvc(3)-pva(3)
81
p31(4) = pvc(4)-pva(4)
83
p12(1) = pva(1)-pvb(1)
84
p12(2) = pva(2)-pvb(2)
85
p12(3) = pva(3)-pvb(3)
86
p12(4) = pva(4)-pvb(4)
88
p23(1) = pvb(1)-pvc(1)
89
p23(2) = pvb(2)-pvc(2)
90
p23(3) = pvb(3)-pvc(3)
91
p23(4) = pvb(4)-pvc(4)
94
V1V2 = va(1)*vb(1) - va(2)*vb(2) - va(3)*vb(3) - va(4)*vb(4)
95
V1V3 = va(1)*vc(1) - va(2)*vc(2) - va(3)*vc(3) - va(4)*vc(4)
96
V2V3 = vc(1)*vb(1) - vc(2)*vb(2) - vc(3)*vb(3) - vc(4)*vb(4)
97
K31V2 = p31(1)*vb(1) - p31(2)*vb(2) - p31(3)*vb(3) - p31(4)*vb(4)
98
K12V3 = p12(1)*vc(1) - p12(2)*vc(2) - p12(3)*vc(3) - p12(4)*vc(4)
99
K23V1 = p23(1)*va(1) - p23(2)*va(2) - p23(3)*va(3) - p23(4)*va(4)
101
KTV1 = pt(1)*va(1) - pt(2)*va(2) - pt(3)*va(3) - pt(4)*va(4)
102
KTV2 = pt(1)*vb(1) - pt(2)*vb(2) - pt(3)*vb(3) - pt(4)*vb(4)
103
KTV3 = pt(1)*vc(1) - pt(2)*vc(2) - pt(3)*vc(3) - pt(4)*vc(4)
105
KTK12 =pt(1)*p12(1)-pt(2)*p12(2)-pt(3)*p12(3)-pt(4)*p12(4)
106
KTK31 =pt(1)*p31(1)-pt(2)*p31(2)-pt(3)*p31(3)-pt(4)*p31(4)
107
KTK23 =pt(1)*p23(1)-pt(2)*p23(2)-pt(3)*p23(3)-pt(4)*p23(4)
109
if ( tmass.eq.rZero ) then
110
d = -gc/dcmplx( pt2, rZero )
115
yvvv(i,j) = -(K12V3*V1V2*MET(i,j))
116
&- K31V2*V1V3*MET(i,j) - K23V1*V2V3*MET(i,j)
117
&+ V2V3*p23(j)*va(i) + V2V3*p23(i)*va(j)
118
&+ V1V3*p31(j)*vb(i) + K12V3*va(j)*vb(i)
119
&+ V1V3*p31(i)*vb(j) + K12V3*va(i)*vb(j)
120
&+ V1V2*p12(j)*vc(i) + K31V2*va(j)*vc(i)
121
&+ K23V1*vb(j)*vc(i) + V1V2*p12(i)*vc(j)
122
&+ K31V2*va(i)*vc(j) + K23V1*vb(i)*vc(j)
124
yvvv(i,j) = -yvvv(i,j)*d*gt
130
if ( tmass.gt.rZero ) then
131
d = -gc/dcmplx( pt2-tmass**2, tmass*twidth )
136
yvvv(i,j) = (r2*K12V3*KTV1*KTV2*r2*MET(i,j))/(r3*tmass**2)
137
& + (r2*K31V2*KTV1*KTV3*r2*MET(i,j))/(r3*tmass**2) +
138
& (r2*K23V1*KTV2*KTV3*r2*MET(i,j))/(r3*tmass**2)
139
&- r2*K12V3*V1V2*MET(i,j) +
140
& (r2*KTK12*KTV3*r2*V1V2*MET(i,j))/(r3*tmass**2)
141
&- (K12V3*pt2*r2*V1V2*MET(i,j))/(r3*tmass**2) -
142
& r2*K31V2*V1V3*MET(i,j)
143
& + (r2*KTK31*KTV2*r2*V1V3*MET(i,j))/(r3*tmass**2) -
144
& (K31V2*pt2*r2*V1V3*MET(i,j))/(r3*tmass**2)
145
&- r2*K23V1*V2V3*MET(i,j) +
146
& (r2*KTK23*KTV1*r2*V2V3*MET(i,j))/(r3*tmass**2)
147
& - (K23V1*pt2*r2*V2V3*MET(i,j))/(r3*tmass**2) -
148
& (r2*KTV3*V1V2*p12(j)*pt(i))/tmass**2
149
&- (r2*KTV1*V2V3*p23(j)*pt(i))/tmass**2
150
&- (r2*KTV2*V1V3*p31(j)*pt(i))/tmass**2 -
151
& (r2*KTV3*V1V2*p12(i)*pt(j))/tmass**2
152
& - (r2*KTV1*V2V3*p23(i)*pt(j))/tmass**2
153
&- (r2*KTV2*V1V3*p31(i)*pt(j))/tmass**2 +
154
& (r4*K12V3*KTV1*KTV2*pt(i)*pt(j))/tmass**4
155
& + (r4*K31V2*KTV1*KTV3*pt(i)*pt(j))/tmass**4 +
156
& (r4*K23V1*KTV2*KTV3*pt(i)*pt(j))/tmass**4
157
&- (r2*K12V3*KTV1*KTV2*r2*pt(i)*pt(j))/(r3*tmass**4) -
158
& (r2*K31V2*KTV1*KTV3*r2*pt(i)*pt(j))/(r3*tmass**4)
159
& - (r2*K23V1*KTV2*KTV3*r2*pt(i)*pt(j))/(r3*tmass**4) +
160
& (r4*KTK12*KTV3*V1V2*pt(i)*pt(j))/tmass**4
161
&- (r2*K12V3*pt2*V1V2*pt(i)*pt(j))/tmass**4 -
162
& (r2*KTK12*KTV3*r2*V1V2*pt(i)*pt(j))/(r3*tmass**4)
163
& + (K12V3*pt2*r2*V1V2*pt(i)*pt(j))/(r3*tmass**4) +
164
& (r4*K12V3*V1V2*pt(i)*pt(j))/tmass**2
165
&+ (r4*KTK31*KTV2*V1V3*pt(i)*pt(j))/tmass**4 -
166
& (r2*K31V2*pt2*V1V3*pt(i)*pt(j))/tmass**4
167
& - (r2*KTK31*KTV2*r2*V1V3*pt(i)*pt(j))/(r3*tmass**4) +
168
& (K31V2*pt2*r2*V1V3*pt(i)*pt(j))/(r3*tmass**4)
169
& + (r4*K31V2*V1V3*pt(i)*pt(j))/tmass**2 +
170
& (r4*KTK23*KTV1*V2V3*pt(i)*pt(j))/tmass**4
171
& - (r2*K23V1*pt2*V2V3*pt(i)*pt(j))/tmass**4 -
172
& (r2*KTK23*KTV1*r2*V2V3*pt(i)*pt(j))/(r3*tmass**4)
173
& + (K23V1*pt2*r2*V2V3*pt(i)*pt(j))/(r3*tmass**4) +
174
& (r4*K23V1*V2V3*pt(i)*pt(j))/tmass**2
175
&+ r2*V2V3*p23(j)*va(i) - (r2*K12V3*KTV2*pt(j)*va(i))/tmass**2 -
176
& (r2*K31V2*KTV3*pt(j)*va(i))/tmass**2
177
&- (r2*KTK23*V2V3*pt(j)*va(i))/tmass**2 + 2*V2V3*p23(i)*va(j) -
178
& (r2*K12V3*KTV2*pt(i)*va(j))/tmass**2
179
&- (r2*K31V2*KTV3*pt(i)*va(j))/tmass**2
180
&- (r2*KTK23*V2V3*pt(i)*va(j))/tmass**2 +
181
& r2*V1V3*p31(j)*vb(i) - (r2*K12V3*KTV1*pt(j)*vb(i))/tmass**2
182
&- (r2*K23V1*KTV3*pt(j)*vb(i))/tmass**2 -
183
& (r2*KTK31*V1V3*pt(j)*vb(i))/tmass**2
184
&+ r2*K12V3*va(j)*vb(i) + r2*V1V3*p31(i)*vb(j)
185
& - (r2*K12V3*KTV1*pt(i)*vb(j))/tmass**2 -
186
& (r2*K23V1*KTV3*pt(i)*vb(j))/tmass**2
187
&- (r2*KTK31*V1V3*pt(i)*vb(j))/tmass**2
188
&+ r2*K12V3*va(i)*vb(j) + r2*V1V2*p12(j)*vc(i) -
189
& (r2*K31V2*KTV1*pt(j)*vc(i))/tmass**2
190
&- (r2*K23V1*KTV2*pt(j)*vc(i))/tmass**2
191
&- (r2*KTK12*V1V2*pt(j)*vc(i))/tmass**2 +
192
& r2*K31V2*va(j)*vc(i) + r2*K23V1*vb(j)*vc(i)
193
&+ r2*V1V2*p12(i)*vc(j) - (r2*K31V2*KTV1*pt(i)*vc(j))/tmass**2 -
194
& (r2*K23V1*KTV2*pt(i)*vc(j))/tmass**2
195
& - (r2*KTK12*V1V2*pt(i)*vc(j))/tmass**2
196
& + r2*K31V2*va(i)*vc(j) + r2*K23V1*vb(i)*vc(j)
198
yvvv(i,j) = -yvvv(i,j)*d/2.0d0*gt
203
write(*,*) '�nvalid tensor mass'