$LoadPhi = True;
$LoadFeynArts = True;

Needs["HighEnergyPhysics`FeynCalc`"];

RUN ONLY ONCE - then delete !!!

<< HighEnergyPhysics`Phi`Extras`FAPatch`

\(\(replacelist = {"$Verbose = 2" -> "$Verbose := HighEnergyPhysics`FeynCalc`$VeryVerbose", "InferFormat" -> "tmpInfer", "SetLoop" -> "tmpsetloop", "Loop" -> "HighEnergyPhysics`FeynCalc`Loop`Loop", "Indices" -> "FAIndices", "Global`PolarizationVector" -> "Global`FAPolarizationVector", "FeynAmp" -> "FAFeynAmp", "PropagatorDenominator" -> "HighEnergyPhysics`FeynCalc`PropagatorDenominator`PropagatorDenominator", "FeynAmpDenominator" -> "HighEnergyPhysics`FeynCalc`FeynAmpDenominator`FeynAmpDenominator", "GaugeXi" -> "HighEnergyPhysics`FeynCalc`GaugeXi`GaugeXi", "NonCommutative" -> "FANonCommutative", "Global`DiracSpinor" -> "HighEnergyPhysics`FeynCalc`DiracSpinor`DiracSpinor", "FeynArts`DiracSpinor" -> "HighEnergyPhysics`FeynCalc`DiracSpinor`DiracSpinor", "Global`DiracTrace" -> "HighEnergyPhysics`FeynCalc`DiracTrace`DiracTrace", "tmpInfer" -> "InferFormat", "tmpsetloop" -> "SetLoop", "HighEnergyPhysics`FeynCalc`Loop`LoopNr" -> "LoopNr", ""HighEnergyPhysics`FeynCalc`Loop`Loop"" -> ""Loop"", "HighEnergyPhysics`FeynCalc`Loop`LoopPD" -> "LoopPD", "KinematicFAIndices" -> "KinematicIndices", "CreateFAFeynAmp" -> "CreateFeynAmp", "FADiracFASpinor" -> "FADiracSpinor", "FAFA" -> "FA", "FAHighEnergyPhysics" -> "HighEnergyPhysics"};\)\)

\(\(HighEnergyPhysics`Phi`FAPatch`Private`patch[#, 
          replacelist] &\) /@ \((\(\(("Models" <> $PathnameSeparator <> #)\) &\) /@ {"Lorentz.gen", "sm.mod"})\)\)

tt = CreateTopologies[0, 2 -> 2];

tt // Paint;

aa = 
        InsertFields[
          tt, {F[2, {1}], -F[2, {1}]} -> {F[
                2, {2}], -F[2, {2}]}, InsertionLevel -> Classes, 
          Model -> "sm", 
          GenericModel -> "Lorentz"];

aa // Paint;

ampFA = 
        CreateFeynAmp[aa] //. 
          LorentzIndex[fcli[mu_, d___], dd___] :> 
            LorentzIndex[mu, Sequence @@ Union[{d}, {dd}]];

ampFC = ampFA // FAToFC;

(FermionSpinSum[# ComplexConjugate[#] /. 
                        SpaceTimeDimensions -> Sequence[] // Expand] /. 
                  DiracTrace -> Tr // DiracSimplify // Contract // 
            Simplify) & /@ ampFC