~maddevelopers/mg5amcnlo/3.0.2-alpha0

« back to all changes in this revision

Viewing changes to HELAS/ftoxxx.F

Added Template and HELAS into bzr

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
      subroutine ftoxxx(fo,tc,gt,fmass,fwidth , fto)
 
2
c
 
3
c This subroutine computes an off-shell fermion wavefunction from a
 
4
c flowing-OUT external fermion and a tensor boson.
 
5
c
 
6
c input:
 
7
c       complex fo(6)          : flow-out fermion                   <fo|
 
8
c       complex tc(18)         : input    tensor                       T
 
9
c       complex gt             : coupling constant       gtf=-1/Lambda/4
 
10
c       real    fmass          : mass  of output fermion f'
 
11
c       real    fwidth         : width of output fermion f'
 
12
c
 
13
c output:
 
14
c       complex fto(6)         : off-shell fermion             <fo,T:f'|
 
15
c
 
16
c- by Q.Li - OCT. 2006
 
17
c
 
18
      implicit none
 
19
      double complex fo(6), tc(18), gt, fto(6)
 
20
      double precision fmass, fwidth
 
21
 
 
22
      double complex ft(6,4)
 
23
      double complex Tii,d
 
24
      double complex T11, T22, T33, T44, T12, T13, T14, T23, T24, T34
 
25
      double precision p(4), k(4), p2
 
26
      integer i
 
27
 
 
28
      double precision rZero, r2,rtwo
 
29
      parameter( rZero = 0.0d0, r2 = 2.0d0,rtwo=2.0d0 )
 
30
      double complex ci
 
31
      parameter( ci = ( 0.0d0, 1.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
      fto(5) = fo(5) + ft(5,1)
 
54
      fto(6) = fo(6) + ft(6,1)
 
55
 
 
56
      p(1) = dreal(fto(5))
 
57
      p(2) = dreal(fto(6))
 
58
      p(3) = dimag(fto(6))
 
59
      p(4) = dimag(fto(5))
 
60
      p2 = p(1)**2 - p(2)**2 - p(3)**2 - p(4)**2
 
61
 
 
62
      k(1) = dreal(fo(5)) + p(1)
 
63
      k(2) = dreal(fo(6)) + p(2)
 
64
      k(3) = dimag(fo(6)) + p(3)
 
65
      k(4) = dimag(fo(5)) + p(4)
 
66
 
 
67
      T11 = ft(1,1)
 
68
      T22 = ft(2,2)
 
69
      T33 = ft(3,3)
 
70
      T44 = ft(4,4)
 
71
      Tii = T11-T22-T33-T44
 
72
      T12 = ft(1,2) + ft(2,1)
 
73
      T13 = ft(1,3) + ft(3,1)
 
74
      T14 = ft(1,4) + ft(4,1)
 
75
      T23 = ft(2,3) + ft(3,2)
 
76
      T24 = ft(2,4) + ft(4,2)
 
77
      T34 = ft(3,4) + ft(4,3)
 
78
 
 
79
 
 
80
      if ( fmass.gt.rZero ) then
 
81
         d = - gt/dcmplx( p2-fmass**2, fmass*fwidth )
 
82
      else
 
83
         d = - gt/dcmplx( p2, rZero )
 
84
      end if
 
85
 
 
86
      fto(1) =fmass*(fmass*fo(1)*r2**2*Tii 
 
87
     &  - fo(4)*r2*Tii*(k(2) + ci*k(3))
 
88
     & - fo(3)*r2*Tii*(k(1) + k(4))) + 
 
89
     &    fmass*(fo(4)*(T12*k(1) + ci*T13*k(1) 
 
90
     &+ T23*(-(ci*k(2)) - k(3)) - T24*k(4) - ci*T34*k(4)) + 
 
91
     &       fo(3)*(-(T12*k(2)) - T24*k(2) - T13*k(3)
 
92
     & - T34*k(3) - T14*(-k(1) + k(4)))) + 
 
93
     &    (fmass*fo(4)*r2**2*Tii - fo(1)*r2*Tii*(-k(2) 
 
94
     &+ ci*k(3)) - fo(2)*r2*Tii*(k(1) + k(4)))*(p(2) + ci*p(3)) + 
 
95
     &    (fo(1)*(-(T12*k(1)) + ci*T13*k(1) 
 
96
     &+ T23*(-(ci*k(2)) + k(3)) + T24*k(4) - ci*T34*k(4)) + 
 
97
     &       fo(2)*(-(T12*k(2)) - T24*k(2) - T13*k(3)
 
98
     & - T34*k(3) - T14*(-k(1) + k(4))))*(p(2) + ci*p(3)) + 
 
99
     &    (fmass*fo(3)*r2**2*Tii - fo(2)*r2*Tii*(-k(2) 
 
100
     &- ci*k(3)) - fo(1)*r2*Tii*(k(1) - k(4)))*(p(1) + p(4)) + 
 
101
     &    (fo(2)*(-(T12*k(1)) - ci*T13*k(1) 
 
102
     &+ T23*(ci*k(2) + k(3)) + T24*k(4) + ci*T34*k(4)) + 
 
103
     &       fo(1)*(-(T12*k(2)) + T24*k(2) 
 
104
     &- T13*k(3) + T34*k(3) - T14*(k(1) + k(4))))*(p(1) + p(4)) + 
 
105
     &    rtwo*(fmass*(fo(4)*(-(T22*k(2)) 
 
106
     &- ci*T33*k(3)) + fo(3)*(T11*k(1) - T44*k(4))) + 
 
107
     &       (fo(1)*(T22*k(2) - ci*T33*k(3)) 
 
108
     &+ fo(2)*(T11*k(1) - T44*k(4)))*(p(2) + ci*p(3)) + 
 
109
     &       (fo(2)*(T22*k(2) + ci*T33*k(3))
 
110
     & + fo(1)*(T11*k(1) + T44*k(4)))*(p(1) + p(4)))
 
111
 
 
112
      fto(2) = fmass*(fmass*fo(2)*r2**2*Tii 
 
113
     &  - fo(3)*r2*Tii*(k(2) - ci*k(3))
 
114
     & - fo(4)*r2*Tii*(k(1) - k(4))) + 
 
115
     &    fmass*(fo(3)*(T12*k(1) - ci*T13*k(1)
 
116
     & + T23*(ci*k(2) - k(3)) - T24*k(4) + ci*T34*k(4)) + 
 
117
     &       fo(4)*(-(T12*k(2)) + T24*k(2) 
 
118
     &- T13*k(3) + T34*k(3) - T14*(k(1) + k(4)))) + 
 
119
     &    (fmass*fo(3)*r2**2*Tii - fo(2)*r2*Tii*(-k(2) 
 
120
     &- ci*k(3)) - fo(1)*r2*Tii*(k(1) - k(4)))*(p(2) - ci*p(3)) + 
 
121
     &    (fo(2)*(-(T12*k(1)) - ci*T13*k(1) 
 
122
     &+ T23*(ci*k(2) + k(3)) + T24*k(4) + ci*T34*k(4)) + 
 
123
     &       fo(1)*(-(T12*k(2)) + T24*k(2) - T13*k(3)
 
124
     & + T34*k(3) - T14*(k(1) + k(4))))*(p(2) - ci*p(3)) + 
 
125
     &    rtwo*(fmass*(fo(3)*(-(T22*k(2)) + ci*T33*k(3)) 
 
126
     &+ fo(4)*(T11*k(1) + T44*k(4))) + 
 
127
     &       (fo(2)*(T22*k(2) + ci*T33*k(3)) 
 
128
     &+ fo(1)*(T11*k(1) + T44*k(4)))*(p(2) - ci*p(3)) + 
 
129
     &       (fo(1)*(T22*k(2) - ci*T33*k(3)) 
 
130
     &+ fo(2)*(T11*k(1) - T44*k(4)))*(p(1) - p(4))) + 
 
131
     &    (fmass*fo(4)*r2**2*Tii - fo(1)*r2*Tii*(-k(2) 
 
132
     &+ ci*k(3)) - fo(2)*r2*Tii*(k(1) + k(4)))*(p(1) - p(4)) + 
 
133
     &    (fo(1)*(-(T12*k(1)) + ci*T13*k(1) 
 
134
     &+ T23*(-(ci*k(2)) + k(3)) + T24*k(4) - ci*T34*k(4)) + 
 
135
     &       fo(2)*(-(T12*k(2)) - T24*k(2) - T13*k(3)
 
136
     & - T34*k(3) - T14*(-k(1) + k(4))))*(p(1) - p(4))
 
137
 
 
138
      fto(3) = fmass*(fmass*fo(3)*r2**2*Tii 
 
139
     &  - fo(2)*r2*Tii*(-k(2) - ci*k(3)) 
 
140
     &- fo(1)*r2*Tii*(k(1) - k(4))) + 
 
141
     &    fmass*(fo(2)*(-(T12*k(1)) - ci*T13*k(1) 
 
142
     &+ T23*(ci*k(2) + k(3)) + T24*k(4) + ci*T34*k(4)) + 
 
143
     &       fo(1)*(-(T12*k(2)) + T24*k(2) - T13*k(3)
 
144
     & + T34*k(3) - T14*(k(1) + k(4)))) + 
 
145
     &    (fmass*fo(2)*r2**2*Tii - fo(3)*r2*Tii*(k(2) 
 
146
     &- ci*k(3)) - fo(4)*r2*Tii*(k(1) - k(4)))*(-p(2) - ci*p(3)) + 
 
147
     &    (fo(3)*(T12*k(1) - ci*T13*k(1) + T23*(ci*k(2)
 
148
     & - k(3)) - T24*k(4) + ci*T34*k(4)) + 
 
149
     &       fo(4)*(-(T12*k(2)) + T24*k(2) - T13*k(3) 
 
150
     &+ T34*k(3) - T14*(k(1) + k(4))))*(-p(2) - ci*p(3)) + 
 
151
     &    rtwo*(fmass*(fo(2)*(T22*k(2) + ci*T33*k(3)) 
 
152
     &+ fo(1)*(T11*k(1) + T44*k(4))) + 
 
153
     &       (fo(3)*(-(T22*k(2)) + ci*T33*k(3)) 
 
154
     &+ fo(4)*(T11*k(1) + T44*k(4)))*(-p(2) - ci*p(3)) + 
 
155
     &       (fo(4)*(-(T22*k(2)) - ci*T33*k(3))
 
156
     & + fo(3)*(T11*k(1) - T44*k(4)))*(p(1) - p(4))) + 
 
157
     &    (fmass*fo(1)*r2**2*Tii - fo(4)*r2*Tii*(k(2) 
 
158
     &+ ci*k(3)) - fo(3)*r2*Tii*(k(1) + k(4)))*(p(1) - p(4)) + 
 
159
     &    (fo(4)*(T12*k(1) + ci*T13*k(1) +
 
160
     & T23*(-(ci*k(2)) - k(3)) - T24*k(4) - ci*T34*k(4)) + 
 
161
     &       fo(3)*(-(T12*k(2)) - T24*k(2) - T13*k(3) 
 
162
     &- T34*k(3) - T14*(-k(1) + k(4))))*(p(1) - p(4))
 
163
 
 
164
      fto(4) =fmass*(fmass*fo(4)*r2**2*Tii
 
165
     &   - fo(1)*r2*Tii*(-k(2) + ci*k(3))
 
166
     & - fo(2)*r2*Tii*(k(1) + k(4))) + 
 
167
     &    fmass*(fo(1)*(-(T12*k(1)) + ci*T13*k(1) 
 
168
     &+ T23*(-(ci*k(2)) + k(3)) + T24*k(4) - ci*T34*k(4)) + 
 
169
     &       fo(2)*(-(T12*k(2)) - T24*k(2) - T13*k(3) 
 
170
     &- T34*k(3) - T14*(-k(1) + k(4)))) + 
 
171
     &    (fmass*fo(1)*r2**2*Tii - fo(4)*r2*Tii*(k(2) 
 
172
     &+ ci*k(3)) - fo(3)*r2*Tii*(k(1) + k(4)))*(-p(2) + ci*p(3)) + 
 
173
     &    (fo(4)*(T12*k(1) + ci*T13*k(1) 
 
174
     &+ T23*(-(ci*k(2)) - k(3)) - T24*k(4) - ci*T34*k(4)) + 
 
175
     &       fo(3)*(-(T12*k(2)) - T24*k(2) - T13*k(3)
 
176
     & - T34*k(3) - T14*(-k(1) + k(4))))*(-p(2) + ci*p(3)) + 
 
177
     &    (fmass*fo(2)*r2**2*Tii - fo(3)*r2*Tii*(k(2) 
 
178
     &- ci*k(3)) - fo(4)*r2*Tii*(k(1) - k(4)))*(p(1) + p(4)) + 
 
179
     &    (fo(3)*(T12*k(1) - ci*T13*k(1) + T23*(ci*k(2)
 
180
     & - k(3)) - T24*k(4) + ci*T34*k(4)) + 
 
181
     &       fo(4)*(-(T12*k(2)) + T24*k(2) - T13*k(3) 
 
182
     &+ T34*k(3) - T14*(k(1) + k(4))))*(p(1) + p(4)) + 
 
183
     &    rtwo*(fmass*(fo(1)*(T22*k(2) - ci*T33*k(3)) 
 
184
     &+ fo(2)*(T11*k(1) - T44*k(4))) + 
 
185
     &       (fo(4)*(-(T22*k(2)) - ci*T33*k(3))
 
186
     & + fo(3)*(T11*k(1) - T44*k(4)))*(-p(2) + ci*p(3)) + 
 
187
     &       (fo(3)*(-(T22*k(2)) + ci*T33*k(3))
 
188
     & + fo(4)*(T11*k(1) + T44*k(4)))*(p(1) + p(4)))
 
189
     
 
190
      do i = 1,4
 
191
         fto(i) = fto(i)*d
 
192
      end do
 
193
 
 
194
      return
 
195
      end