(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *) (* *) (* This file has been automatically generated by FeynRules. *) (* *) (* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *) (* Kinematic indices *) KinematicIndices[ F ] = {}; KinematicIndices[ V ] = {Lorentz}; KinematicIndices[ S ] = {}; KinematicIndices[ SV ] = {Lorentz}; KinematicIndices[ U ] = {}; $FermionLines = True; (* 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]]== NonCommutative[SpinorType[j1][-mom,Mass[F[j1]]]], AnalyticalPropagator[Internal][s1 F[j1,mom]]== NonCommutative[DiracSlash[-mom]+Mass[F[j1]]]* 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 = { (* FFS *) AnalyticalCoupling[s1 F[j1, mom1], s2 F[j2, mom2], s3 S[j3, mom3] ] == G[-1][s1 F[j1], s2 F[j2], s3 S[j3]].{NonCommutative[ChiralityProjector[-1]], NonCommutative[ChiralityProjector[+1]], NonCommutative[DiracSlash[mom3 ], ChiralityProjector[-1] ], NonCommutative[DiracSlash[mom3 ], ChiralityProjector[+1] ]}, (* FFV *) AnalyticalCoupling[s1 F[j1, mom1], s2 F[j2, mom2], s3 V[j3, mom3, {li3}] ] == G[-1][s1 F[j1], s2 F[j2], s3 V[j3]].{NonCommutative[DiracMatrix[li3], ChiralityProjector[-1] ], NonCommutative[DiracMatrix[li3], ChiralityProjector[+1] ]}, (* 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}, (* SSV *) AnalyticalCoupling[s1 S[j1, mom1], s2 S[j2, mom2], s3 V[j3, mom3, {li3}] ] == G[+1][s1 S[j1], s2 S[j2], s3 V[j3]].{FourVector[mom1, li3], FourVector[mom2, li3]}, (* 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 ]}, (* SUU *) AnalyticalCoupling[s1 S[j1, mom1], s2 U[j2, mom2], s3 U[j3, mom3] ] == G[+1][s1 S[j1], s2 U[j2], s3 U[j3]].{1}, (* 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 ]}, (* UUV *) AnalyticalCoupling[s1 U[j1, mom1], s2 U[j2, mom2], s3 V[j3, mom3, {li3}] ] == G[+1][s1 U[j1], s2 U[j2], s3 V[j3]].{FourVector[mom2, li3], FourVector[mom3, li3], FourVector[mom1, 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 = { NonCommutative[dm1:_DiracMatrix | _DiracSlash,dm2:_DiracMatrix | _DiracSlash, ChiralityProjector[+1]] -> NonCommutative[dm2,dm1, ChiralityProjector[+1]], NonCommutative[dm1:_DiracMatrix | _DiracSlash,dm2:_DiracMatrix | _DiracSlash, ChiralityProjector[-1]] -> NonCommutative[dm2,dm1, ChiralityProjector[-1]], NonCommutative[dm:_DiracMatrix | _DiracSlash, ChiralityProjector[+1]] -> -NonCommutative[dm, ChiralityProjector[-1]], NonCommutative[dm:_DiracMatrix | _DiracSlash, ChiralityProjector[-1]] -> -NonCommutative[dm, ChiralityProjector[+1]]} (* 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]