<<FeynCalc.m

dm[mu_]:=DiracMatrix[mu]
dm[5]:=DiracMatrix[5]
ds[p_]:=DiracSlash[p]
epsilon[a_,b_,c_,d_]:=LeviCivita[a,b,c,d]
id[n_]:=IdentityMatrix[n]
id[n_]:=IdentityMatrix[n]
dp[p_,m_]:=DiracSlash[p]+m
mt[mu_,nu_]:=MetricTensor[mu,nu]
fv[p_,mu_]:=FourVector[p,mu]
sp[p_,q_]:=ScalarProduct[p,q]


ans1[mu_,nu_]:=Tr[ds[p2] . dm[mu] . ds[p1] . dm[nu]] 

ans2[mu_,nu_]:=Tr[ds[p2] . dm[mu] . (gv - ga dm[5]) . ds[p1] . dm[nu] \
. (gv - ga dm[5])] 

ans3[a_,b_,ap_,bp_]:=Tr[ds[p2] . dm[a] . (1 - dm[5]) . ds[p1-p4] . dm[b] \
. (1 -dm[5]) . ds[p1] . dm[bp] . (1 - dm[5]) . ds[p1-p4] . dm[ap] \
. (1 -dm[5])]

ans12[mu_,nu_]:=Tr[ds[p2] . dm[mu] . ds[p1] . dm[nu] . (gv -ga dm[5])] + \
                Tr[ds[p2] . dm[nu] . (gv -ga dm[5]) . ds[p1] . dm[mu]]

ans13[mu_,ap_,bp_]:= \
Tr[ds[p2] . dm[mu] . ds[p1] . dm[bp] . (1 -dm[5]) \
. (ds[p1]-ds[p4]) . dm[ap]] + \
Tr[ds[p2] . dm[ap] . (ds[p1]-ds[p4]) . dm[bp] . (1 -dm[5]) . ds[p1] \
. dm[mu]]


ans23[mu_,ap_,bp_]:= \
Tr[ds[p2] . dm[mu] . (gv -ga dm[5]) . ds[p1] \
. dm[bp] . (1 -dm[5]) . (ds[p1]-ds[p4]) . dm[ap] ] + \
Tr[ds[p2] . dm[ap] . (ds[p1]-ds[p4]) . dm[bp] . (1 -dm[5]) . ds[p1] \
. dm[mu] . (gv-ga dm[5])]





F[a_,b_,nu_]:=mt[a,b] (-fv[p3,nu]+fv[p4,nu]) \
               + mt[nu,a] (fv[p4,b] + 2 fv[p3,b]) \
               + mt[b,nu] (-2 fv[p4,a]-fv[p3,a])

spol[a_,b_,p_]:=(-mt[a,b] + fv[p,a] fv[p,b] /mw2)


aux1=Contract[ans1[mu,nu] F[a,b,mu] F[ap,bp,nu] spol[a,ap,p3] spol[b,bp,p4]]
diag1=Simplify[e^4*aux1/s^2/4]

aux2=Contract[ans2[mu,nu] F[a,b,mu] F[ap,bp,nu] spol[a,ap,p3] spol[b,bp,p4]]
diag2=Simplify[g^4*aux2/(s-mz2)^2/4]


aux3=Contract[ans3[a,b,ap,bp] spol[a,ap,p3] spol[b,bp,p4]]
diag3=Simplify[g^4*aux3/4/64/(mw2-2 sp[p1,p4])^2]



aux12=Contract[ans12[mu,nu] spol[a,ap,p3] spol[b,bp,p4] F[a,b,mu] F[ap,bp,nu]]
diag12=Simplify[-e^2 g^2 /s/(s-mz2) aux12 /4]


aux13=Contract[ans13[mu,ap,bp] spol[a,ap,p3] spol[b,bp,p4] F[a,b,mu]]
diag13=e^2 g^2 aux13/s/4/4/(mw2-2 sp[p1,p4]) // Simplify

aux23=Contract[ans23[mu,ap,bp] spol[a,ap,p3] spol[b,bp,p4] F[a,b,mu]]
diag23=-g^4 aux23/(s-mz2)/4/4/(mw2-2 sp[p1,p4]) // Simplify


be[s_]:=Sqrt[1 -4 mw2/s]


Kinematics1={sp[p1,p1]->0,sp[p2,p2]->0,sp[p3,p3]->mw2,sp[p4,p4]->mw2}
Kinematics2={sp[p1,p2]->1/2 s,sp[p1,p3]->s/4*(1-be[s]*Cos[t])}
Kinematics3={sp[p3,p4]->s/4*(1+be[s]^2),sp[p1,p4]->s/4*(1+be[s]*Cos[t])}
Kinematics4={sp[p2,p3]->s/4*(1+be[s]*Cos[t]),sp[p2,p4]->s/4*(1-be[s]*Cos[t])}
Kinematics=Flatten[{Kinematics1,Kinematics2,Kinematics3,Kinematics4}]
valor1={mz2->91.2^2,mw2->80^2,s->200^2,t->Pi/4}
valor2={mz2->91.2^2,mw2->80^2,s->200^2,t->Pi/8}
csts1={sw2->0.23,cw2->0.77,mz2->91.2^2,alfa->1/137,GeV2pb->0.389379*10^9}
csts2={mw2->mz2*cw2,ga->-1/4,gv->-1/4+sw2,e->Sqrt[4 Pi alfa],g->Sqrt[4 Pi alfa/sw2]} /. csts1

csts=Flatten[{csts1,csts2}]

ans1=diag1 /. Kinematics
ans2=diag2 /. Kinematics
ans3=diag3 /. Kinematics
ans12=diag12 /. Kinematics
ans13=diag13 /. Kinematics
ans23=diag23 /. Kinematics

ansgz=ans1+ans2+ans12 //Simplify
ansgzn=ans13+ans23 //Simplify



(G+Z) >> tmp
dSigdtGPZ=ansgz*GeV2pb/32/Pi/s*be[s] //Simplify >>>tmp
(G+Z) N >>> tmp
dSigdtGPZN=ansgzn*GeV2pb/32/Pi/s*be[s] //Simplify >>>tmp
N >>> tmp
dSigdtN=ans3*GeV2pb/32/Pi/s*be[s] //Simplify >>>tmp
G >>> tmp
dSigdtG=ans1*GeV2pb/32/Pi/s*be[s] //Simplify >>>tmp
Z >>> tmp
dSigdtZ=ans2*GeV2pb/32/Pi/s*be[s] //Simplify >>>tmp
GZ >>> tmp
dSigdtGZ=ans12*GeV2pb/32/Pi/s*be[s] //Simplify >>>tmp
GN >>> tmp
dSigdtGN=ans13*GeV2pb/32/Pi/s*be[s] //Simplify >>>tmp
ZN >>> tmp
dSigdtZN=ans23*GeV2pb/32/Pi/s*be[s] //Simplify >>>tmp









