Name: Vladyslav Shtabovenko Date: 02/05/18-08:30:50 AM Z


Hi,

first of all, you do not need to apply Contract to amplitude: It contains no Lorentz indices or Eps tensors, so there is nothing to do for Contract there. Therefore the function will not touch the expression.

Just use an explicit ExpandScalarProduct there

amplitude =
 ExpandScalarProduct[
   1/(ScalarProduct[p1 - p3, p1 - p3] -
       m\[Phi]^2) g\[Phi]\[Chi]\[Chi] yN Sin[\[Alpha]] SpinorUBar[p4,
      mp].SpinorU[p2,
      mp] SpinorUBar[p3, m\[Chi]].SpinorU[p1,
       m\[Chi]]/(1 - ScalarProduct[p1 - p3, p1 - p3]/pel^2)^2] //
  Simplify

The scalar products can be substituted only on expanded expressions, c.f.

ScalarProduct[q, p] = m2
SP[q + l, p]
% // ExpandScalarProduct

since for Mathematica

SP[q + l, p] and SP[q,p]+SP[l,p] are different expressions.

Cheers,
Vladyslav