Name: D. Azevedo Date: 05/28/18-04:14:10 PM Z
Hello FeynCalc team,
first of all, thank you for such a powerful tool.
I am beginning learning FeynCalc and before venturing into loops, I would like to compute the squared matrix element of e+ e- -> t bar{t} h at tree level. I am having some problems related to contracting lorentz indexes. My nb file is:
SetOptions[InitializeModel,
ModelEdit :> (M$ClassesDescription =
M$ClassesDescription /. MZ -> MZc)]
InitializeModel[{SM, UnitarySM},
GenericModel -> {Lorentz, UnitaryLorentz}];
NoElectronHCoupling =
ExcludeFieldPoints -> {FieldPoint[0][-F[2, {1}],
F[1, {1}], S[3]],
FieldPoint[0][-F[2, {1}], F[2, {1}],
S[1]],
FieldPoint[0][-F[2, {1}], F[2, {1}],
S[2]]}
part = InsertFields[
CreateTopologies[0,
2 -> 3], {F[2, {1}], -F[2, {1}]} -> {F[3,
{3}], -F[3, {3}], S[1]},
Restrictions -> NoElectronHCoupling, InsertionLevel ->
{Classes},
Model -> {SM, UnitarySM},
GenericModel -> {Lorentz, UnitaryLorentz}];
Paint[part, PaintLevel -> {Classes}]
listdiag =
FCFAConvert[CreateFeynAmp[part], SMP -> True,
ChangeDimension -> 4,
IncomingMomenta -> {p1, p2}, OutgoingMomenta -> {k1, k2, k3},
DropSumOver -> True, List -> False, UndoChiralSplittings ->
True];
diag1 = listdiag[[5]]
diag2 = listdiag[[4]]
diag3 = listdiag[[3]]
diag4 = listdiag[[2]]
diag5 = listdiag[[1]]
I am splitting the diagrams just to follow the same idea as some tutorials I have been reading. diag[[5]] is the Higgsstrahung from the Z boson. In this diagram (as with all of the others) I haven’t been able to contract the lorentz indexes, there is one that remains for some reason.
(I set up my kinematics)
ClearScalarProducts;
SP[p1, p1] = me^2;
SP[p2, p2] = me^2;
SP[p1, p2] = (s - 2 me^2)/2 ;
SP[k1, k1] = mt^2;
SP[k2, k2] = mt^2;
SP[k3, k3] = mh^2;
SP[k1, k2] = (s3 - 2 mt^2)/2;
SP[k1, k3] = (s2 - mt^2 - mh^2)/2;
SP[k2, k3] = (s1 - mt^2 - mh^2)/2;
diag1 = diag1 /. {Lor1 -> \[Mu], Lor2 -> \[Nu], Lor3
-> \[Alpha],
Lor4 -> \[Beta]};
diag1C = ComplexConjugate[
diag1] /. {\[Mu] -> \[Mu]lin, \[Nu]
-> \[Nu]lin, \[Alpha] -> \
\[Alpha]lin, \[Beta] -> \[Beta]lin};
M12 = diag1 diag1C // Contract
M12 still have mu and mulin indexes left to be contracted. What am I doing wrong?
Thank you,
Duarte