MSSM: mssm.fr

File mssm.fr, 45.5 KB (added by BenjF, 5 years ago)

MSSM model file v 1.3.13

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