2
c ----------------------------------------------------------------------
4
subroutine fvigld(fi,vc,gc,fmass,fwidth,idecay , fvi)
6
c This subroutine computes an off-shell fermion wavefunction from a
7
c flowing-in external fermion and a vector boson, for the NLSP-boson-
8
c Goldstino vertex. The h.c. of the NLSP decay is handled via the
9
c input parameter idecay (picks out correct Goldstino momentum).
12
c complex fi(6) : flow-in fermion |fi>
13
c complex vc(6) : input vector v
14
c complex gc(2) : coupling constants gvf
15
c real fmass : mass of output fermion f'
16
c real fwidth : width of output fermion f'
17
c integer idecay : 1 for NLSP decay to Goldstino
18
c : -1 for Goldstino to NLSP (h.c. of above)
21
c complex fvi(6) : off-shell fermion |f',v,fi>
24
double complex fi(6), vc(6), gc(2), fvi(6), sl1, sl2, sr1, sr2, d
25
double complex p14p, p14m, p23p, p23m, A14p, A14m, A23p, A23m
27
double precision fmass, fwidth
28
double precision pf(0:3), pv(4), pf2, pdotpG
32
parameter( rOne = 1.0d0 )
33
double complex ci, cZero
34
parameter( ci = ( 0.0d0, 1.0d0 ), cZero = ( 0.0d0, 0.0d0 ) )
36
fvi(5) = fi(5) - vc(5)
37
fvi(6) = fi(6) - vc(6)
48
pf2 = pf(0)**2 - pf(1)**2 - pf(2)**2 - pf(3)**2
50
if ( idecay.eq.1 ) then
51
pdotpG = pv(1)*pf(0) - pv(2)*pf(1) - pv(3)*pf(2) - pv(4)*pf(3)
52
AdotpG = vc(1)*pf(0) - vc(2)*pf(1) - vc(3)*pf(2) - vc(4)*pf(3)
53
else if ( idecay.eq.-1 ) then
54
pdotpG = pv(1)*dble( fi(5)) - pv(2)*dble( fi(6))
55
& - pv(3)*dimag(fi(6)) - pv(4)*dimag(fi(5))
56
AdotpG = vc(1)*dble( fi(5)) - vc(2)*dble( fi(6))
57
& - vc(3)*dimag(fi(6)) - vc(4)*dimag(fi(5))
59
write(6,*) 'error in idecay of FVIGLD'
63
p14p = dble(vc(5)) + dimag(vc(5))
64
p14m = dble(vc(5)) - dimag(vc(5))
69
A23p = vc(2) + vc(3)*ci
70
A23m = vc(2) - vc(3)*ci
72
d = -rOne/dcmplx( pf2-fmass**2, fmass*fwidth )
75
sl1 = (p14p*AdotpG - A14p*pdotpG)*fi(1)
76
& +(p23m*AdotpG - A23m*pdotpG)*fi(2)
77
sl2 = (p23p*AdotpG - A23p*pdotpG)*fi(1)
78
& +(p14m*AdotpG - A14m*pdotpG)*fi(2)
80
if ( gc(2).ne.cZero ) then
81
sr1 = (p14m*AdotpG - A14m*pdotpG)*fi(3)
82
& -(p23m*AdotpG - A23m*pdotpG)*fi(4)
83
sr2 = -(p23p*AdotpG - A23p*pdotpG)*fi(3)
84
& +(p14p*AdotpG - A14p*pdotpG)*fi(4)
86
fvi(1) = ( gc(1)*((pf(0)-pf(3))*sl1 - dconjg(fvi(6))*sl2 )
87
& +gc(2)*fmass*sr1 )*d
88
fvi(2) = ( gc(1)*( -fvi(6)*sl1 + (pf(0)+pf(3))*sl2 )
89
& +gc(2)*fmass*sr2 )*d
90
fvi(3) = ( gc(2)*((pf(0)+pf(3))*sr1 + dconjg(fvi(6))*sr2 )
91
& +gc(1)*fmass*sl1 )*d
92
fvi(4) = ( gc(2)*( fvi(6)*sr1 + (pf(0)-pf(3))*sr2 )
93
& +gc(1)*fmass*sl2 )*d
97
fvi(1) = d*((pf(0)-pf(3))*sl1 - dconjg(fvi(6))*sl2)
98
fvi(2) = d*( -fvi(6)*sl1 + (pf(0)+pf(3))*sl2)