Name: Lingxiao Xu 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.