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