Name: Vladyslav Shtabovenko Date: 04/08/16-06:02:35 PM Z


Ok, I think I fixed all the related issues.

1) FCFAConvert should now work with amplitudes produced by unpatched
FeynArts without extra replacements.

2) If you put the FeynRules models to the Models directory of the
patched FeynArts and then run

FAPatch[PatchModelsOnly -> True]

then, the extra model files will be patched in the same way as the
original FeynArts models.

So the following now works:

$LoadFeynArts = True;
«FeynCalc`;
$FAVerbose = 0;
FAPatch[PatchModelsOnly -> True]

tops = CreateTopologies[0, 2 -> 2];
inserttops =
  InsertFields[tops, {F[4], V[1]} -> {F[4], V[1]},
   GenericModel -> “SM_Unitary_Gauge”, Model -> “SM_Unitary_Gauge”,
   InsertionLevel -> {Particles}];
Paint[%, ColumnsXRows -> {2, 1}];

FCFAConvert[CreateFeynAmp[inserttops], ChangeDimension -> 4,
  LorentzIndexNames -> {Lor1, Lor2}, IncomingMomenta -> {p1, p2},
  OutgoingMomenta -> {k1, k2}, DropSumOver -> True, List -> False,
  UndoChiralSplittings -> True,
  FinalSubstitutions ->
   Flatten[Join[M$FACouplings, {SUNFDelta[__] :> 1}]]] // Contract

(*————————————————————-*)

inserttops2 =
  InsertFields[tops, {F[4], -F[4]} -> {F[5], -F[5]},
   GenericModel -> “SM_Unitary_Gauge”, Model -> “SM_Unitary_Gauge”,
   InsertionLevel -> {Particles}, LastSelections -> {V[1]}];
Paint[%, ColumnsXRows -> {1, 1}];

FCFAConvert[CreateFeynAmp[inserttops2], ChangeDimension -> 4,
  LorentzIndexNames -> {Lor1}, IncomingMomenta -> {p1, p2},
  OutgoingMomenta -> {k1, k2}, DropSumOver -> True, List -> False,
  UndoChiralSplittings -> True,
  FinalSubstitutions ->
   Flatten[Join[M$FACouplings, {SUNFDelta[__] :> 1}]]] // Contract

(*————————————————————-*)

tops3 = CreateTopologies[0, 1 -> 3];

inserttops3 =
  InsertFields[tops3, {F[6]} -> {F[3], -F[7], F[10]},
   GenericModel -> “SM_Unitary_Gauge”, Model -> “SM_Unitary_Gauge”,
   InsertionLevel -> {Particles}];
Paint[%, ColumnsXRows -> {1, 1}];

FCFAConvert[CreateFeynAmp[inserttops3], ChangeDimension -> 4,
  LorentzIndexNames -> {Lor1}, IncomingMomenta -> {p1},
  OutgoingMomenta -> {k3, k1, k2}, DropSumOver -> True, List -> False,
   FinalSubstitutions ->
   Flatten[Join[M$FACouplings, {SUNFDelta[__] :> 1}]]] // Contract

I pushed the changes to the developlment version which you can install via

Import[“https://raw.githubusercontent.com/FeynCalc/feyncalc/master/install.m”]
InstallFeynCalc[InstallFeynCalcDevelopmentVersion -> True]

Looking forward to hear your feedback.

Cheers,
Vladyslav

Am 07.04.2016 um 21:50 schrieb Vladyslav Shtabovenko:
> Hi Xing-Bo,
>
> thanks for the detailed example. Your idea to provide a function to
> patch the model is actually very good. I need to improve the
> corresponding code to make it a bit more user friendly and universal,
> but this shouldn’t take too much time.
>
> Cheers,
> Vladyslav
>
> Am 05.04.2016 um 20:36 schrieb Xing-Bo Yuan:
>> Hi Vladyslav,
>>
>> I am sorry for so late reply.
>>
>> “Correct. In fact, I haven’t thought of the possibility that someone
>> would use FCFAConvert[] for unpatched FeynArts. However, this shouldn’t
>> be difficult to fix.
>>
>> I don’t use FeynRules, so it would be nice if you could send me some
>> examples of code to which you are applying FCFAConvert. This way I could
>> it test it a bit, before pushing the changes in the repo. “
>>
>> Thank you for the explanation.
>>
>> I have seen many people use FeynCalc to perform calculation on BSM models. An usual roadmap is FeynRules->FeynArts->FeynCalc, i.e. using FeynRules to generate FeynArts model file, then generate amplitude in FeynArts, finally the analytical calculation is performed in FeynCalc.
>>
>> Now, the situation is that, the unpatched FeynArts can directly read the model file generated by FeynRules, but the patched FeynArts, which is installed with FeynCalc, can not.
>>
>> Your suggestion is to generate amplitude in unpatched FeynArts, then load it in FeynCalc. It’s also what I currently used. In this approach, one need change some functions by hand. Please find the files in the following link.
>> https://www.dropbox.com/s/qwlhxruzqgzvcbo/Archive.zip?dl=0
>> I give few sample examples which you asked for. Hope you can update FCFAConvert[] to apply for the amplitude generated by unpatched FeynArts.
>>
>> In addition, I have another suggestion to solve the current problem. In FeynCalc, if there is a function to patch the model file generated by FeynRules, then people can easily use the patched FeynArts. In fact, I think there already exists such a function. Because, when installing FeynCalc and patching FeynArts, the model files in ./FeynCalc/FeynArts/Models/ are automatically patched.
>>
>> Thank you again for your time.
>>
>> Best Regards,
>> Xing-Bo Yuan
>>
>