-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
2,413 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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] | ||
|
Oops, something went wrong.