ASperGe: MSSM_mix.fr

File MSSM_mix.fr, 40.8 KB (added by Karen De Causmaecker, 5 years ago)

Minimal Supersymmetric Standard Model (MSSM) including the mixings

Line 
1(* ********************************************************* *)
2(* *****                                               ***** *)
3(* *****  FeynRules model file: the MSSM               ***** *)
4(* *****  Author: A. Allou, B. Fuks                    ***** *)
5(* *****                                               ***** *)
6(* ********************************************************* *)
7
8(* ************************** *)
9(* *****  Information   ***** *)
10(* ************************** *)
11M$ModelName = "MSSM_mix";
12M$Information = { Authors->{"Benjamin Fuks"}, Emails->{"fuks@cern.ch"}, Institutions->{"IPHC Strasbourg / University of Strasbourg"},
13                  Date->"26.10.12", Version->"1.3.13",
14                  References->{"C. Duhr, B. Fuks, CPC 182 (2011) 2404-2462, arXiv:1102.4191 [hep-ph]"},
15                  URLs->{"http://feynrules.irmp.ucl.ac.be/view/Main/MSSM"} };
16
17(* v1.3.6:  Renaming of SP to SPot (variable name clashing). Thanks to Kentarou Mawatari.     *)
18(* v1.3.7:  Small bug in the definition of the CKM matrix. Thanks Antonio Mariano.            *)
19(* v1.3.8:  Interaction orders added.                                                         *)
20(* v1.3.9:  Wrong sign for the gaugino soft masses.                                           *)
21(* v1.3.10: Inversion of two SLHA counters for the Higgs soft masses. Thanks to Sho Iwamoto.  *)
22(* v1.3.11: Adding the Feynman gauge flag necessary for the UFO.                              *)
23(* v1.3.12: Preamble updated.                                                                 *)
24(* v1.3.13: Definition of bb modified, improving Lagrangian checks. Thanks to Sho Iwamoto.    *)
25(* v1.4.0:  Including the mixings.                                                            *)
26
27(* ************************** *)
28(* *****      Flags     ***** *)
29(* ************************** *)
30$CKMDiag = False;   (* CKM  = identity or not *)
31$MNSDiag = True;   (* PMNS = identity or not *)
32FeynmanGauge = True;
33
34
35(* ************************************************ *)
36(* *****      Mass matrix diagonalization     ***** *)
37(* ************************************************ *)
38M$vevs = { {hus[2],vu}, {hds[1],vd} };
39
40M$MixingsDescription = {
41Mix["1a"] == { MassBasis -> {A, Z},    GaugeBasis -> {B, Wi[3]},     MixingMatrix -> UG, BlockName -> WEAKMIX },
42Mix["1b"] == { MassBasis -> {W, Wbar}, GaugeBasis -> {Wi[1], Wi[2]}, Value -> {{1/Sqrt[2], -I/Sqrt[2]}, {1/Sqrt[2], I/Sqrt[2]}} },
43Mix["2a"] == { MassBasis -> { {h0, H0}, {A0, G0} }, GaugeBasis -> { hds[1], hus[2] }, BlockName -> {HMIX, AMIX}, MixingMatrix -> {US, UP} },
44Mix["2b"] == { MassBasis -> {H, GP}, GaugeBasis -> { hdsbar[2], hus[1] }, BlockName -> HCMIX, MixingMatrix -> UC },
45Mix["3a"] == { MassBasis -> {boww}, GaugeBasis -> {bow}, Value ->{{I}}},
46Mix["3b"] == { MassBasis -> {wow0,wowp,wowm}, GaugeBasis -> {wow[3],wow[1],wow[2]}, Value ->{{I,0,0}, {0,I/Sqrt[2],1/Sqrt[2]}, {0,I/Sqrt[2],-1/Sqrt[2]}} },
47Mix["3c"] == { MassBasis -> {neuw[1], neuw[2], neuw[3], neuw[4]}, GaugeBasis -> {boww, wow0, hdw[1], huw[2]},  BlockName -> NMIX, MixingMatrix -> NN },
48Mix["3d"]  == { MassBasis -> {{chmw[1],chmw[2]}, {chpw[1],chpw[2]}}, GaugeBasis -> {{wowm,hdw[2]},{wowp,huw[1]}}, BlockName -> {UMIX,VMIX}, MixingMatrix -> {UU,VV} },
49Mix["5"]  == { MassBasis -> {goww}, GaugeBasis -> {gow}, Value ->{{I}}},
50Mix["6a"] == { MassBasis -> {ghWp, ghWm}, GaugeBasis -> {ghWi[1], ghWi[2]}, Value -> {{1/Sqrt[2], -I/Sqrt[2]}, {1/Sqrt[2], I/Sqrt[2]}} },
51Mix["6b"] == { MassBasis -> {ghA, ghZ}, GaugeBasis -> {ghB, ghWi[3]}, MixingMatrix -> UG, BlockName -> WEAKMIX },
52
53Mix["7a"] == { MassBasis -> {vLw[1],vLw[2],vLw[3]} , GaugeBasis -> {LLw[1,1],LLw[1,2],LLw[1,3]}, MixingMatrix -> MNS},
54Mix["7b"] == { MassBasis -> {eLw[1],eLw[2],eLw[3]} , GaugeBasis -> {LLw[2,1],LLw[2,2],LLw[2,3]}, Value -> {{1,0,0},{0,1,0},{0,0,1}}},
55Mix["7c"] == { MassBasis ->  {uLw[1,_],uLw[2,_], uLw[3,_]}, GaugeBasis ->{QLw[1,1,_],QLw[1,2,_],QLw[1,3,_]}, Value -> {{1,0,0},{0,1,0},{0,0,1}} },
56
57Mix["7d"] == { MassBasis -> {dLw[1,_],dLw[2,_], dLw[3,_]}, GaugeBasis -> {QLw[2,1,_],QLw[2,2,_],QLw[2,3,_]}, MixingMatrix -> CKM, Inverse -> True},
58Mix["7e"] == { MassBasis -> {sdL[1,_],sdL[2,_],sdL[3,_]}, GaugeBasis -> {QLs[2,1,_], QLs[2,2,_], QLs[2,3,_]}, MixingMatrix -> CKM, Inverse -> True},
59
60(* CKM/PMNS for  sdowns/ sneutrinos *)
61Mix["8a"] == { MassBasis -> {sn[1], sn[2], sn[3]}, GaugeBasis -> {LLs[1,1], LLs[1,2], LLs[1,3]}, MixingMatrix -> Rn, BlockName -> SNUMIX},
62Mix["8b"] == { MassBasis -> {sl[1], sl[2], sl[3],sl[4],sl[5],sl[6]}, GaugeBasis -> {LLs[2,1], LLs[2,2], LLs[2,3],ERsbar[1], ERsbar[2], ERsbar[3]},
63              MixingMatrix -> Rl, BlockName -> SELMIX},
64Mix["8c"] == { MassBasis -> {su[1,_],su[2,_],su[3,_],su[4,_],su[5,_],su[6,_]}, GaugeBasis -> {QLs[1,1,_], QLs[1,2,_], QLs[1,3,_], URsbar[1,_],URsbar[2,_],URsbar[3,_]},
65              MixingMatrix -> Ru, BlockName -> USQMIX},
66Mix["8d"] == { MassBasis -> {sd[1,_],sd[2,_],sd[3,_],sd[4,_],sd[5,_],sd[6,_]}, GaugeBasis -> {sdL[1,_], sdL[2,_], sdL[3,_],DRsbar[1,_],DRsbar[2,_],DRsbar[3,_]},
67              MixingMatrix -> Rd, BlockName -> DSQMIX}
68
69
70
71}
72
73(* ************************** *)
74(* *****  Gauge groups  ***** *)
75(* ************************** *)
76M$GaugeGroups = {
77 U1Y  == { Abelian->True,  CouplingConstant->gp, Superfield->BSF, Charge->Y, GUTNormalization->3/5},
78 SU2L == { Abelian->False, CouplingConstant->gw, Superfield->WSF,
79           StructureConstant->ep, Representations->{Ta,SU2D}, Definitions->{Ta[a__]->PauliSigma[a]/2, ep->Eps}},
80 SU3C == { Abelian->False, CouplingConstant->gs, Superfield->GSF,
81           StructureConstant->f,  Representations->{{T,Colour}, {Tb,Colourb}}, DTerm->dSUN}
82};
83
84(* ************************** *)
85(* *** Interaction orders *** *)
86(* ************************** *)
87M$InteractionOrderHierarchy = { {QCD, 1}, {QED, 2} };
88
89
90(* *********************************** *)
91(* ***** Representation mappings ***** *)
92(* *********************************** *)
93FR$ReprMap = { {Colour,Colourb} };
94
95(* ************************** *)
96(* *****    Indices     ***** *)
97(* ************************** *)
98IndexRange[Index[SU2W]] =   Unfold[Range[3]]; IndexStyle[SU2W,j];  IndexRange[Index[SU2D]] =   Unfold[Range[2]]; IndexStyle[SU2D,k];
99IndexRange[Index[Gluon ]] = NoUnfold[Range[8]]; IndexStyle[Gluon, a];  IndexRange[Index[Colour ]] = NoUnfold[Range[3]]; IndexStyle[Colour, m];
100IndexRange[Index[Colourb]] = NoUnfold[Range[3]]; IndexStyle[Colourb,m];
101IndexRange[Index[NEU ]] = Range[4];           IndexStyle[NEU, i];
102IndexRange[Index[CHA ]] = Range[2];           IndexStyle[CHA, i];
103IndexRange[Index[GEN ]] = Range[3];           IndexStyle[GEN, f];
104IndexRange[Index[SCA ]] = Range[6];           IndexStyle[SCA, i];
105
106
107(* ************************** *)
108(* *****  Superfields   ***** *)
109(* ************************** *)
110M$Superfields = {
111 VSF[1] == { ClassName->BSF, GaugeBoson->B,  Gaugino->bow},
112 VSF[2] == { ClassName->WSF, GaugeBoson->Wi, Gaugino->wow, Indices->{Index[SU2W]}},
113 VSF[3] == { ClassName->GSF, GaugeBoson->G,  Gaugino->gow, Indices->{Index[Gluon] }},
114 CSF[1] == { ClassName->HU, Chirality->Left, Weyl->huw, Scalar->hus, QuantumNumbers->{Y-> 1/2}, Indices->{Index[SU2D]}},
115 CSF[2] == { ClassName->HD, Chirality->Left, Weyl->hdw, Scalar->hds, QuantumNumbers->{Y->-1/2}, Indices->{Index[SU2D]}},
116 CSF[3] == { ClassName->LL, Chirality->Left, Weyl->LLw, Scalar->LLs, QuantumNumbers->{Y->-1/2}, Indices->{Index[SU2D], Index[GEN]}},
117 CSF[4] == { ClassName->ER, Chirality->Left, Weyl->ERw, Scalar->ERs, QuantumNumbers->{Y-> 1},   Indices->{Index[GEN]}},
118 CSF[5] == { ClassName->VR, Chirality->Left, Weyl->VRw, Scalar->VRs, Indices->{Index[GEN]}},
119 CSF[6] == { ClassName->QL, Chirality->Left, Weyl->QLw, Scalar->QLs, QuantumNumbers->{Y-> 1/6}, Indices->{Index[SU2D], Index[GEN], Index[Colour]}},
120 CSF[7] == { ClassName->UR, Chirality->Left, Weyl->URw, Scalar->URs, QuantumNumbers->{Y->-2/3}, Indices->{Index[GEN], Index[Colourb]}           },
121 CSF[8] == { ClassName->DR, Chirality->Left, Weyl->DRw, Scalar->DRs, QuantumNumbers->{Y-> 1/3}, Indices->{Index[GEN], Index[Colourb]}           }
122};
123
124(* ************************** *)
125(* *****     Fields     ***** *)
126(* ************************** *)
127M$ClassesDescription = {
128(* Gauge bosons: unphysical vector fields *)
129 V[11] == { ClassName->B, Unphysical->True, SelfConjugate->True },
130 V[12] == { ClassName->Wi, Unphysical->True, SelfConjugate->True, Indices->{Index[SU2W]}, FlavorIndex->SU2W },
131
132(* Gauge bosons: physical vector fields *)
133 V[1] == { ClassName->A, SelfConjugate->True,  Mass->0,  Width->0,  ParticleName->"a",
134           PDG->22, PropagatorLabel->"A", PropagatorType->Sine, PropagatorArrow->None},
135 V[2] == { ClassName->Z, SelfConjugate->True,  Mass->MZ, Width->WZ, ParticleName->"Z",
136           PDG->23, PropagatorLabel->"Z", PropagatorType->Sine, PropagatorArrow->None},
137 V[3] == { ClassName->W, SelfConjugate->False, Mass->MW, Width->WW, ParticleName->"W+", AntiParticleName->"W-", QuantumNumbers->{Q->1},
138           PDG->24, PropagatorLabel->"W", PropagatorType->Sine, PropagatorArrow->Forward},
139 V[4] == { ClassName->G, SelfConjugate->True, Indices->{Index[Gluon]}, Mass->0, Width->0, ParticleName->"g",
140           PDG->21, PropagatorLabel->"G", PropagatorType->C,    PropagatorArrow->None },
141
142(* Gauginos: unphysical Weyls *)
143 W[20] == { ClassName->bow, Unphysical->True, Chirality->Left, SelfConjugate->False},
144 W[200]== { ClassName->boww,Unphysical->True, Chirality->Left, SelfConjugate->False},
145 W[21] == { ClassName->wow, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[SU2W]}, FlavorIndex->SU2W },
146 W[210]== { ClassName->wow0,Unphysical->True, Chirality->Left, SelfConjugate->False},
147 W[211]== { ClassName->wowp,Unphysical->True, Chirality->Left, SelfConjugate->False},
148 W[212]== { ClassName->wowm,Unphysical->True, Chirality->Left, SelfConjugate->False},
149 W[22] == { ClassName->gow,  Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[Gluon]} },
150
151(* Higgsinos: unphysical Weyls *)
152 W[23] == { ClassName->huw,  Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[SU2D]}, FlavorIndex->SU2D, QuantumNumbers->{Y-> 1/2} },
153 W[24] == { ClassName->hdw,  Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[SU2D]}, FlavorIndex->SU2D, QuantumNumbers->{Y->-1/2} },
154
155(* Gauginos/Higgsinos: physical Weyls *)
156 W[1] == { ClassName->neuw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[NEU]}, FlavorIndex->NEU },
157 W[2] == { ClassName->chpw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[CHA]}, FlavorIndex->CHA, QuantumNumbers->{Q-> 1} } ,
158 W[3] == { ClassName->chmw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[CHA]}, FlavorIndex->CHA, QuantumNumbers->{Q->-1} } ,
159 W[4] == { ClassName->goww, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[Gluon]} },
160
161(* Gauginos/Higgsinos: physical Diracs *)
162 F[1] == { ClassName->neu, SelfConjugate->True,  Indices->{Index[NEU]}, FlavorIndex->NEU, WeylComponents->neuw,
163           ParticleName->{"n1","n2","n3","n4"},
164           ClassMembers->{neu1,neu2,neu3,neu4}, Mass->{Mneu,Mneu1,Mneu2,Mneu3,Mneu4}, Width->{Wneu,Wneu1,Wneu2,Wneu3,Wneu4},
165           PDG->{1000022,1000023,1000025,1000035}, PropagatorLabel->{"neu","neu1","neu2","neu3","neu4"}, PropagatorType->Straight, PropagatorArrow->None },
166 F[2] == { ClassName->ch,  SelfConjugate->False, Indices->{Index[CHA]}, FlavorIndex->CHA, WeylComponents->{chpw,chmwbar},
167           ParticleName->{"x1+","x2+"}, AntiParticleName->{"x1-","x2-"}, QuantumNumbers->{Q ->1},
168           ClassMembers->{ch1,ch2}, Mass->{Mch,Mch1,Mch2}, Width->{Wch,Wch1,Wch2},
169           PDG->{1000024,1000037}, PropagatorLabel->{"ch","ch1","ch2"}, PropagatorType->Straight, PropagatorArrow->Forward },
170 F[3] == { ClassName->go,  SelfConjugate->True, Indices->{Index[Gluon]}, WeylComponents->goww, Mass->Mgo, Width->Wgo, ParticleName->"go",
171           PDG->1000021, PropagatorLabel->"go", PropagatorType->Straight, PropagatorArrow->None },
172
173(* Higgs: unphysical scalars  *)
174S[21] == { ClassName->hus,  Unphysical->True, SelfConjugate->False, Indices->{Index[SU2D]}, FlavorIndex->SU2D, QuantumNumbers->{Y-> 1/2} },
175S[22] == { ClassName->hds,  Unphysical->True, SelfConjugate->False, Indices->{Index[SU2D]}, FlavorIndex->SU2D, QuantumNumbers->{Y->-1/2} },
176
177(* Higgs: physical fields and Goldstones *)
178 S[1] == { ClassName->h0, SelfConjugate->True, Mass->MH01, Width->WH01, ParticleName->"h01",
179           PDG->25, PropagatorLabel->"h0", PropagatorType->ScalarDash,  PropagatorArrow->None},
180 S[2] == { ClassName->H0, SelfConjugate->True, Mass->MH02, Width->WH02, ParticleName->"h02",
181           PDG->35, PropagatorLabel->"H0", PropagatorType->ScalarDash,  PropagatorArrow->None},
182 S[3] == { ClassName->A0, SelfConjugate->True, Mass->MA0 , Width->WA0,  ParticleName->"A0" ,
183           PDG->36, PropagatorLabel->"A0", PropagatorType->ScalarDash,  PropagatorArrow->None},
184 S[4] == { ClassName->H,  SelfConjugate->False, QuantumNumbers->{Q-> 1}, Mass->MH, Width->WH,
185           ParticleName->"H+", AntiParticleName->"H-",
186           PDG->37,  PropagatorLabel->"H", PropagatorType->ScalarDash,  PropagatorArrow->Forward},
187 S[5] == { ClassName->G0, SelfConjugate->True, Mass->MZ, Width->WG0, Goldstone->Z,
188           ParticleName->"G0",
189           PDG->250, PropagatorLabel->"G0", PropagatorType->D, PropagatorArrow->None},
190 S[6] == { ClassName->GP, SelfConjugate->False, QuantumNumbers->{Q-> 1}, Mass->MW, Width->WGP, Goldstone->W,
191           ParticleName->"G+", AntiParticleName->"G-",
192           PDG->251, PropagatorLabel->"GP", PropagatorType->D, PropagatorArrow->None },
193
194(* Fermions: unphysical Weyls *)
195W[25] == { ClassName->LLw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[SU2D],Index[GEN]},              FlavorIndex->SU2D,
196           QuantumNumbers->{Y->-1/2} },
197W[26] == { ClassName->QLw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[SU2D],Index[GEN],Index[Colour]},FlavorIndex->SU2D,
198           QuantumNumbers->{Y->1/6} },
199
200(* Fermions: physical Weyls *)
201 W[5] == { ClassName->vLw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN },
202 W[6] == { ClassName->eLw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN },
203 W[7] == { ClassName->VRw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN },
204 W[8] == { ClassName->ERw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN, QuantumNumbers->{Y-> 1} },
205 W[9] == { ClassName->uLw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN],Index[Colour]},  FlavorIndex->GEN },
206 W[10]== { ClassName->dLw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN],Index[Colour]},  FlavorIndex->GEN },
207 W[11]== { ClassName->URw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN],Index[Colourb]}, FlavorIndex->GEN, QuantumNumbers->{Y->-2/3} },
208 W[12]== { ClassName->DRw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN],Index[Colourb]}, FlavorIndex->GEN, QuantumNumbers->{Y-> 1/3} },
209
210(* Fermions: physical Dirac *)
211 F[4] == { ClassName->vl, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN, WeylComponents->{vLw,VRwbar},
212           ParticleName->{"ve","vm","vt"}, AntiParticleName->{"ve~","vm~","vt~"},
213           ClassMembers->{ve,vm,vt}, Mass->{Mvl,Mve,Mvm,Mvt}, Width->0,
214           PDG->{12,14,16}, PropagatorLabel->{"v","ve","vm","vt"}, PropagatorType->Straight, PropagatorArrow->Forward},
215 F[5] == { ClassName->l, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN, WeylComponents->{eLw,ERwbar}, QuantumNumbers->{Q->-1},
216           ParticleName->{"e-","mu-","tau-"}, AntiParticleName->{"e+","mu+","tau+"},
217           ClassMembers->{e,m,ta}, Mass->{Ml,Me,Mm,Mta}, Width->0,
218           PDG->{11,13,15}, PropagatorLabel->{"l","e","mu","tau"}, PropagatorType->Straight, PropagatorArrow->Forward},
219 F[6] == { ClassName->uq, SelfConjugate->False, Indices->{Index[GEN],Index[Colour]}, FlavorIndex->GEN, WeylComponents->{uLw,URwbar}, QuantumNumbers->{Q-> 2/3},
220           ParticleName->{"u","c","t"}, AntiParticleName->{"u~","c~","t~"},
221           ClassMembers->{u,c,t}, Mass->{Muq,MU,MC,MT}, Width->{Wuq,0,0,WT},
222           PDG->{2,4,6}, PropagatorLabel->{"uq","u","c","t"}, PropagatorType->Straight, PropagatorArrow->Forward},
223 F[7] == { ClassName->dq, SelfConjugate->False, Indices->{Index[GEN],Index[Colour]}, FlavorIndex->GEN, WeylComponents->{dLw,DRwbar}, QuantumNumbers->{Q->-1/3},
224           ParticleName->{"d","s","b"}, AntiParticleName->{"d~","s~","b~"},
225           ClassMembers->{d,s,b}, Mass->{Mdq,MD,MS,MB}, Width->0,
226           PDG->{1,3,5}, PropagatorLabel->{"dq","d","s","b"}, PropagatorType->Straight, PropagatorArrow->Forward},
227
228(* Sfermion: unphysical scalars *)
229S[23] == { ClassName->LLs,  Unphysical->True, SelfConjugate->False, Indices->{Index[SU2D], Index[GEN]}, FlavorIndex->SU2D, QuantumNumbers->{Y->-1/2} },
230S[24] == { ClassName->ERs, Unphysical->True, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN, QuantumNumbers->{Y-> 1} },
231S[25] == { ClassName->VRs, Unphysical->True, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN,
232           Definitions->{ VRs[_] -> 0 } },
233S[26] == { ClassName->QLs,  Unphysical->True, SelfConjugate->False, Indices->{Index[SU2D], Index[GEN],Index[Colour]}, FlavorIndex->SU2D, QuantumNumbers->{Y->1/6} },
234S[261]== { ClassName->sdL,  Unphysical->True, SelfConjugate->False, Indices->{Index[GEN],Index[Colour]}, FlavorIndex->GEN, QuantumNumbers->{Y->1/6} },
235S[27] == { ClassName->URs, Unphysical->True, SelfConjugate->False, Indices->{Index[GEN],Index[Colourb]}, FlavorIndex->GEN, QuantumNumbers->{Y->-2/3} },
236S[28] == { ClassName->DRs, Unphysical->True, SelfConjugate->False, Indices->{Index[GEN],Index[Colourb]}, FlavorIndex->GEN, QuantumNumbers->{Y-> 1/3} },
237
238(* Sfermion: physical scalars *)
239S[7] == {  ClassName->sn, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN,
240           ParticleName->{"sv1","sv2","sv3"}, AntiParticleName->{"sv1~","sv2~","sv3~"},
241           ClassMembers-> {sn1, sn2, sn3}, Mass->{Msn,Msn1,Msn2,Msn3}, Width->{Wsn,Wsn1,Wsn2,Wsn3},
242           PDG->{1000012,1000014,1000016}, PropagatorLabel->{"sn","sn1","sn2","sn3"}, PropagatorType->ScalarDash, PropagatorArrow->Forward },
243S[8] == {  ClassName->sl, SelfConjugate->False, Indices->{Index[SCA]}, FlavorIndex->SCA, QuantumNumbers->{Q->-1},
244           ParticleName->{"sl1-","sl2-","sl3-","sl4-","sl5-","sl6-"}, AntiParticleName->{"sl1+","sl2+","sl3+","sl4+","sl5+","sl6+"},
245           ClassMembers->{sl1,sl2,sl3,sl4,sl5,sl6}, Mass->{Msl,Msl1,Msl2,Msl3,Msl4,Msl5,Msl6}, Width->{Wsl,Wsl1,Wsl2,Wsl3,Wsl4,Wsl5,Wsl6},
246           PDG->{1000011,1000013,1000015,2000011,2000013,2000015}, PropagatorLabel->{"sl","sl1","sl2","sl3","sl4","sl5","sl6"},
247           PropagatorType->ScalarDash, PropagatorArrow->Forward},
248S[9] == {  ClassName->su, SelfConjugate->False, Indices->{Index[SCA],Index[Colour]}, FlavorIndex->SCA, QuantumNumbers->{Q-> 2/3},
249           ParticleName->{"su1","su2","su3","su4","su5","su6"}, AntiParticleName->{"su1~","su2~","su3~","su4~","su5~","su6~"},
250           ClassMembers->{su1,su2,su3,su4,su5,su6}, Mass->{Msu,Msu1,Msu2,Msu3,Msu4,Msu5,Msu6}, Width->{Wsu,Wsu1,Wsu2,Wsu3,Wsu4,Wsu5,Wsu6},
251           PDG->{1000002,1000004,1000006,2000002,2000004,2000006}, PropagatorLabel->{"su","su1","su2","su3","su4","su5","su6"},
252           PropagatorType->ScalarDash, PropagatorArrow->Forward},
253S[10]== {  ClassName->sd, SelfConjugate->False, Indices->{Index[SCA],Index[Colour]}, FlavorIndex->SCA, QuantumNumbers->{Q->-1/3},
254           ParticleName->{"sd1","sd2","sd3","sd4","sd5","sd6"}, AntiParticleName->{"sd1~","sd2~","sd3~","sd4~","sd5~","sd6~"},
255           ClassMembers->{sd1,sd2,sd3,sd4,sd5,sd6}, Mass->{Msd,Msd1,Msd2,Msd3,Msd4,Msd5,Msd6}, Width->{Wsd,Wsd1,Wsd2,Wsd3,Wsd4,Wsd5,Wsd6},
256           PDG->{1000001,1000003,1000005,2000001,2000003,2000005}, PropagatorLabel->{"sd","sd1","sd2","sd3","sd4","sd5","sd6"},
257           PropagatorType->ScalarDash, PropagatorArrow->Forward},
258
259(* Ghost: related to unphysical gauge bosons *)
260 U[11] == { ClassName->ghWi, Unphysical->True, SelfConjugate->False, Ghost->Wi, Indices->{Index[SU2W]}, FlavorIndex->SU2W,
261            Definitions->{ghWi[1]->(ghWp+ghWm)/Sqrt[2], ghWi[2]->(ghWm-ghWp)/(I*Sqrt[2]), ghWi[3]->cw ghZ+sw ghA} } ,
262 U[12] == { ClassName->ghB, Unphysical->True, SelfConjugate->False, Ghost->B,
263            Definitions->{ghB->-sw ghZ+cw ghA} },
264
265(* Ghost: related to physical gauge bosons *)
266 U[1] == { ClassName->ghG, SelfConjugate->False, Indices->{Index[Gluon]}, Ghost->G, QuantumNumbers->{GhostNumber->1},
267           Mass->0, Width->0, ParticleName->"ghG", PropagatorLabel->"uG", PropagatorType->GhostDash, PropagatorArrow->Forward},
268 U[2] == { ClassName->ghA, SelfConjugate->False, Ghost->A, QuantumNumbers->{GhostNumber->1},
269           Mass->0, Width->0, ParticleName->"ghA", PropagatorLabel->"uA", PropagatorType->GhostDash, PropagatorArrow->Forward},
270 U[3] == { ClassName->ghZ, SelfConjugate->False, Ghost->Z, QuantumNumbers->{GhostNumber->1},
271           Mass->{MZ,Internal}, Width->WZ, ParticleName->"ghZ", PropagatorLabel->"uZ", PropagatorType->GhostDash, PropagatorArrow->Forward},
272 U[4] == { ClassName->ghWp, SelfConjugate->False, Ghost->W, QuantumNumbers->{GhostNumber->1, Q->1},
273           Mass->{MW,Internal}, Width->WW, ParticleName->"ghWp", PropagatorLabel->"uWp", PropagatorType->GhostDash, PropagatorArrow->Forward},
274 U[5] == { ClassName->ghWm, SelfConjugate->False, Ghost->Wbar, QuantumNumbers->{GhostNumber->1, Q->-1},
275           Mass->{MW,Internal}, Width->WW, ParticleName->"ghWm", PropagatorLabel->"uWm", PropagatorType->GhostDash, PropagatorArrow->Forward}
276};
277
278
279(* ************************** *)
280(* *****   Parameters   ***** *)
281(* ************************** *)
282M$Parameters = {
283
284(* Couplings constants: external parameters *)
285 aEWM1 == { TeX->Subsuperscript[\[Alpha],w,-1], ParameterType->External, ComplexParameter->False, BlockName->SMINPUTS, OrderBlock->1, InteractionOrder->{QED,-2},
286            Description->"Inverse of the EW coupling constant at the Z pole"},
287 aS    == { TeX->Subscript[\[Alpha],s],         ParameterType->External, ComplexParameter->False, BlockName->SMINPUTS, OrderBlock->3, InteractionOrder->{QCD, 2},
288            Description->"Strong coupling constant at the Z pole."},
289
290(* Couplings constants: internal parameters *)
291 ee == { TeX->e,              ParameterType->Internal, ComplexParameter->False, Value->Sqrt[4 Pi / aEWM1], InteractionOrder->{QED,1},
292         Description->"Electric coupling constant"},
293 gs == { TeX->Subscript[g,s], ParameterType->Internal, ComplexParameter->False, Value->Sqrt[4 Pi aS],      InteractionOrder->{QCD,1}, ParameterName->G,
294         Description->"Strong coupling constant"},
295 gp == { TeX->g',             ParameterType->External, ComplexParameter->False, BlockName -> Gauge, OrderBlock -> 1, InteractionOrder->{QED,1},
296         Description->"Hypercharge coupling constant at the Z pole"},
297 gw == { TeX->Subscript[g,w], ParameterType->Internal, ComplexParameter->False, BlockName -> Gauge, OrderBlock -> 2, InteractionOrder->{QED,1},
298         Description->"Weak coupling constant at the Z pole"},
299
300(* Higgs sector: external parameters *)
301 tb == { TeX->Subscript[t,b], ParameterType->External, ComplexParameter->False, BlockName -> FRVev, OrderBlock->2, Description->"Ratio of the two Higgs vevs"},
302
303(* Higgs sector: internal parameters *)
304 beta == { TeX->\[Beta], ParameterType->Internal, ComplexParameter->False, Value->ArcTan[tb], Description->"Arctan of the ratio of the two Higgs vevs"},
305 vev  == { TeX->v,              ParameterType->External, ComplexParameter->False, BlockName -> FRVev, OrderBlock -> 1, InteractionOrder->{QED,-1},
306           Description->"Higgs vacuum expectation value"},
307 vd   == { TeX->Subscript[v,d], ParameterType->Internal, ComplexParameter->False, Value->vev*Cos[beta],    InteractionOrder->{QED,-1},
308           Description->"Down-type Higgs vacuum expectation value"},
309 vu   == { TeX->Subscript[v,u], ParameterType->Internal, ComplexParameter->False, Value->vev*Sin[beta],    InteractionOrder->{QED,-1},
310           Description->"Up-type Higgs vacuum expectation value"},
311
312(* Superpotential: external parameters *)
313 Ryu  == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->YU,
314           Description->"Up-type quark Yukawa matrix (real part)"},
315 Iyu  == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->IMYU,
316           Description->"Up-type quark Yukawa matrix (imaginary part)"},
317 Ryd  == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->YD,
318           Description->"Down-type quark Yukawa matrix (real part)"},
319 Iyd  == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->IMYD,
320           Description->"Down-type quark Yukawa matrix (imaginary part)"},
321 Rye  == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->YE,
322           Description->"Charged lepton Yukawa matrix (real part)"},
323 Iye  == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->IMYE,
324           Description->"Charged lepton Yukawa matrix (imaginary part)"},
325
326(* Superpotential: internal parameters *)
327 yu  == { TeX->Superscript[y,u], ParameterType->Internal, ComplexParameter->True, Indices->{Index[GEN],Index[GEN]},
328          Definitions:>{yu[i_,j_]:>0 /;(i!=j)}, Value->{yu[i_,j_]:>If[i==j,Ryu[i,j]+I*Iyu[i,j]]}, InteractionOrder->{QED,1}, Description-> "Up-type quark Yukawa matrix"},
329 yd  == { TeX->Superscript[y,d], ParameterType->Internal, ComplexParameter->True, Indices->{Index[GEN],Index[GEN]},
330          Definitions:>{yd[i_,j_]:>0 /;(i!=j)}, Value->{yd[i_,j_]:>If[i==j,Ryd[i,j]+I*Iyd[i,j]]}, InteractionOrder->{QED,1}, Description-> "Down-type quark Yukawa matrix"},
331 ye  == { TeX->Superscript[y,e], ParameterType->Internal, ComplexParameter->True, Indices->{Index[GEN],Index[GEN]},
332          Definitions:>{ye[i_,j_]:>0 /;(i!=j)}, Value->{ye[i_,j_]:>If[i==j,Rye[i,j]+I*Iye[i,j]]}, InteractionOrder->{QED,1}, Description-> "Charged lepton Yukawa matrix"},
333 mHu2 == { TeX->Subsuperscript[m,Subscript[H,u],2], ParameterType->External, ComplexParameter->False, BlockName->MSOFT, OrderBlock->22,
334           Description->"Up-type Higgs squared mass"},
335 mHd2 == { TeX->Subsuperscript[m,Subscript[H,d],2], ParameterType->External, ComplexParameter->False, BlockName->MSOFT, OrderBlock->21,
336           Description->"Down-type Higgs squared mass"},
337 MUH == { TeX->\[Mu], ParameterType->Internal, ComplexParameter->True, Value->(-8*mHd2*vd^2 + 8*mHu2*vu^2 + (gp^2 + gw^2)*(-vd^4 + vu^4))/(8*(vd - vu)*(vd + vu)), Description->"Off diagonal Higgs mixing parameter"},
338
339(* Soft terms: external parameters *)
340 RMx1 == { ParameterType->External, ComplexParameter->False, BlockName->MSOFT,   OrderBlock->1, Description->"Bino mass (real part)"},
341 IMx1 == { ParameterType->External, ComplexParameter->False, BlockName->IMMSOFT, OrderBlock->1, Description->"Bino mass (imaginary part)"},
342 RMx2 == { ParameterType->External, ComplexParameter->False, BlockName->MSOFT,   OrderBlock->2, Description->"Wino mass (real part)"},
343 IMx2 == { ParameterType->External, ComplexParameter->False, BlockName->IMMSOFT, OrderBlock->2, Description->"Wino mass (imaginary part)"},
344 RMx3 == { ParameterType->External, ComplexParameter->False, BlockName->MSOFT,   OrderBlock->3, Description->"Gluino mass (real part)"},
345 IMx3 == { ParameterType->External, ComplexParameter->False, BlockName->IMMSOFT, OrderBlock->3, Description->"Gluino mass (imaginary part)"},
346 RmL2 == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->MSL2,
347           Description->"Left-handed slepton squared mass matrix (real part)"},
348 ImL2 == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->IMMSL2,
349           Description->"Left-handed slepton squared mass matrix (imaginary part)"},
350 RmE2 == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->MSE2,
351           Description->"Right-handed slepton squared mass matrix (real part)"},
352 ImE2 == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->IMMSE2,
353           Description->"Right-handed slepton squared mass matrix (imaginary part)"},
354 RmQ2 == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->MSQ2,
355           Description->"Left-handed squark squared mass matrix (real part)"},
356 ImQ2 == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->IMMSQ2,
357           Description->"Left-handed squark squared mass matrix (imaginary part)"},
358 RmU2 == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->MSU2,
359           Description->"Right-handed up-type squark squared mass matrix (real part)"},
360 ImU2 == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->IMMSU2,
361           Description->"Right-handed up-type squark squared mass matrix (imaginary part)"},
362 RmD2 == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->MSD2,
363           Description->"Right-handed down-type squark squared mass matrix (real part)"},
364 ImD2 == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->IMMSD2,
365           Description->"Right-handed down-type squark squared mass matrix (imaginary part)"},
366 Rte == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->TE,
367           Description->"Charged slepton trilinear coupling (real part)"},
368 Ite == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->IMTE,
369           Description->"Charged slepton trilinear coupling (imaginary part)"},
370 Rtu == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->TU,
371           Description->"Up-type squark trilinear coupling (real part)"},
372 Itu == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->IMTU,
373           Description->"Up-type squark trilinear coupling (imaginary part)"},
374 Rtd == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->TD,
375           Description->"Down-type squark trilinear coupling (real part)"},
376 Itd == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->IMTD,
377           Description->"Down-type squark trilinear coupling (imaginary part)"},
378
379(* Soft terms: internal parameters *)
380 Mx1 == { TeX->Subscript[M,1], ParameterType->Internal, ComplexParameter->True, Value->RMx1+I*IMx1, Description->"Bino mass"},
381 Mx2 == { TeX->Subscript[M,2], ParameterType->Internal, ComplexParameter->True, Value->RMx2+I*IMx2, Description->"Wino mass"},
382 Mx3 == { TeX->Subscript[M,3], ParameterType->Internal, ComplexParameter->True, Value->RMx3+I*IMx3, Description->"Gluino mass"},
383  bb  == { TeX->b, ParameterType->Internal, ComplexParameter->True, Value-> (vd*vu*(-4*mHd2 + 4*mHu2 - (gp^2 + gw^2)*(vd^2 - vu^2)))/(4*(vd^2 - vu^2)),  Description->"Higgs bilinear soft term"},
384 mL2 == { TeX->Subsuperscript[m,OverTilde[L],2], ParameterType->Internal, ComplexParameter->True, Indices->{Index[GEN],Index[GEN]},
385          Value->{mL2[i_,j_]:>RmL2[i,j]+I*ImL2[i,j]}, Description-> "Left-handed slepton squared mass matrix"},
386 mE2 == { TeX->Subsuperscript[m,OverTilde[E],2], ParameterType->Internal, ComplexParameter->True, Indices->{Index[GEN],Index[GEN]},
387          Value->{mE2[i_,j_]:>RmE2[i,j]+I*ImE2[i,j]}, Description-> "Right-handed slepton squared mass matrix"},
388 mQ2 == { TeX->Subsuperscript[m,OverTilde[Q],2], ParameterType->Internal, ComplexParameter->True, Indices->{Index[GEN],Index[GEN]},
389          Value->{mQ2[i_,j_]:>RmQ2[i,j]+I*ImQ2[i,j]}, Description-> "Left-handed squark squared mass matrix"},
390 mU2 == { TeX->Subsuperscript[m,OverTilde[U],2], ParameterType->Internal, ComplexParameter->True, Indices->{Index[GEN],Index[GEN]},
391          Value->{mU2[i_,j_]:>RmU2[i,j]+I*ImU2[i,j]}, Description-> "Right-handed up-type squark squared mass matrix"},
392 mD2 == { TeX->Subsuperscript[m,OverTilde[D],2], ParameterType->Internal, ComplexParameter->True, Indices->{Index[GEN],Index[GEN]},
393          Value->{mD2[i_,j_]:>RmD2[i,j]+I*ImD2[i,j]}, Description-> "Right-handed down-type squark squared mass matrix"},
394 te  == { TeX->Subscript[T,e], ParameterType->Internal, ComplexParameter->True, Indices->{Index[GEN],Index[GEN]}, InteractionOrder->{QED,1},
395          Value->{te[i_,j_]:>Rte[i,j]+I*Ite[i,j]}, Description-> "Charged slepton trilinear coupling"},
396 tu  == { TeX->Subscript[T,u], ParameterType->Internal, ComplexParameter->True, Indices->{Index[GEN],Index[GEN]}, InteractionOrder->{QED,1},
397          Value->{tu[i_,j_]:>Rtu[i,j]+I*Itu[i,j]}, Description-> "Up-type squark trilinear coupling"},
398 td  == { TeX->Subscript[T,d], ParameterType->Internal, ComplexParameter->True, Indices->{Index[GEN],Index[GEN]}, InteractionOrder->{QED,1},
399          Value->{td[i_,j_]:>Rtd[i,j]+I*Itd[i,j]}, Description-> "Down-type squark trilinear coupling"},
400
401(* Mixings that need to be given as parameters *)
402 RMNS== { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->UPMNS,
403          Description->"Neutrino PMNS mixing matrix (real part)"},
404 IMNS== { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->IMUPMNS,
405          Description->"Neutrino PMNS mixing matrix (imaginary part)"},
406  MNS== { TeX->Superscript[U,pmns], ParameterType->Internal, ComplexParameter->True, Indices->{Index[GEN],Index[GEN]}, Unitary->True,
407          If[$MNSDiag, Definitions:>{MNS[i_,j_]:>0 /;(i!=j), MNS[i_,j_]:>1/;(i==j)}, Value->{MNS[i_,j_]:>RMNS[i,j]+I*IMNS[i,j]}],
408          Description-> "Neutrino PMNS mixing matrix"},
409 RCKM== { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->VCKM,
410          Description->"CKM mixing matrix (real part)"},
411 ICKM== { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->IMVCKM,
412          Description->"CKM mixing matrix (imaginary part)"},
413 CKM == { TeX->Superscript[V,ckm], ParameterType->Internal, ComplexParameter->True, Indices->{Index[GEN],Index[GEN]}, Unitary->True,
414          If[$CKMDiag, Definitions:>{CKM[i_,j_]:>0 /;(i!=j), CKM[i_,j_]:>1/;(i==j)}, Value->{CKM[i_,j_]:>RCKM[i,j]+I*ICKM[i,j]}],
415          Description-> "CKM mixing matrix"}
416};
417
418(* ************************** *)
419(* ****  Diracification  **** *)
420(* ************************** *)
421ToDirac[exp_]:= Module[{tmp=Expand[exp],cnt=0,prg1=0,prg2=0,prgo1=0,prgo2=0,tot},
422 Colourb=Colour;
423
424 tmp = If[Head[tmp]===Plus,List@@tmp,List[tmp]]/.Tb[a_,i_,j_]->-T[a,j,i];
425
426 tmp = OptimizeIndex[#] &/@ tmp;
427 tot=Length[tmp];
428 Print["Flavor expansion: ", ProgressIndicator[Dynamic[prg1]]];
429 tmp = Module[{}, cnt++; prg1=cnt/tot;
430    Expand[(ExpandIndices[#] /. {
431        Power[PauliSigma[a_,i_?(NumericQ[#] &),j_?(NumericQ[#] &)],2]->PauliSigma[1,i,j]^2 + PauliSigma[3,i,j]^2 + PauliSigma[2,i,j]^2,
432        PauliSigma[a_,i_?(NumericQ[#] &),j_?(NumericQ[#] &)] PauliSigma[a_,k_?(NumericQ[#] &),l_?(NumericQ[#] &)]->
433          PauliSigma[1,i,j] PauliSigma[1,k,l] + PauliSigma[2,i,j] PauliSigma[2,k,l] + PauliSigma[3,i,j] PauliSigma[3,k,l]})]] &/@ tmp;
434  tmp = Plus@@tmp;
435
436  cnt=0; tot=Length[tmp];
437  Print["Opt 1: ",ProgressIndicator[Dynamic[prgo1]]];
438  tmp = Module[{}, cnt++; prgo1=cnt/tot;OptimizeIndex[#]] &/@ (List@@tmp);
439  Print["Weyl2Dirac: ",ProgressIndicator[Dynamic[prg2]]];cnt=0;
440  tmp = Module[{}, cnt++; prg2=cnt/tot; WeylToDirac[#]] &/@ tmp;
441  Print["Opt2: ",ProgressIndicator[Dynamic[prgo2]]];cnt=0;
442  tmp = Module[{}, cnt++; prgo2=cnt/tot;OptimizeIndex[#]] &/@ tmp;
443  Clear[Colourb];
444  Print["starting expansion"];
445  tmp=Expand/@tmp;
446  Print["Expand done"];
447  Return[Plus@@tmp]
448];
449
450(* ************************** *)
451(* *****   Lagrangian   ***** *)
452(* ************************** *)
453(* LVector *)
454LVector := Module[{}, Plus@@(Module[{tmp}, tmp = SF2Components[#]; Expand[tmp[[2, 5]] + tmp[[2, 6]]]] &/@ (List @@ VSFKineticTerms[]))];
455
456(* LChiral *)
457LChiral :=  Plus@@( Theta2Thetabar2Component[#] &/@ (List @@ CSFKineticTerms[]) );
458
459(* Superpotential *)
460SPot:= Module[{ff1,ff2,ff3,cc1},
461    yu[ff1,ff2] UR[ff1,cc1] (QL[1,ff2,cc1] HU[2] - QL[2,ff2,cc1] HU[1]) -
462    yd[ff1,ff3] Conjugate[CKM[ff2,ff3]] DR[ff1,cc1] (QL[1,ff2,cc1] HD[2] - QL[2,ff2,cc1] HD[1]) -
463    ye[ff1,ff2] ER[ff1]     (LL[1,ff2]     HD[2] - LL[2,ff2]     HD[1]) +
464    MUH (HU[1] HD[2] - HU[2] HD[1])];
465LSuperW:= ( Plus@@ (Module[{tmp},tmp=SF2Components[#];tmp[[2,5]]+tmp[[2,6]]] &/@ (List @@ Expand[SPot+HC[SPot]])) )/.Conjugate[CKM[a_, b_]]*CKM[a_, c_]->IndexDelta[b, c];
466
467(* Soft SUSY-breaking Lagrangian *)
468LSoft := Module[{Mino, MSca, Tri, Bil},
469 (* Gaugino mass terms *)
470   Mino:=Module[{s,gl},   Mx1*bow[s].bow[s] +  Mx2*wow[s,gl].wow[s,gl] + Mx3*goww[s,gl].goww[s,gl]];
471 (* Scalar mass terms *)
472   MSca:=Module[{ii,ff1,ff2,ff3,ff4,cc1},
473     - mHu2*HC[hus[ii]]*hus[ii] - mHd2*HC[hds[ii]]*hds[ii] -
474       mL2[ff1,ff2]*HC[LLs[ii,ff1]]*LLs[ii,ff2] - mE2[ff1,ff2]*HC[ERs[ff1]]*ERs[ff2] -
475       CKM[ff1,ff2]*mQ2[ff2,ff3]*Conjugate[CKM[ff4,ff3]]*HC[QLs[ii,ff1,cc1]]*QLs[ii,ff4,cc1] -
476       mU2[ff1,ff2]*HC[URs[ff1,cc1]]*URs[ff2,cc1] -  mD2[ff1,ff2]*HC[DRs[ff1,cc1]]*DRs[ff2,cc1] ];
477 (* Trilinear couplings *)
478   Tri:=-tu[ff1,ff2]*URs[ff1,cc1] (QLs[1,ff2,cc1] hus[2] - QLs[2,ff2,cc1] hus[1]) +
479         Conjugate[CKM[ff3,ff2]]*td[ff1,ff2]*DRs[ff1,cc1] (QLs[1,ff3,cc1] hds[2] - QLs[2,ff3,cc1] hds[1]) +
480         te[ff1,ff2]*ERs[ff1] (LLs[1,ff2] hds[2] - LLs[2,ff2] hds[1]) ;
481 (* Bilinear couplings *)
482   Bil:=-bb*(hus[1] hds[2] - hus[2] hds[1]);
483 (* Everything together *)
484 (Mino+HC[Mino])/2 + MSca + Tri + HC[Tri] + Bil + HC[Bil]];
485
486(* Ghost Lagrangian and gauge fixing terms *)
487LFeynmanGFix := Module[{VectorizeU,VectorizeD, Phiu,Phid,Phiu0,Phid0, phid1,phid2,phiu1,phiu2, GF1,GF2,GF3,LGF, nrules, kk,ll, LGh1,LGh2,LGh3,LGhS,LGh, genu,gend, gh,ghbar},
488 (* Expression the doublets in the nu/nd basis *)
489 VectorizeU[{a_, b_}] := Simplify[{Sqrt[2] Re[Expand[a]], Sqrt[2] Im[Expand[a]], Sqrt[2] Re[Expand[b]], Sqrt[2] Im[Expand[b]]} /. {Im[_]->0, Re[num_]->num}];
490 VectorizeD[{a_, b_}] := Simplify[{Sqrt[2] Re[Expand[a]], Sqrt[2] Im[Expand[a]], Sqrt[2] Re[Expand[b]], Sqrt[2] Im[Expand[b]]} /. {Im[_]->0, Re[num_]->num}];
491
492 (* Higgs doublets *)
493 Phiu = Expand[ {(phiu1 + I phiu2)/Sqrt[2], (US[2,1]*h0+US[2,2]*H0 + I*UC[2,1]*A0+I*UC[2,2]*G0)/Sqrt[2]} ];
494 Phid = Expand[ {(US[1,2]*h0+US[1,2]*H0 + I*UC[1,1]*A0-I*UC[2,2]*G0)/Sqrt[2], (phid1 + I phid2)/Sqrt[2]} ];
495 (* vevs *)
496 Phiu0 = {0, vu/Sqrt[2]};
497 Phid0 = {vd/Sqrt[2], 0};
498 (* Back to the physical Higgses and Goldstones *)
499 nrules := {
500    phid1 -> (UC[1,2]*GPbar - UC[1,2]*GP + UC[1,1]*Hbar + UC[1,1]*H)/Sqrt[2],
501    phid2 -> (UC[1,2]*GPbar + UC[1,2]*GP + UC[1,1]*Hbar - UC[1,1]*H)/(I Sqrt[2]),
502    phiu1 -> (UC[2,2]*GP + UC[2,2]*GPbar + UC[2,1]*H + UC[2,2]*Hbar)/Sqrt[2],
503    phiu2 -> (UC[2,2]*GP - UC[2,2]*GPbar + UC[2,1]*H - UC[2,2]*Hbar)/(I Sqrt[2])};
504
505 (* Gauge-fixing functions *)
506 GF1     := Module[{mu}, del[B[mu]   , mu] - gp VectorizeU[-I/2 Phiu0].VectorizeU[Phiu] - gp VectorizeD[I/2 Phid0].VectorizeD[Phid] ];
507 GF2[k_] := Module[{mu}, del[Wi[mu,k], mu] - gw VectorizeU[-I/2 PauliSigma[k].Phiu0].VectorizeU[Phiu] - gw VectorizeD[-I/2 PauliSigma[k].Phid0].VectorizeD[Phid] ];
508 GF3[a_] := Module[{mu}, del[G[mu,a] , mu] ];
509 (* Gauge-fixing Lagrangian *)
510 LGF = Expand[-1/2*(GF1 HC[GF1] + Sum[GF2[kk] HC[GF2[kk]], {kk, 1, 3}]) /.nrules /. {HC[a_]->a, h0->0, H0->0, A0->0, H->0, Hbar->0}];
511 LGF = Expand[LGF/.(MR$Definitions /. Index[_, a_] -> a)];
512
513 (* Ghost Lagrangians *)
514 LGh1 = -ghBbar.del[DC[ghB,mu],mu];
515 LGh2 = -ghWibar[kk].del[DC[ghWi[kk], mu], mu];
516 LGh3 = -ghGbar[kk].del[DC[ghG[kk],mu],mu];
517 genu := {-I/2 gp IdentityMatrix[2], -I/2 gw PauliSigma[1], -I/2 gw PauliSigma[2], -I/2 gw PauliSigma[3]};
518 gend := { I/2 gp IdentityMatrix[2], -I/2 gw PauliSigma[1], -I/2 gw PauliSigma[2], -I/2 gw PauliSigma[3]};
519 gh    = {ghB,    ghWi[1],    ghWi[2],    ghWi[3]};
520 ghbar = {ghBbar, ghWibar[1], ghWibar[2], ghWibar[3]};
521 LGhS = Sum[
522   -ghbar[[kk]].gh[[ll]] (VectorizeU[genu[[kk]].Phiu0].VectorizeU[genu[[ll]].(Phiu+Phiu0)] + VectorizeD[gend[[kk]].Phid0].VectorizeD[gend[[ll]].(Phid+Phid0)]),
523   {kk,1,4},{ll,1,4}];
524 LGh =(LGh1+LGh2+LGh3+LGhS)/.(MR$Definitions /. Index[_, a_] -> a);
525 LGh = LGh/.nrules;
526Expand[LGF+LGh]];
527
528(* Collecting all the pieces together *)
529Lag1 := SolveEqMotionF[SolveEqMotionD[LVector+LChiral+LSuperW+LSoft]] ;
530Lag := ToDirac[SolveEqMotionF[SolveEqMotionD[LVector+LChiral+LSuperW+LSoft]]] + LFeynmanGFix ;