~alifson/chiralityflow/trunk

« back to all changes in this revision

Viewing changes to HELAS/fvtikk.F

  • Committer: andrew.lifson at lu
  • Date: 2021-09-01 15:34:39 UTC
  • Revision ID: andrew.lifson@thep.lu.se-20210901153439-7fasjhav4cp4m88r
testing a new repository of a madgraph folder

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
      subroutine ftixkk(fi,tc,g,fmass,fwidth , fti)
 
2
c
 
3
c This subroutine computes an off-shell fermion wavefunction from a
 
4
c flowing-IN external fermion and a KK tensor boson.
 
5
c
 
6
c input:
 
7
c       complex fi(6)          : flow-in  fermion                   |fi>
 
8
c       complex tc(6,4)        : input    tensor                      t
 
9
c       real    g              : coupling constant                   gtf
 
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 fti(6)         : off-shell fermion             |f',t,fi>
 
15
c
 
16
      implicit none
 
17
      double complex fi(6), tc(6,4), fti(6), d
 
18
      double complex k14p, k14m, k23, k23s, p14p, p14m
 
19
      double complex D1, D2, D3, D4, Tii, mTii
 
20
      double complex T11, T22, T33, T44, T12, T13, T14, T23, T24, T34
 
21
      double precision g, fmass, fwidth, pf(4), k(4), pf2, m2
 
22
      integer i
 
23
      
 
24
      double precision rZero, rTwo
 
25
      parameter( rZero = 0.0d0, rTwo = 2.0d0 )
 
26
      double complex ci
 
27
      parameter( ci = ( 0.0d0, 1.0d0 ) )
 
28
c
 
29
      m2 = rTwo*fmass
 
30
 
 
31
      fti(5) = fi(5) - tc(5,1)
 
32
      fti(6) = fi(6) - tc(6,1)
 
33
 
 
34
      pf(1) = dreal(fti(5))
 
35
      pf(2) = dreal(fti(6))
 
36
      pf(3) = dimag(fti(6))
 
37
      pf(4) = dimag(fti(5))
 
38
      pf2 = pf(1)**2 - pf(2)**2 - pf(3)**2 - pf(4)**2
 
39
 
 
40
      k(1) = dreal(fi(5)) + pf(1)
 
41
      k(2) = dreal(fi(6)) + pf(2)
 
42
      k(3) = dimag(fi(6)) + pf(3)
 
43
      k(4) = dimag(fi(5)) + pf(4)
 
44
 
 
45
      k14p = dcmplx( k(1)+k(4), rZero )
 
46
      k14m = dcmplx( k(1)-k(4), rZero )
 
47
      k23  = dcmplx( k(2), k(3) )
 
48
      k23s = dconjg( k23 )
 
49
      p14p = dcmplx( pf(1)+pf(4), rZero )
 
50
      p14m = dcmplx( pf(1)-pf(4), rZero )
 
51
 
 
52
      T11 = rTwo*tc(1,1)
 
53
      T22 = rTwo*tc(2,2)
 
54
      T33 = rTwo*tc(3,3)
 
55
      T44 = rTwo*tc(4,4)
 
56
      T12 = tc(1,2) + tc(2,1)
 
57
      T13 = tc(1,3) + tc(3,1)
 
58
      T14 = tc(1,4) + tc(4,1)
 
59
      T23 = tc(2,3) + tc(3,2)
 
60
      T24 = tc(2,4) + tc(4,2)
 
61
      T34 = tc(3,4) + tc(4,3)
 
62
 
 
63
      D1 =   k(1)*(T11-T14) - k(2)*(T12-T24)
 
64
     &     - k(3)*(T13-T34) - k(4)*(T14-T44)
 
65
 
 
66
      D2 = - k(1)*(T12-ci*T13) + k(2)*(T22-ci*T23)
 
67
     &     + k(3)*(T23-ci*T33) + k(4)*(T24-ci*T34)
 
68
 
 
69
      D3 = - k(1)*(T12+ci*T13) + k(2)*(T22+ci*T23)
 
70
     &     + k(3)*(T23+ci*T33) + k(4)*(T24+ci*T34)
 
71
 
 
72
      D4 =   k(1)*(T11+T14) - k(2)*(T12+T24)
 
73
     &     - k(3)*(T13+T34) - k(4)*(T14+T44)
 
74
 
 
75
      Tii  = 16.d0*(T11 - T22 - T33 - T44)
 
76
      mTii = fmass*Tii
 
77
 
 
78
      if ( fmass.gt.rZero ) then
 
79
         d = - g/dcmplx( pf2-fmass**2, fmass*fwidth )
 
80
      else
 
81
         d = - g/dcmplx( pf2, rZero )
 
82
      end if
 
83
 
 
84
      fti(1) =   fi(1)*(p14m*D4 + dconjg(fti(6))*D3)
 
85
     &         - fi(2)*(p14m*D2 + dconjg(fti(6))*D1)
 
86
     &         + Tii*(  fi(1)*(dconjg(fti(6))*k23  - p14m*k14p)
 
87
     &                + fi(2)*(dconjg(fti(6))*k14m - p14m*k23s) )
 
88
 
 
89
      fti(2) = - fi(1)*(fti(6)*D4 + p14p*D3)
 
90
     &         + fi(2)*(fti(6)*D2 + p14p*D1)
 
91
     &         + Tii*(  fi(1)*(fti(6)*k14p - p14p*k23 )
 
92
     &                + fi(2)*(fti(6)*k23s - p14p*k14m) )
 
93
 
 
94
      fti(3) =   fi(3)*(p14p*D1 + dconjg(fti(6))*D3)
 
95
     &         + fi(4)*(p14p*D2 + dconjg(fti(6))*D4)
 
96
     &         + Tii*(  fi(3)*(dconjg(fti(6))*k23  - p14p*k14m)
 
97
     &                - fi(4)*(dconjg(fti(6))*k14p - p14p*k23s) )
 
98
 
 
99
      fti(4) =   fi(3)*(fti(6)*D1 + p14m*D3)
 
100
     &         + fi(4)*(fti(6)*D2 + p14m*D4)
 
101
     &         + Tii*(  fi(3)*(p14m*k23  - fti(6)*k14m)
 
102
     &                - fi(4)*(p14m*k14p - fti(6)*k23s) )
 
103
 
 
104
      if ( fmass.gt.rZero ) then
 
105
         fti(1) = fti(1) + fmass*( D1*fi(3) + D2*fi(4) )
 
106
         fti(2) = fti(2) + fmass*( D3*fi(3) + D4*fi(4) )
 
107
         fti(3) = fti(3) + fmass*( D4*fi(1) - D2*fi(2) )
 
108
         fti(4) = fti(4) + fmass*(-D3*fi(1) + D1*fi(2) )
 
109
         do i = 1,4
 
110
            fti(i) = fti(i) + mTii*m2*fi(i)
 
111
         end do
 
112
         fti(1) = fti(1) + mTii*(  fi(3)*(rTwo*p14m - k14m)
 
113
     &                           + fi(4)*(k23 - rTwo*dconjg(fti(6))) )
 
114
         fti(2) = fti(2) + mTii*(  fi(3)*(k23 - rTwo*fti(6))
 
115
     &                           + fi(4)*(rTwo*p14p - k14p) )
 
116
         fti(3) = fti(3) + mTii*(  fi(1)*(rTwo*p14p - k14p)
 
117
     &                           + fi(2)*(rTwo*dconjg(fti(6)) - k23s) )
 
118
         fti(4) = fti(4) + mTii*(  fi(1)*(rTwo*fti(6) - k23)
 
119
     &                           + fi(2)*(rTwo*p14m - k14m) )
 
120
      end if
 
121
 
 
122
      do i = 1,4
 
123
         fti(i) = fti(i)*d
 
124
      end do
 
125
c
 
126
      return
 
127
      end