MSSMD: MSSMD.fr

File MSSMD.fr, 46.0 KB (added by WeiShi, 3 months ago)

FeynRule? file of the model

Line 
1(* ********************************************************* *)
2(* *****                                               ***** *)
3(* *****  FeynRules model file: MSSM + broken U1D      ***** *)
4(* *****  Author: W. Shi                               ***** *)
5(* *****                                               ***** *)
6(* ********************************************************* *)
7
8(* ************************** *)
9(* *****  Information   ***** *)
10(* ************************** *)
11M$ModelName = "MSSMD";
12M$Information = { Authors->{"Wei Shi"}, Emails->{"weishi@rice.edu"}, Institutions->{"Rice University"},
13                  Date->"03.21.2018", Version->"1",
14                  References->{"C. Duhr, B. Fuks, CPC 182 (2011) 2404-2462, arXiv:1102.4191 [hep-ph]"} };
15                 
16(* v1: Initial commit for implementating Dark SUSY benchmark model used in CMS-PAS-HIG-16-035 *)
17
18(* ************************** *)
19(* *****      Flags     ***** *)
20(* ************************** *)
21$CKMDiag = False;   (* CKM  = identity or not *)
22$MNSDiag = True;   (* PMNS = identity or not *)
23FeynmanGauge = True;
24
25(* ************************** *)
26(* *****  Gauge groups  ***** *)
27(* ************************** *)
28M$GaugeGroups = {
29  U1Y  == { Abelian->True,  CouplingConstant->gp, Superfield->BSF, Charge->Y, GUTNormalization->3/5},
30  (* Add U(1)D for new gauge boson *)
31  U1D  == { Abelian->True,  CouplingConstant->gd, Superfield->XSF, Charge->X},
32  SU2L == { Abelian->False, CouplingConstant->gw, Superfield->WSF,
33            StructureConstant->ep, Representations->{Ta,SU2D}, Definitions->{Ta[a__]->PauliSigma[a]/2, ep->Eps}},
34  SU3C == { Abelian->False, CouplingConstant->gs, Superfield->GSF,
35            StructureConstant->f,  Representations->{{T,Colour}, {Tb,Colourb}}, DTerm->dSUN}
36};
37
38(* ************************** *)
39(* *** Interaction orders *** *)
40(* ************************** *)
41(* Add New Physics order limit, 4 NP vertexes *)
42M$InteractionOrderLimit = { {NP, 4} };
43M$InteractionOrderHierarchy = { {QCD, 1}, {NP, 2}, {QED, 2} };
44
45(* ************************** *)
46(* *****    Indices     ***** *)
47(* ************************** *)
48IndexRange[Index[SU2W]] =   Unfold[Range[3]]; IndexStyle[SU2W,j];  IndexRange[Index[SU2D]] =   Unfold[Range[2]]; IndexStyle[SU2D,k];
49IndexRange[Index[Gluon ]] = NoUnfold[Range[8]]; IndexStyle[Gluon, a];  IndexRange[Index[Colour]] = NoUnfold[Range[3]]; IndexStyle[Colour, m];
50IndexRange[Index[Colourb]] = NoUnfold[Range[3]]; IndexStyle[Colourb,m];
51IndexRange[Index[NEU ]] = Range[4];           IndexStyle[NEU, i];
52IndexRange[Index[CHA ]] = Range[2];           IndexStyle[CHA, i];
53IndexRange[Index[GEN ]] = Range[3];           IndexStyle[GEN, f];
54IndexRange[Index[SCA ]] = Range[6];           IndexStyle[SCA, i];
55
56(* ************************** *)
57(* *****  Superfields   ***** *)
58(* ************************** *)
59M$Superfields = {
60  VSF[1] == { ClassName->BSF, GaugeBoson->B,  Gaugino->bow},
61  VSF[2] == { ClassName->WSF, GaugeBoson->Wi, Gaugino->wow, Indices->{Index[SU2W]}},
62  VSF[3] == { ClassName->GSF, GaugeBoson->G,  Gaugino->gow, Indices->{Index[Gluon]}},
63  VSF[4] == { ClassName->XSF, GaugeBoson->AD, Gaugino->dow},
64  CSF[1] == { ClassName->HU, Chirality->Left, Weyl->huw, Scalar->hus, QuantumNumbers->{Y-> 1/2}, Indices->{Index[SU2D]}},
65  CSF[2] == { ClassName->HD, Chirality->Left, Weyl->hdw, Scalar->hds, QuantumNumbers->{Y->-1/2}, Indices->{Index[SU2D]}},
66  CSF[3] == { ClassName->LL, Chirality->Left, Weyl->LLw, Scalar->LLs, QuantumNumbers->{Y->-1/2}, Indices->{Index[SU2D], Index[GEN]}},
67  CSF[4] == { ClassName->ER, Chirality->Left, Weyl->ERw, Scalar->ERs, QuantumNumbers->{Y-> 1},   Indices->{Index[GEN]}},
68  CSF[5] == { ClassName->VR, Chirality->Left, Weyl->VRw, Scalar->VRs, Indices->{Index[GEN]}},
69  CSF[6] == { ClassName->QL, Chirality->Left, Weyl->QLw, Scalar->QLs, QuantumNumbers->{Y-> 1/6}, Indices->{Index[SU2D], Index[GEN], Index[Colour]}},
70  CSF[7] == { ClassName->UR, Chirality->Left, Weyl->URw, Scalar->URs, QuantumNumbers->{Y->-2/3}, Indices->{Index[GEN], Index[Colourb]}},
71  CSF[8] == { ClassName->DR, Chirality->Left, Weyl->DRw, Scalar->DRs, QuantumNumbers->{Y-> 1/3}, Indices->{Index[GEN], Index[Colourb]}}
72};
73
74(* ************************** *)
75(* *****     Fields     ***** *)
76(* ************************** *)
77M$ClassesDescription = {
78(* Gauge bosons: unphysical vector fields *)
79  V[11] == { ClassName->B, Unphysical->True, SelfConjugate->True,
80            Definitions->{B[mu_]->-sw Z[mu]+cw A[mu]} },
81  V[12] == { ClassName->Wi, Unphysical->True, SelfConjugate->True, Indices->{Index[SU2W]}, FlavorIndex->SU2W,
82             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]} },
83
84(* Gauge bosons: physical vector fields *)
85  V[1] == { ClassName->A, SelfConjugate->True,  Mass->0,  Width->0,  ParticleName->"a",
86            PDG->22, PropagatorLabel->"A", PropagatorType->Sine, PropagatorArrow->None},
87  V[2] == { ClassName->Z, SelfConjugate->True,  Mass->MZ, Width->WZ, ParticleName->"Z",
88            PDG->23, PropagatorLabel->"Z", PropagatorType->Sine, PropagatorArrow->None},
89  V[3] == { ClassName->W, SelfConjugate->False, Mass->MW, Width->WW, ParticleName->"W+", AntiParticleName->"W-", QuantumNumbers->{Q->1},
90            PDG->24, PropagatorLabel->"W", PropagatorType->Sine, PropagatorArrow->Forward},
91  V[4] == { ClassName->G, SelfConjugate->True, Indices->{Index[Gluon]}, Mass->0, Width->0, ParticleName->"g",
92            PDG->21, PropagatorLabel->"G", PropagatorType->C,    PropagatorArrow->None },
93(* Add physics field for dark photon *)           
94  V[5] == { ClassName->AD, SelfConjugate->True,  Mass->MAD,  Width->WAD,  ParticleName->"ad",
95            PDG->3000022, PropagatorLabel->"AD", PropagatorType->Sine, PropagatorArrow->None},
96
97(* Gauginos: unphysical Weyls *)
98  W[20] == { ClassName->bow, Unphysical->True, Chirality->Left, SelfConjugate->False,
99             Definitions->{bow[s_]:>Module[{i}, -I*Conjugate[NN[i,1]]*neuw[s,i]]}},
100  W[21] == { ClassName->wow, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[SU2W]}, FlavorIndex->SU2W,
101             Definitions->{
102               wow[s_,1]:>Module[{i},(Conjugate[UU[i,1]]*chmw[s,i]+Conjugate[VV[i,1]]*chpw[s,i])/(I*Sqrt[2])],
103               wow[s_,2]:>Module[{i},(Conjugate[UU[i,1]]*chmw[s,i]-Conjugate[VV[i,1]]*chpw[s,i])/(-Sqrt[2])],
104               wow[s_,3]:>Module[{i},-I*Conjugate[NN[i,2]]*neuw[s,i]]} },
105  W[22] == { ClassName->gow,  Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[Gluon]},  Definitions->{gow[inds__]->-I*goww[inds]} },
106(* Add Gaugino for U1D gauge boson *) 
107  W[27] == { ClassName->dow, Unphysical->True, Chirality->Left, SelfConjugate->False, Definitions->{dow[_] -> 0} },
108
109(* Higgsinos: unphysical Weyls *)
110  W[23] == { ClassName->huw,  Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[SU2D]}, FlavorIndex->SU2D, QuantumNumbers->{Y-> 1/2},
111             Definitions->{
112               huw[s_,1]:> Module[{i}, Conjugate[VV[i,2]]*chpw[s,i]],
113               huw[s_,2]:> Module[{i}, Conjugate[NN[i,4]]*neuw[s,i]] } },
114  W[24] == { ClassName->hdw,  Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[SU2D]}, FlavorIndex->SU2D, QuantumNumbers->{Y->-1/2},
115             Definitions->{
116               hdw[s_,1]:> Module[{i}, Conjugate[NN[i,3]]*neuw[s,i]],
117               hdw[s_,2]:> Module[{i}, Conjugate[UU[i,2]]*chmw[s,i]]} },
118
119(* Gauginos/Higgsinos: physical Weyls *)
120  W[1] == { ClassName->neuw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[NEU]}, FlavorIndex->NEU },
121  W[2] == { ClassName->chpw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[CHA]}, FlavorIndex->CHA, QuantumNumbers->{Q-> 1} } ,
122  W[3] == { ClassName->chmw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[CHA]}, FlavorIndex->CHA, QuantumNumbers->{Q->-1} } ,
123  W[4] == { ClassName->goww, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[Gluon]} },
124
125(* Gauginos/Higgsinos: physical Diracs *)
126  F[1] == { ClassName->neu, SelfConjugate->True,  Indices->{Index[NEU]}, FlavorIndex->NEU, WeylComponents->neuw,           
127            ParticleName->{"n1","n2","n3","n4"}, ClassMembers->{neu1,neu2,neu3,neu4},
128            Mass->{Mneu,Mneu1,Mneu2,Mneu3,Mneu4}, Width->{Wneu,Wneu1,Wneu2,Wneu3,Wneu4},
129            PDG->{1000022,1000023,1000025,1000035}, PropagatorLabel->{"neu","neu1","neu2","neu3","neu4"}, PropagatorType->Straight, PropagatorArrow->None },
130  F[2] == { ClassName->ch,  SelfConjugate->False, Indices->{Index[CHA]}, FlavorIndex->CHA, WeylComponents->{chpw,chmwbar},
131            ParticleName->{"x1+","x2+"}, AntiParticleName->{"x1-","x2-"}, QuantumNumbers->{Q ->1},
132            ClassMembers->{ch1,ch2}, Mass->{Mch,Mch1,Mch2}, Width->{Wch,Wch1,Wch2},
133            PDG->{1000024,1000037}, PropagatorLabel->{"ch","ch1","ch2"}, PropagatorType->Straight, PropagatorArrow->Forward },
134  F[3] == { ClassName->go,  SelfConjugate->True, Indices->{Index[Gluon]}, WeylComponents->goww, Mass->Mgo, Width->Wgo, ParticleName->"go",
135            PDG->1000021, PropagatorLabel->"go", PropagatorType->Straight, PropagatorArrow->None },         
136(* Add physics field for dark neutralino decaying from n1 *)
137  F[8] == { ClassName->neuD, SelfConjugate->True, ParticleName->"nD", Mass->MneuD, Width->WneuD,
138            PDG->3000001, PropagatorLabel->"neuD", PropagatorType->Straight, PropagatorArrow->None },
139
140(* Higgs: unphysical scalars  *)
141 S[21] == { ClassName->hus,  Unphysical->True, SelfConjugate->False, Indices->{Index[SU2D]}, FlavorIndex->SU2D, QuantumNumbers->{Y-> 1/2},
142            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] } },
143 S[22] == { ClassName->hds,  Unphysical->True, SelfConjugate->False, Indices->{Index[SU2D]}, FlavorIndex->SU2D, QuantumNumbers->{Y->-1/2},
144            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} },
145
146(* Higgs: physical fields and Goldstones *)
147  S[1] == { ClassName->h0, SelfConjugate->True, Mass->MH01, Width->WH01, ParticleName->"h",
148            PDG->25, PropagatorLabel->"h0", PropagatorType->ScalarDash,  PropagatorArrow->None},
149  S[2] == { ClassName->H0, SelfConjugate->True, Mass->MH02, Width->WH02, ParticleName->"h02",
150            PDG->35, PropagatorLabel->"H0", PropagatorType->ScalarDash,  PropagatorArrow->None},
151  S[3] == { ClassName->A0, SelfConjugate->True, Mass->MA0 , Width->WA0,  ParticleName->"A0" ,
152            PDG->36, PropagatorLabel->"A0", PropagatorType->ScalarDash,  PropagatorArrow->None},
153  S[4] == { ClassName->H,  SelfConjugate->False, QuantumNumbers->{Q-> 1}, Mass->MH, Width->WH,
154            ParticleName->"H+", AntiParticleName->"H-",
155            PDG->37,  PropagatorLabel->"H", PropagatorType->ScalarDash,  PropagatorArrow->Forward},
156  S[5] == { ClassName->G0, SelfConjugate->True, Mass->MZ, Width->WG0, Goldstone->Z,
157            ParticleName->"G0",
158            PDG->250, PropagatorLabel->"G0", PropagatorType->D, PropagatorArrow->None},
159  S[6] == { ClassName->GP, SelfConjugate->False, QuantumNumbers->{Q-> 1}, Mass->MW, Width->WGP, Goldstone->W,
160            ParticleName->"G+", AntiParticleName->"G-",
161            PDG->251, PropagatorLabel->"GP", PropagatorType->D, PropagatorArrow->None },
162
163(* Fermions: unphysical Weyls *)
164 W[25] == { ClassName->LLw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[SU2D],Index[GEN]},              FlavorIndex->SU2D,
165            QuantumNumbers->{Y->-1/2},
166            Definitions->{LLw[s_,1,ff_]:>Module[{ff2}, PMNS[ff,ff2]*vLw[s,ff2]], LLw[s_,2,ff_]->eLw[s,ff]}},
167 W[26] == { ClassName->QLw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[SU2D],Index[GEN],Index[Colour]},FlavorIndex->SU2D,
168            QuantumNumbers->{Y->1/6},
169            Definitions->{QLw[s_,1,ff_,cc_]->uLw[s,ff,cc], QLw[s_,2,ff_,cc_]:>Module[{ff2}, CKM[ff,ff2] dLw[s,ff2,cc]]}},
170
171(* Fermions: physical Weyls *)
172  W[5] == { ClassName->vLw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN },
173  W[6] == { ClassName->eLw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN },
174  W[7] == { ClassName->VRw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN },
175  W[8] == { ClassName->ERw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN, QuantumNumbers->{Y-> 1} },
176  W[9] == { ClassName->uLw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN],Index[Colour]},  FlavorIndex->GEN },
177  W[10]== { ClassName->dLw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN],Index[Colour]},  FlavorIndex->GEN },
178  W[11]== { ClassName->URw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN],Index[Colourb]}, FlavorIndex->GEN, QuantumNumbers->{Y->-2/3} },
179  W[12]== { ClassName->DRw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN],Index[Colourb]}, FlavorIndex->GEN, QuantumNumbers->{Y-> 1/3} },
180
181(* Fermions: physical Dirac *)
182  F[4] == { ClassName->vl, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN, WeylComponents->{vLw,VRwbar},
183            ParticleName->{"ve","vm","vt"}, AntiParticleName->{"ve~","vm~","vt~"},
184            ClassMembers->{ve,vm,vt}, Mass->{Mvl,Mve,Mvm,Mvt}, Width->0,
185            PDG->{12,14,16}, PropagatorLabel->{"v","ve","vm","vt"}, PropagatorType->Straight, PropagatorArrow->Forward},
186  F[5] == { ClassName->l, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN, WeylComponents->{eLw,ERwbar}, QuantumNumbers->{Q->-1,X->0},
187            ParticleName->{"e-","mu-","tau-"}, AntiParticleName->{"e+","mu+","tau+"},
188            ClassMembers->{e,m,ta}, Mass->{Ml,Me,Mm,Mta}, Width->0,
189            PDG->{11,13,15}, PropagatorLabel->{"l","e","mu","tau"}, PropagatorType->Straight, PropagatorArrow->Forward},
190  F[6] == { ClassName->uq, SelfConjugate->False, Indices->{Index[GEN],Index[Colour]}, FlavorIndex->GEN, WeylComponents->{uLw,URwbar}, QuantumNumbers->{Q-> 2/3},
191            ParticleName->{"u","c","t"}, AntiParticleName->{"u~","c~","t~"},
192            ClassMembers->{u,c,t}, Mass->{Muq,MU,MC,MT}, Width->{Wuq,0,0,WT},
193            PDG->{2,4,6}, PropagatorLabel->{"uq","u","c","t"}, PropagatorType->Straight, PropagatorArrow->Forward},
194  F[7] == { ClassName->dq, SelfConjugate->False, Indices->{Index[GEN],Index[Colour]}, FlavorIndex->GEN, WeylComponents->{dLw,DRwbar}, QuantumNumbers->{Q->-1/3},
195            ParticleName->{"d","s","b"}, AntiParticleName->{"d~","s~","b~"},
196            ClassMembers->{d,s,b}, Mass->{Mdq,MD,MS,MB}, Width->0,
197            PDG->{1,3,5}, PropagatorLabel->{"dq","d","s","b"}, PropagatorType->Straight, PropagatorArrow->Forward},
198
199(* Sfermion: unphysical scalars *)
200 S[23] == { ClassName->LLs,  Unphysical->True, SelfConjugate->False, Indices->{Index[SU2D], Index[GEN]}, FlavorIndex->SU2D, QuantumNumbers->{Y->-1/2},
201            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]] } },
202 S[24] == { ClassName->ERs, Unphysical->True, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN, QuantumNumbers->{Y-> 1},
203            Definitions->{ ERs[ff_] :> Module[{ff2}, slbar[ff2]*RlR[ff2,ff]]} },
204 S[25] == { ClassName->VRs, Unphysical->True, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN,
205            Definitions->{ VRs[_] -> 0 } },
206 S[26] == { ClassName->QLs,  Unphysical->True, SelfConjugate->False, Indices->{Index[SU2D], Index[GEN],Index[Colour]}, FlavorIndex->SU2D, QuantumNumbers->{Y->1/6},
207            Definitions->{
208              QLs[1,ff_,cc_]:>Module[{ff2},Conjugate[RuL[ff2,ff]]*su[ff2,cc]],
209              QLs[2,ff_,cc_]:>Module[{ff2,ff3},Conjugate[RdL[ff2,ff3]]*CKM[ff,ff3]*sd[ff2,cc]]}},
210 S[27] == { ClassName->URs, Unphysical->True, SelfConjugate->False, Indices->{Index[GEN],Index[Colourb]}, FlavorIndex->GEN, QuantumNumbers->{Y->-2/3},
211            Definitions->{ URs[ff_,cc_]:>Module[{ff2}, subar[ff2,cc]*RuR[ff2,ff]]} },
212 S[28] == { ClassName->DRs, Unphysical->True, SelfConjugate->False, Indices->{Index[GEN],Index[Colourb]}, FlavorIndex->GEN, QuantumNumbers->{Y-> 1/3},
213            Definitions->{ DRs[ff_,cc_]:>Module[{ff2}, sdbar[ff2,cc]*RdR[ff2,ff]]} },
214
215(* Sfermion: physical scalars *)
216 S[7] == {  ClassName->sn, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN,
217            ParticleName->{"sv1","sv2","sv3"}, AntiParticleName->{"sv1~","sv2~","sv3~"},
218            ClassMembers-> {sn1, sn2, sn3}, Mass->{Msn,Msn1,Msn2,Msn3}, Width->{Wsn,Wsn1,Wsn2,Wsn3},
219            PDG->{1000012,1000014,1000016}, PropagatorLabel->{"sn","sn1","sn2","sn3"}, PropagatorType->ScalarDash, PropagatorArrow->Forward },
220 S[8] == {  ClassName->sl, SelfConjugate->False, Indices->{Index[SCA]}, FlavorIndex->SCA, QuantumNumbers->{Q->-1},
221            ParticleName->{"sl1-","sl2-","sl3-","sl4-","sl5-","sl6-"}, AntiParticleName->{"sl1+","sl2+","sl3+","sl4+","sl5+","sl6+"},
222            ClassMembers->{sl1,sl2,sl3,sl4,sl5,sl6}, Mass->{Msl,Msl1,Msl2,Msl3,Msl4,Msl5,Msl6}, Width->{Wsl,Wsl1,Wsl2,Wsl3,Wsl4,Wsl5,Wsl6},
223            PDG->{1000011,1000013,1000015,2000011,2000013,2000015}, PropagatorLabel->{"sl","sl1","sl2","sl3","sl4","sl5","sl6"},
224            PropagatorType->ScalarDash, PropagatorArrow->Forward},
225 S[9] == {  ClassName->su, SelfConjugate->False, Indices->{Index[SCA],Index[Colour]}, FlavorIndex->SCA, QuantumNumbers->{Q-> 2/3},
226            ParticleName->{"su1","su2","su3","su4","su5","su6"}, AntiParticleName->{"su1~","su2~","su3~","su4~","su5~","su6~"},
227            ClassMembers->{su1,su2,su3,su4,su5,su6}, Mass->{Msu,Msu1,Msu2,Msu3,Msu4,Msu5,Msu6}, Width->{Wsu,Wsu1,Wsu2,Wsu3,Wsu4,Wsu5,Wsu6},
228            PDG->{1000002,1000004,1000006,2000002,2000004,2000006}, PropagatorLabel->{"su","su1","su2","su3","su4","su5","su6"},
229            PropagatorType->ScalarDash, PropagatorArrow->Forward},
230 S[10]== {  ClassName->sd, SelfConjugate->False, Indices->{Index[SCA],Index[Colour]}, FlavorIndex->SCA, QuantumNumbers->{Q->-1/3},
231            ParticleName->{"sd1","sd2","sd3","sd4","sd5","sd6"}, AntiParticleName->{"sd1~","sd2~","sd3~","sd4~","sd5~","sd6~"},
232            ClassMembers->{sd1,sd2,sd3,sd4,sd5,sd6}, Mass->{Msd,Msd1,Msd2,Msd3,Msd4,Msd5,Msd6}, Width->{Wsd,Wsd1,Wsd2,Wsd3,Wsd4,Wsd5,Wsd6},
233            PDG->{1000001,1000003,1000005,2000001,2000003,2000005}, PropagatorLabel->{"sd","sd1","sd2","sd3","sd4","sd5","sd6"},
234            PropagatorType->ScalarDash, PropagatorArrow->Forward},
235
236(* Ghost: related to unphysical gauge bosons *)
237  U[11] == { ClassName->ghWi, Unphysical->True, SelfConjugate->False, Ghost->Wi, Indices->{Index[SU2W]}, FlavorIndex->SU2W,
238             Definitions->{ghWi[1]->(ghWp+ghWm)/Sqrt[2], ghWi[2]->(ghWm-ghWp)/(I*Sqrt[2]), ghWi[3]->cw ghZ+sw ghA} } ,
239  U[12] == { ClassName->ghB, Unphysical->True, SelfConjugate->False, Ghost->B,
240             Definitions->{ghB->-sw ghZ+cw ghA} },
241
242(* Ghost: related to physical gauge bosons *)
243  U[1] == { ClassName->ghG, SelfConjugate->False, Indices->{Index[Gluon]}, Ghost->G, QuantumNumbers->{GhostNumber->1},
244            Mass->0, Width->0, ParticleName->"ghG", PropagatorLabel->"uG", PropagatorType->GhostDash, PropagatorArrow->Forward},
245  U[2] == { ClassName->ghA, SelfConjugate->False, Ghost->A, QuantumNumbers->{GhostNumber->1},
246            Mass->0, Width->0, ParticleName->"ghA", PropagatorLabel->"uA", PropagatorType->GhostDash, PropagatorArrow->Forward},
247  U[3] == { ClassName->ghZ, SelfConjugate->False, Ghost->Z, QuantumNumbers->{GhostNumber->1},
248            Mass->{MZ,Internal}, Width->WZ, ParticleName->"ghZ", PropagatorLabel->"uZ", PropagatorType->GhostDash, PropagatorArrow->Forward},
249  U[4] == { ClassName->ghWp, SelfConjugate->False, Ghost->W, QuantumNumbers->{GhostNumber->1, Q->1},
250            Mass->{MW,Internal}, Width->WW, ParticleName->"ghWp", PropagatorLabel->"uWp", PropagatorType->GhostDash, PropagatorArrow->Forward},
251  U[5] == { ClassName->ghWm, SelfConjugate->False, Ghost->Wbar, QuantumNumbers->{GhostNumber->1, Q->-1},
252            Mass->{MW,Internal}, Width->WW, ParticleName->"ghWm", PropagatorLabel->"uWm", PropagatorType->GhostDash, PropagatorArrow->Forward}
253};
254
255
256(* ************************** *)
257(* *****   Parameters   ***** *)
258(* ************************** *)
259M$Parameters = {
260(* Mixing: external parameters *)
261  RMNS== { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->UPMNS,
262           Description->"Neutrino PMNS mixing matrix (real part)"},
263  IMNS== { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->IMUPMNS,
264           Description->"Neutrino PMNS mixing matrix (imaginary part)"},
265  RCKM== { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->VCKM,
266           Description->"CKM mixing matrix (real part)"},
267  ICKM== { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->IMVCKM,
268           Description->"CKM mixing matrix (imaginary part)"},
269  RNN == { ParameterType->External, ComplexParameter->False, Indices->{Index[NEU],Index[NEU]}, BlockName->NMIX,
270           Description->"Neutralino mixing matrix (real part)"},
271  INN == { ParameterType->External, ComplexParameter->False, Indices->{Index[NEU],Index[NEU]}, BlockName->IMNMIX,
272           Description->"Neutralino mixing matrix (imaginary part)"},
273  RUU == { ParameterType->External, ComplexParameter->False, Indices->{Index[CHA],Index[CHA]}, BlockName->UMIX,
274           Description->"Chargino mixing matrix U (real part)"},
275  IUU == { ParameterType->External, ComplexParameter->False, Indices->{Index[CHA],Index[CHA]}, BlockName->IMUMIX,
276           Description->"Chargino mixing matrix U (imaginary part)"},
277  RVV == { ParameterType->External, ComplexParameter->False, Indices->{Index[CHA],Index[CHA]}, BlockName->VMIX,
278           Description->"Chargino mixing matrix V (real part)"},
279  IVV == { ParameterType->External, ComplexParameter->False, Indices->{Index[CHA],Index[CHA]}, BlockName->IMVMIX,
280           Description->"Chargino mixing matrix V (imaginary part)"},
281  RRn == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->SNUMIX,
282           Description->"Sneutrino mixing matrix (real part)"},
283  IRn == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->IMSNUMIX,
284           Description->"Sneutrino mixing matrix (imaginary part)"},
285  RRl == { ParameterType->External, ComplexParameter->False, Indices->{Index[SCA],Index[SCA]}, BlockName->SELMIX,
286           Description->"Slepton mixing matrix (real part)"},
287  IRl == { ParameterType->External, ComplexParameter->False, Indices->{Index[SCA],Index[SCA]}, BlockName->IMSELMIX,
288           Description->"Slepton mixing matrix (imaginary part)"},
289  RRu == { ParameterType->External, ComplexParameter->False, Indices->{Index[SCA],Index[SCA]}, BlockName->USQMIX,
290           Description->"Up squark mixing matrix (real part)"},
291  IRu == { ParameterType->External, ComplexParameter->False, Indices->{Index[SCA],Index[SCA]}, BlockName->IMUSQMIX,
292           Description->"Up squark mixing matrix (imaginary part)"},
293  RRd == { ParameterType->External, ComplexParameter->False, Indices->{Index[SCA],Index[SCA]}, BlockName->DSQMIX,
294           Description->"Down squark mixing matrix (real part)"},
295  IRd == { ParameterType->External, ComplexParameter->False, Indices->{Index[SCA],Index[SCA]}, BlockName->IMDSQMIX,
296           Description->"Down squark mixing matrix (imaginary part)"},
297  alp == { TeX->\[Alpha], ParameterType->External, ComplexParameter->False, BlockName->FRALPHA, Description-> "Neutral Higgses mixing angle"},
298
299(* Mixing: internal parameters *)
300  cw  == { TeX->Subscript[c,w],        ParameterType->Internal, ComplexParameter->False, Value->MW/MZ,        Description->"Cosine of the weak angle"}, 
301  sw  == { TeX->Subscript[s,w],        ParameterType->Internal, ComplexParameter->False, Value->Sqrt[1-cw^2], Description->"Sine of the weak angle"},
302  PMNS== { TeX->Superscript[U,pmns], ParameterType->Internal, ComplexParameter->True, Indices->{Index[GEN],Index[GEN]}, Unitary->True,
303           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]}],
304           Description-> "Neutrino PMNS mixing matrix"},
305  CKM == { TeX->Superscript[V,ckm], ParameterType->Internal, ComplexParameter->True, Indices->{Index[GEN],Index[GEN]}, Unitary->True,
306           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]}],
307           Description-> "CKM mixing matrix"},
308  NN  == { TeX->N, ParameterType->Internal, ComplexParameter->True, Indices->{Index[NEU],Index[NEU]}, Unitary->True,
309           Value->{NN[i_,j_]:>RNN[i,j]+I*INN[i,j]}, Description-> "Neutralino mixing matrix"},
310  UU  == { TeX->U, ParameterType->Internal, ComplexParameter->True, Indices->{Index[CHA],Index[CHA]}, Unitary->True,
311           Value->{UU[i_,j_]:>RUU[i,j]+I*IUU[i,j]}, Description-> "Chargino mixing matrix U"},
312  VV  == { TeX->V, ParameterType->Internal, ComplexParameter->True, Indices->{Index[CHA],Index[CHA]}, Unitary->True,
313           Value->{VV[i_,j_]:>RVV[i,j]+I*IVV[i,j]}, Description-> "Chargino mixing matrix V"},
314  Rl  == { TeX->Superscript[R,l], ParameterType->Internal, ComplexParameter->True, Indices->{Index[SCA],Index[SCA]}, Unitary->True,
315           Value->{Rl[i_,j_]:>RRl[i,j]+I*IRl[i,j]}, Description-> "Slepton mixing matrix"},
316  Rn  == { TeX->Superscript[R,n], ParameterType->Internal, ComplexParameter->True, Indices->{Index[GEN],Index[GEN]}, Unitary->True,
317           Value->{Rn[i_,j_]:>RRn[i,j]+I*IRn[i,j]}, Description-> "Sneutrino mixing matrix"},
318  Ru  == { TeX->Superscript[R,u], ParameterType->Internal, ComplexParameter->True, Indices->{Index[SCA],Index[SCA]}, Unitary->True,
319           Value->{Ru[i_,j_]:>RRu[i,j]+I*IRu[i,j]}, Description-> "Up squark mixing matrix"},
320  Rd  == { TeX->Superscript[R,d], ParameterType->Internal, ComplexParameter->True, Indices->{Index[SCA],Index[SCA]}, Unitary->True,
321           Value->{Rd[i_,j_]:>RRd[i,j]+I*IRd[i,j]}, Description-> "Down squark mixing matrix"},
322
323(* Left and right parts of the sfermion mixing matrices *)
324  RlL == { TeX->Superscript[RL,l], ParameterType-> Internal, ComplexParameter->True, Indices->{Index[SCA],Index[GEN]}, Unitary->False,
325            Definitions->{RlL[i_,j_]:>Rl[i,j]/;NumericQ[j]},  Description-> "Slepton mixing matrix - first three columns"},
326  RlR == { TeX->Superscript[RR,l], ParameterType-> Internal, ComplexParameter->True, Indices->{Index[SCA],Index[GEN]}, Unitary->False,
327            Definitions->{RlR[i_,j_]:>Rl[i,j+3]/;NumericQ[j]},Description-> "Slepton mixing matrix - last three columns"},
328  RuL == { TeX->Superscript[RL,u], ParameterType-> Internal, ComplexParameter->True, Indices->{Index[SCA],Index[GEN]}, Unitary->False,
329            Definitions->{RuL[i_,j_]:>Ru[i,j]/;NumericQ[j]},  Description-> "Up squark mixing matrix - first three columns"},
330  RuR == { TeX->Superscript[RR,u], ParameterType-> Internal, ComplexParameter->True, Indices->{Index[SCA],Index[GEN]}, Unitary->False,
331            Definitions->{RuR[i_,j_]:>Ru[i,j+3]/;NumericQ[j]},Description-> "Up squark mixing matrix - last three columns"},
332  RdL == { TeX->Superscript[RL,d], ParameterType-> Internal, ComplexParameter->True, Indices->{Index[SCA],Index[GEN]}, Unitary->False,
333            Definitions->{RdL[i_,j_]:>Rd[i,j]/;NumericQ[j]},  Description-> "Down squark mixing matrix - first three columns"},
334  RdR == { TeX->Superscript[RR,d], ParameterType-> Internal, ComplexParameter->True, Indices->{Index[SCA],Index[GEN]}, Unitary->False,
335            Definitions->{RdR[i_,j_]:>Rd[i,j+3]/;NumericQ[j]},Description-> "Down squark mixing matrix - last three columns"},
336
337(* Couplings constants: external parameters *)
338  aEWM1 == { TeX->Subsuperscript[\[Alpha],w,-1], ParameterType->External, ComplexParameter->False, BlockName->SMINPUTS, OrderBlock->1, InteractionOrder->{QED,-2},
339             Description->"Inverse of the EW coupling constant at the Z pole"},
340  aS    == { TeX->Subscript[\[Alpha],s],         ParameterType->External, ComplexParameter->False, BlockName->SMINPUTS, OrderBlock->3, InteractionOrder->{QCD, 2},
341             Description->"Strong coupling constant at the Z pole."},
342
343(* Couplings constants: internal parameters *)
344  ee == { TeX->e, ParameterType->Internal, ComplexParameter->False, Value->Sqrt[4 Pi / aEWM1], InteractionOrder->{QED,1}, Description->"Electric coupling constant"},
345  gs == { TeX->Subscript[g,s], ParameterType->Internal, ComplexParameter->False, Value->Sqrt[4 Pi aS],      InteractionOrder->{QCD,1}, ParameterName->G, Description->"Strong coupling constant"},
346  gp == { TeX->g', ParameterType->Internal, ComplexParameter->False, Definitions-> {gp->ee/cw}, InteractionOrder->{QED,1}, Description->"Hypercharge coupling constant at the Z pole"},
347  gw == { TeX->Subscript[g,w], ParameterType->Internal, ComplexParameter->False, Definitions-> {gw->ee/sw}, InteractionOrder->{QED,1}, Description->"Weak coupling constant at the Z pole"},
348  (* Add gd coupling definition *)   
349  gd == { TeX->Subscript[g,d], ParameterType->External, ComplexParameter->False, Value -> 0.001, InteractionOrder->{NP, 1},  Description->"U1D coupling"},
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(* Add new physics n1-nD-ad *)
568(* LN1NDAD := gd*(neu1bar.Ga[mu].Ga[5].neuD)*AD[mu]; *)
569(* Option2: use imaginary number i *)
570LN1NDAD := I*gd*(neu1bar.Ga[mu].neuD)*AD[mu];
571(* Add new vertex ad-mu-mu *)
572LADMuMu := gd*(mbar.Ga[mu].m)*AD[mu];
573
574(* Collecting all the pieces together *)
575Lag := ToDirac[SolveEqMotionF[SolveEqMotionD[LVector+LChiral+LSuperW+LSoft]]] + LFeynmanGFix + LN1NDAD + LADMuMu;