Name: Lingxiao Xu (email_not_shown)
Date: 11/04/14-03:36:13 PM Z

I'm very appreciate the help!
As for the process(q,qbar->q,qbar),I guess we can just get the correct result by fixing the relative minus sign between two diagrams. It seems that,in my code, SUNSimplify can also make the color factor right, at least giving the right result.
So DOES IT RIGHT OR WRONG? WHAT IF THERE ARE MORE TERMS CARRYING COLOR FACTORS, SHOULD WE JUST EVALUATE IT BY HAND NOW OR WE CAN MAKE IT SIMPLER?
Furthermore, including the missing diagram still can not give me the correct result. With evaluating the color factor by myself, the code is just like:
<< HighEnergyPhysics`FeynCalc`

ClearScalarProducts;
{
ScalarProduct[p1, p1] =
ScalarProduct[p2, p2] =
ScalarProduct[p3, p3] = ScalarProduct[p4, p4] = 0,
ScalarProduct[p1, p2] = ScalarProduct[p3, p4] = s/2,
ScalarProduct[p1, p3] = ScalarProduct[p2, p4] = -t/2,
ScalarProduct[p1, p4] = ScalarProduct[p2, p3] = -u/2
};
QPr[p_, m_] :=
I (DiracSlash[p] + m)/(ScalarProduct[p] - m^2) //
ExpandScalarProduct;
ScPr[p_, m_] := -I/(ScalarProduct[p]^2 - m^2) // ExpandScalarProduct;
SUNN = 3;
SetOptions[SUNSimplify, SUNNToCACF -> False];
{qav = 6, gav = 16, eav = 2};
ftrace := {DiracTrace -> TR, D -> 4};

f1 = (SpinorUBar[p3, 0].QGV[\[Nu], j].QPr[p1 + p2, 0].QGV[\[Mu],
i].SpinorU[p1, 0] // Explicit) /. SUNT[x_] -> 1
f2 = (SpinorUBar[p3, 0].QGV[\[Mu], i].QPr[p1 - p4, 0].QGV[\[Nu],
j].SpinorU[p1, 0] // Explicit) /. SUNT[x_] -> 1
f3 = (SpinorUBar[p3, 0].QGV[\[Eta], l].SpinorU[p1, 0] ScPr[p1 - p3,
0] GluonVertex[{p1 - p3, \[Eta], l}, {p2, \[Mu],
i}, {-p4, \[Nu], j}] // Explicit) /. {SUNT[x_] -> 1,
SUNF[w_, y_, z_] -> 1}
f1s = (-SpinorUBar[p1, 0].QGV[\[Mu]s, i].QPr[p1 + p2, 0].QGV[\[Nu]s,
j].SpinorU[p3, 0] // Explicit) /. SUNT[x_] -> 1
f2s = (-SpinorUBar[p1, 0].QGV[\[Nu]s, j].QPr[p1 - p4, 0].QGV[\[Mu]s,
i].SpinorU[p3, 0] // Explicit) /. SUNT[x_] -> 1
f3s = (-SpinorUBar[p1, 0].QGV[\[Eta]s, ls].SpinorU[p3, 0] ScPr[
p1 - p3,
0] GluonVertex[{p1 - p3, \[Eta]s, ls}, {p2, \[Mu]s,
i}, {-p4, \[Nu]s, j}] // Explicit) /. {SUNT[x_] -> 1,
SUNF[w_, y_, z_] -> 1}
Pols = PolarizationSum[\[Mu], \[Mu]s, p2,
p1] PolarizationSum[\[Nu], \[Nu]s, p4, p3]

Msqcolor =
SUNSimplify[(f1 f1s) SUNTrace[SUNT[j, i, i, j]] + (f1 f2s) SUNTrace[
SUNT[j, i, j, i]] + (f1 f3s) SUNTrace[SUNT[j, i, ls]] SUNF[i, j,
ls] + (f2 f1s) SUNTrace[SUNT[i, j, i, j]] + (f2 f2s) SUNTrace[
SUNT[i, j, j, i]] + (f2 f3s) SUNTrace[SUNT[i, j, ls]] SUNF[i, j,
ls] + (f3 f1s) SUNTrace[SUNT[l, j, i]] SUNF[i, j,
l] + (f3 f2s) SUNTrace[SUNT[l, i, j]] SUNF[i, j,
l] + (f3 f3s) SUNTrace[SUNT[l, ls]] SUNF[i, j, l] SUNF[i, j,
ls], Explicit -> True] // Simplify

Msq = FermionSpinSum[Msqcolor/(qav gav)] Pols /. ftrace // Contract //
Simplify;
Msq1 = TrickMandelstam[%, {s, t, u, 0}]

standard = (s^2 + u^2)/t^2 - (4/9) (s^2 + u^2)/(s u)
Msq1/Gstrong^4 - standard
TrickMandelstam[%, {s, t, u, 0}]

Also,another way to calculate Squared matrix element is

Msq = FermionSpinSum[fmunu fmunustar/(gav qav) // Expand] Pols// Contract //
ReplaceAll[#,
DiracTrace[x_] :> DiracTrace[x, DiracTraceEvaluate -> True]] & //
Simplify;
Msq0 = SUNSimplify[SUNTrace[Msq], Explicit -> True] // Simplify;
Msq1 = TrickMandelstam[Msq0, {s, t, u, 0}]

This two ways just make the result differed by a factor 3, it seems the second method is much cleaner, but its correctness needs to be doubted.

My question might be stupid, please forgive this and thanks for the kind help.

This archive was generated by hypermail 2b29 : 06/19/19-08:00:02 AM Z CEST