Skip to content

Commit

Permalink
adding FeynArts model files
Browse files Browse the repository at this point in the history
  • Loading branch information
jacoterh committed Dec 19, 2022
1 parent 79a81d9 commit cc568eb
Show file tree
Hide file tree
Showing 6 changed files with 2,413 additions and 0 deletions.
199 changes: 199 additions & 0 deletions code/notebooks/FormCalc/tt/dim_6_c6_c8c.gen
Original file line number Diff line number Diff line change
@@ -0,0 +1,199 @@
(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *)
(* *)
(* This file has been automatically generated by FeynRules. *)
(* *)
(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *)



(* Kinematic indices *)

KinematicIndices[ F ] = {Dirac};
KinematicIndices[ V ] = {Lorentz};
KinematicIndices[ S ] = {};
KinematicIndices[ SV ] = {Lorentz};
KinematicIndices[ U ] = {};

$FermionLines = False;

(* Simplification rules *)

Attributes[ MetricTensor ] = Attributes[ ScalarProduct ] = {Orderless}

FourVector/: -FourVector[ mom_, mu_ ] := FourVector[Expand[-mom], mu]

FourVector[ 0, _ ] = 0

SpinorType[j_Integer, ___] := MajoranaSpinor /; SelfConjugate[F[j]]

SpinorType[_Integer, __] = DiracSpinor

(* Generic propagators *)

M$GenericPropagators={

(*general fermion propagator:*)

AnalyticalPropagator[External][s1 F[j1,mom,{di1}]]==
DiracObject[SpinorType[j1][-mom,Mass[F[j1]]]][di1],

AnalyticalPropagator[Internal][s1 F[j1,mom,{di1}->{di2}]]==
DiracObject[DiracSlash[-mom]+Mass[F[j1]]][di1,di2]*
I PropagatorDenominator[mom,Mass[F[j1]]],

(*general vector boson propagator:*)

AnalyticalPropagator[External][s1 V[j1,mom,{li2}]]==
PolarizationVector[V[j1],mom,li2],

AnalyticalPropagator[Internal][s1 V[j1,mom,{li1}->{li2}]]==
-I PropagatorDenominator[mom,Mass[V[j1]]]*
(MetricTensor[li1,li2]-(1-GaugeXi[V[j1]])*
FourVector[mom,li1] FourVector[mom,li2]*
PropagatorDenominator[mom,Sqrt[GaugeXi[V[j1]]] Mass[V[j1]]]),

(*general mixing scalar-vector propagator:*)

AnalyticalPropagator[Internal][s1 SV[j1,mom,{li1}->{li2}]]==
I Mass[SV[j1]] PropagatorDenominator[mom,Mass[SV[j1]]]*
FourVector[mom,If[s1==1||s1==-2,li1,li2]],

(*general scalar propagator:*)

AnalyticalPropagator[External][s1 S[j1,mom]]==1,

AnalyticalPropagator[Internal][s1 S[j1,mom]]==
I PropagatorDenominator[mom,Sqrt[GaugeXi[S[j1]]] Mass[S[j1]]],

(*general Fadeev-Popov ghost propagator:*)

AnalyticalPropagator[External][s1 U[j1,mom]]==1,

AnalyticalPropagator[Internal][s1 U[j1,mom]]==
I*PropagatorDenominator[mom,Sqrt[GaugeXi[U[j1]]] Mass[U[j1]]]
}

(* Generic couplings *)

M$GenericCouplings = {

(* FFFF *)

AnalyticalCoupling[s1 F[j1, mom1, {di1}], s2 F[j2, mom2, {di2}], s3 F[j3, mom3, {di3}], s4 F[j4, mom4, {di4}] ] ==
G[-1][s1 F[j1], s2 F[j2], s3 F[j3], s4 F[j4]].{IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di2,di4]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di1,di3], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di2,di4]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di3,di1], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di2,di1]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di4,di3], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di2,di1]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di3,di4], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di2,di3]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di4,di1], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di2,di3]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di1,di4], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di4,di2]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di1,di3], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di4,di2]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di3,di1], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di4,di1]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di2,di3], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di4,di1]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di3,di2], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di4,di3]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di2,di1], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di4,di3]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di1,di2], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di1,di2]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di4,di3], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di1,di2]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di3,di4], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di1,di4]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di2,di3], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di1,di4]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di3,di2], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di1,di3]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di2,di4], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di1,di3]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di4,di2], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di3,di2]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di4,di1], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di3,di2]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di1,di4], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di3,di4]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di2,di1], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di3,di4]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di1,di2], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di3,di1]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di2,di4], {a,1,4}], IndexSum[DiracObject[DiracMatrix[a], ChiralityProjector[-1] ][di3,di1]DiracObject[DiracMatrix[a], ChiralityProjector[+1] ][di4,di2], {a,1,4}]},

(* FFS *)

AnalyticalCoupling[s1 F[j1, mom1, {di1}], s2 F[j2, mom2, {di2}], s3 S[j3, mom3] ] ==
G[-1][s1 F[j1], s2 F[j2], s3 S[j3]].{DiracObject[ChiralityProjector[-1]][di1,di2], DiracObject[ChiralityProjector[-1]][di2,di1], DiracObject[ChiralityProjector[+1]][di1,di2], DiracObject[ChiralityProjector[+1]][di2,di1]},

(* FFSV *)

AnalyticalCoupling[s1 F[j1, mom1, {di1}], s2 F[j2, mom2, {di2}], s3 S[j3, mom3], s4 V[j4, mom4, {li4}] ] ==
G[-1][s1 F[j1], s2 F[j2], s3 S[j3], s4 V[j4]].{DiracObject[DiracMatrix[li4], DiracSlash[mom4 ], ChiralityProjector[-1] ][di1,di2], DiracObject[DiracMatrix[li4], DiracSlash[mom4 ], ChiralityProjector[-1] ][di2,di1], DiracObject[DiracMatrix[li4], DiracSlash[mom4 ], ChiralityProjector[+1] ][di1,di2], DiracObject[DiracMatrix[li4], DiracSlash[mom4 ], ChiralityProjector[+1] ][di2,di1], DiracObject[DiracSlash[mom4 ], DiracMatrix[li4], ChiralityProjector[-1] ][di1,di2], DiracObject[DiracSlash[mom4 ], DiracMatrix[li4], ChiralityProjector[-1] ][di2,di1], DiracObject[DiracSlash[mom4 ], DiracMatrix[li4], ChiralityProjector[+1] ][di1,di2], DiracObject[DiracSlash[mom4 ], DiracMatrix[li4], ChiralityProjector[+1] ][di2,di1]},

(* FFSVV *)

AnalyticalCoupling[s1 F[j1, mom1, {di1}], s2 F[j2, mom2, {di2}], s3 S[j3, mom3], s4 V[j4, mom4, {li4}], s5 V[j5, mom5, {li5}] ] ==
G[-1][s1 F[j1], s2 F[j2], s3 S[j3], s4 V[j4], s5 V[j5]].{DiracObject[DiracMatrix[li4], DiracMatrix[li5], ChiralityProjector[-1] ][di1,di2], DiracObject[DiracMatrix[li4], DiracMatrix[li5], ChiralityProjector[-1] ][di2,di1], DiracObject[DiracMatrix[li4], DiracMatrix[li5], ChiralityProjector[+1] ][di1,di2], DiracObject[DiracMatrix[li4], DiracMatrix[li5], ChiralityProjector[+1] ][di2,di1], DiracObject[DiracMatrix[li5], DiracMatrix[li4], ChiralityProjector[-1] ][di1,di2], DiracObject[DiracMatrix[li5], DiracMatrix[li4], ChiralityProjector[-1] ][di2,di1], DiracObject[DiracMatrix[li5], DiracMatrix[li4], ChiralityProjector[+1] ][di1,di2], DiracObject[DiracMatrix[li5], DiracMatrix[li4], ChiralityProjector[+1] ][di2,di1]},

(* FFV *)

AnalyticalCoupling[s1 F[j1, mom1, {di1}], s2 F[j2, mom2, {di2}], s3 V[j3, mom3, {li3}] ] ==
G[-1][s1 F[j1], s2 F[j2], s3 V[j3]].{DiracObject[DiracMatrix[li3], ChiralityProjector[-1] ][di1,di2], DiracObject[DiracMatrix[li3], ChiralityProjector[-1] ][di2,di1], DiracObject[DiracMatrix[li3], ChiralityProjector[+1] ][di1,di2], DiracObject[DiracMatrix[li3], ChiralityProjector[+1] ][di2,di1], DiracObject[DiracMatrix[li3], DiracSlash[mom3 ], ChiralityProjector[-1] ][di1,di2], DiracObject[DiracMatrix[li3], DiracSlash[mom3 ], ChiralityProjector[-1] ][di2,di1], DiracObject[DiracMatrix[li3], DiracSlash[mom3 ], ChiralityProjector[+1] ][di1,di2], DiracObject[DiracMatrix[li3], DiracSlash[mom3 ], ChiralityProjector[+1] ][di2,di1], DiracObject[DiracSlash[mom3 ], DiracMatrix[li3], ChiralityProjector[-1] ][di1,di2], DiracObject[DiracSlash[mom3 ], DiracMatrix[li3], ChiralityProjector[-1] ][di2,di1], DiracObject[DiracSlash[mom3 ], DiracMatrix[li3], ChiralityProjector[+1] ][di1,di2], DiracObject[DiracSlash[mom3 ], DiracMatrix[li3], ChiralityProjector[+1] ][di2,di1]},

(* FFVV *)

AnalyticalCoupling[s1 F[j1, mom1, {di1}], s2 F[j2, mom2, {di2}], s3 V[j3, mom3, {li3}], s4 V[j4, mom4, {li4}] ] ==
G[-1][s1 F[j1], s2 F[j2], s3 V[j3], s4 V[j4]].{DiracObject[DiracMatrix[li3], DiracMatrix[li4], ChiralityProjector[-1] ][di1,di2], DiracObject[DiracMatrix[li3], DiracMatrix[li4], ChiralityProjector[-1] ][di2,di1], DiracObject[DiracMatrix[li3], DiracMatrix[li4], ChiralityProjector[+1] ][di1,di2], DiracObject[DiracMatrix[li3], DiracMatrix[li4], ChiralityProjector[+1] ][di2,di1], DiracObject[DiracMatrix[li4], DiracMatrix[li3], ChiralityProjector[-1] ][di1,di2], DiracObject[DiracMatrix[li4], DiracMatrix[li3], ChiralityProjector[-1] ][di2,di1], DiracObject[DiracMatrix[li4], DiracMatrix[li3], ChiralityProjector[+1] ][di1,di2], DiracObject[DiracMatrix[li4], DiracMatrix[li3], ChiralityProjector[+1] ][di2,di1]},

(* SSS *)

AnalyticalCoupling[s1 S[j1, mom1], s2 S[j2, mom2], s3 S[j3, mom3] ] ==
G[+1][s1 S[j1], s2 S[j2], s3 S[j3]].{1},

(* SSSS *)

AnalyticalCoupling[s1 S[j1, mom1], s2 S[j2, mom2], s3 S[j3, mom3], s4 S[j4, mom4] ] ==
G[+1][s1 S[j1], s2 S[j2], s3 S[j3], s4 S[j4]].{1},

(* SSVV *)

AnalyticalCoupling[s1 S[j1, mom1], s2 S[j2, mom2], s3 V[j3, mom3, {li3}], s4 V[j4, mom4, {li4}] ] ==
G[+1][s1 S[j1], s2 S[j2], s3 V[j3], s4 V[j4]].{MetricTensor[li3 ,li4 ]},

(* SVV *)

AnalyticalCoupling[s1 S[j1, mom1], s2 V[j2, mom2, {li2}], s3 V[j3, mom3, {li3}] ] ==
G[+1][s1 S[j1], s2 V[j2], s3 V[j3]].{MetricTensor[li2 ,li3 ]},

(* VVV *)

AnalyticalCoupling[s1 V[j1, mom1, {li1}], s2 V[j2, mom2, {li2}], s3 V[j3, mom3, {li3}] ] ==
G[+1][s1 V[j1], s2 V[j2], s3 V[j3]].{FourVector[mom1, li3]MetricTensor[li1 ,li2 ], FourVector[mom2, li3]MetricTensor[li1 ,li2 ], FourVector[mom1, li2]MetricTensor[li1 ,li3 ], FourVector[mom3, li2]MetricTensor[li1 ,li3 ], FourVector[mom2, li1]MetricTensor[li2 ,li3 ], FourVector[mom3, li1]MetricTensor[li2 ,li3 ]},

(* VVVV *)

AnalyticalCoupling[s1 V[j1, mom1, {li1}], s2 V[j2, mom2, {li2}], s3 V[j3, mom3, {li3}], s4 V[j4, mom4, {li4}] ] ==
G[+1][s1 V[j1], s2 V[j2], s3 V[j3], s4 V[j4]].{MetricTensor[li1 ,li4 ]MetricTensor[li2 ,li3 ], MetricTensor[li1 ,li3 ]MetricTensor[li2 ,li4 ], MetricTensor[li1 ,li2 ]MetricTensor[li3 ,li4 ]}
}

(* FlippingRules: the flipping rules determines how Dirac
objects change when the order of fermion fields in the
coupling is reversed. In other words, it defines how the
coupling C[F, -F, ...] is derived from C[-F, F, ...].*)

M$FlippingRules = {
}

(* TruncationRules: rule for omitting the wave functions of
external Propagators defined in this file. *)

M$TruncationRules = {
_PolarizationVector -> 1,
_DiracSpinor -> 1,
_MajoranaSpinor -> 1
}
(* LastGenericRules: the very last rules that are applied to an
amplitude before it is returned by CreateFeynAmp. *)

M$LastGenericRules = {
PolarizationVector[p_, _. mom:FourMomentum[Outgoing, _], li_] :>
Conjugate[PolarizationVector][p, mom, li]
}
(* cosmetics: *)

(* left spinor in chain + mom incoming -> ar v
left spinor in chain + mom outgoing -> ar u
right spinor in chain + mom incoming -> u
right spinor in chain + mom outgoing -> v *)
Format[
FermionChain[
NonCommutative[_[s1_. mom1_, mass1_]],
r___,
NonCommutative[_[s2_. mom2_, mass2_]]] ] :=
Overscript[If[FreeQ[mom1, Incoming], "u", "v"], "_"][mom1, mass1] .
r . If[FreeQ[mom2, Outgoing], "u", "v"][mom2, mass2]

Format[ DiracSlash ] = "gs"

Format[ DiracMatrix ] = "ga"

Format[ ChiralityProjector[1] ] = SequenceForm["om", Subscript["+"]]

Format[ ChiralityProjector[-1] ] = SequenceForm["om", Subscript["-"]]

Format[ GaugeXi[a_] ] := SequenceForm["xi", Subscript[a]]

Format[ PolarizationVector ] = "ep"

Unprotect[Conjugate];
Format[ Conjugate[a_] ] = SequenceForm[a, Superscript["*"]];
Protect[Conjugate]

Format[ MetricTensor ] = "g"

Format[ ScalarProduct[a__] ] := Dot[a]

Format[ FourVector[a_, b_] ] := a[b]

Loading

0 comments on commit cc568eb

Please sign in to comment.