The code to generate the FeynArts output has (in some places) a hardcoded reference to the EWSB eigenstate which is in contradiction to the possibility of specifying a separate eigenstate.
The following patch appears to fix it for me:
Code: Select all
From 4af779fe0e7a560cb9419c907f00432880ddc7b5 Mon Sep 17 00:00:00 2001
From: JP-Ellis <josh@jpellis.me>
Date: Tue, 27 Feb 2018 18:28:49 +1100
Subject: [PATCH] [feynarts] Fix hardcoded reference to EWSB eigenstate
Signed-off-by: JP-Ellis <josh@jpellis.me>
---
Package/Outputs/feynarts.m | 32 ++++++++++++++++++--------------
1 file changed, 18 insertions(+), 14 deletions(-)
diff --git a/Package/Outputs/feynarts.m b/Package/Outputs/feynarts.m
index 2de5933..ad2b124 100755
--- a/Package/Outputs/feynarts.m
+++ b/Package/Outputs/feynarts.m
@@ -58,9 +58,13 @@ subGenInd={};
Message[ModelFile::NoVertices];,
*)
-If[FreeQ[NameOfStates,InitalizedVertexCalculaton]==True,
-Print["Have to calculate the vertices first..."];
-If[eigS===FinalStates,ModelOutput[Last[NameOfStates]];,ModelOutput[eigS];];
+If[eigS===FinalStates,
+ eigS = Last[NameOfStates];
+];
+If[
+ FreeQ[NameOfStates, InitalizedVertexCalculaton] == True,
+ Print["Have to calculate the vertices first..."];
+ ModelOutput[eigS];
];
ClearAttributes[C,Orderless];
@@ -83,7 +87,7 @@ InitTrig;
CreateClassesFA[False];
FeynArtsVertices[AddCounterT];
-WriteModelFA[AddCounterT];
+WriteModelFA[AddCounterT, eigS];
Print[""];
@@ -791,7 +795,7 @@ M$CouplingMatrices=ReleaseHold[M$CouplingMatrices /.sum[a_,b_,c_,d_]->IndexSum[d
];
-WriteModelFA[addCT_]:= Block[{Minutes,iii,i},
+WriteModelFA[addCT_, eigS_]:= Block[{Minutes,iii,i},
Print["Write Model-File"];
@@ -919,17 +923,17 @@ WriteString[outputfile,"(* Fermion WV renormalisation constants *)\n"];
For[iii=1,iii<=Length[PART[F]],
If[FreeQ[MajoranaPart,PART[F][[iii,1]]],
If[getGen[PART[F][[iii,1]]]===1,
-WriteString[outputfile,"RenConst["<>ToString[FA`Zf[RE[(PART[F][[iii,1]]/. diracSub[EWSB])[[1]]],1,1]]<>"]:=FieldRC["<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a]]<>"][[1]] \n"];
-WriteString[outputfile,"RenConst["<>ToString[FA`Zf[RE[(PART[F][[iii,1]]/. diracSub[EWSB])[[2]]],1,1]]<>"]:=FieldRC["<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a]]<>"][[2]] \n"];,
-WriteString[outputfile,"RenConst["<>ToString[FA`Zf[RE[(PART[F][[iii,1]]/. diracSub[EWSB])[[1]]],i1_,i1_]]<>"]:=FieldRC["<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a,{i1}]]<>"][[1]] \n"];
-WriteString[outputfile,"RenConst["<>ToString[FA`Zf[RE[(PART[F][[iii,1]]/. diracSub[EWSB])[[2]]],i1_,i1_]]<>"]:=FieldRC["<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a,{i1}]]<>"][[2]] \n"];
-WriteString[outputfile,"RenConst["<>ToString[FA`Zf[RE[(PART[F][[iii,1]]/. diracSub[EWSB])[[1]]],i2_,i1_]]<>"]:=FieldRC["<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a,{i1}]]<>","<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a,{i2}]]<>"][[1]] \n"];
-WriteString[outputfile,"RenConst["<>ToString[FA`Zf[RE[(PART[F][[iii,1]]/. diracSub[EWSB])[[2]]],i2_,i1_]]<>"]:=FieldRC["<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a,{i1}]]<>""<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a,{i1}]]<>"][[2]] \n"];
+WriteString[outputfile,"RenConst["<>ToString[FA`Zf[RE[(PART[F][[iii,1]]/. diracSub[eigS])[[1]]],1,1]]<>"]:=FieldRC["<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a]]<>"][[1]] \n"];
+WriteString[outputfile,"RenConst["<>ToString[FA`Zf[RE[(PART[F][[iii,1]]/. diracSub[eigS])[[2]]],1,1]]<>"]:=FieldRC["<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a]]<>"][[2]] \n"];,
+WriteString[outputfile,"RenConst["<>ToString[FA`Zf[RE[(PART[F][[iii,1]]/. diracSub[eigS])[[1]]],i1_,i1_]]<>"]:=FieldRC["<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a,{i1}]]<>"][[1]] \n"];
+WriteString[outputfile,"RenConst["<>ToString[FA`Zf[RE[(PART[F][[iii,1]]/. diracSub[eigS])[[2]]],i1_,i1_]]<>"]:=FieldRC["<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a,{i1}]]<>"][[2]] \n"];
+WriteString[outputfile,"RenConst["<>ToString[FA`Zf[RE[(PART[F][[iii,1]]/. diracSub[eigS])[[1]]],i2_,i1_]]<>"]:=FieldRC["<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a,{i1}]]<>","<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a,{i2}]]<>"][[1]] \n"];
+WriteString[outputfile,"RenConst["<>ToString[FA`Zf[RE[(PART[F][[iii,1]]/. diracSub[eigS])[[2]]],i2_,i1_]]<>"]:=FieldRC["<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a,{i1}]]<>""<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a,{i1}]]<>"][[2]] \n"];
];,
If[getGen[PART[F][[iii,1]]]===1,
-WriteString[outputfile,"RenConst["<>ToString[FA`Zf[RE[(PART[F][[iii,1]]/. diracSub[EWSB])[[1]]],1,1]]<>"]:=FieldRC["<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a]]<>"][[1]] \n"];,
-WriteString[outputfile,"RenConst["<>ToString[FA`Zf[RE[(PART[F][[iii,1]]/. diracSub[EWSB])[[1]]],i1_,i1_]]<>"]:=FieldRC["<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a,{i1}]]<>"][[1]] \n"];
-WriteString[outputfile,"RenConst["<>ToString[FA`Zf[RE[(PART[F][[iii,1]]/. diracSub[EWSB])[[1]]],i1_,i2_]]<>"]:=FieldRC["<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a,{i1}]]<>","<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a,{i2}]]<>"][[1]] \n"];
+WriteString[outputfile,"RenConst["<>ToString[FA`Zf[RE[(PART[F][[iii,1]]/. diracSub[eigS])[[1]]],1,1]]<>"]:=FieldRC["<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a]]<>"][[1]] \n"];,
+WriteString[outputfile,"RenConst["<>ToString[FA`Zf[RE[(PART[F][[iii,1]]/. diracSub[eigS])[[1]]],i1_,i1_]]<>"]:=FieldRC["<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a,{i1}]]<>"][[1]] \n"];
+WriteString[outputfile,"RenConst["<>ToString[FA`Zf[RE[(PART[F][[iii,1]]/. diracSub[eigS])[[1]]],i1_,i2_]]<>"]:=FieldRC["<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a,{i1}]]<>","<>ToString[getFull[PART[F][[iii,1]]] /. subFA /. F[a_,b__]->F[a,{i2}]]<>"][[1]] \n"];
];
];
iii++;];
--
2.16.2