MSSMatNLO: mssm-nlo.fr

File mssm-nlo.fr, 40.5 KB (added by BenjF, 3 weeks ago)

FeynRules model implementation v1.5

Line 
1(* ********************************************************* *)
2(* *****                                               ***** *)
3(* *****  FeynRules model file: electroweakinos        ***** *)
4(* *****  Author: B. Fuks                              ***** *)
5(* *****                                               ***** *)
6(* ********************************************************* *)
7
8(* ************************** *)
9(* *****  Information   ***** *)
10(* ************************** *)
11M$Information = { Authors->{"Benjamin Fuks"}, Date->"01.02.18", Version->"1.5", Institutions->{"LPTHE Paris / Sorbonne U."}, Emails->{"fuks@lpthe.jussieu.fr"} };
12M$ModelName   = "MSSM-NLO";
13FeynmanGauge  = True;
14
15(* Changelog *)
16(* v1.1 - 09.11.16 - Bug in the SUSY restoring counterterms fixed *)
17(* v1.2 - 23.11.16 - Bug with the ghosts *)
18(* v1.3 - 07.09.17 - Adding the SUSY breaking part *)
19(* v1.4 - 25.10.17 - Fixing a few bugs *)
20(* v1.5 - 01.02.19 - Fixing LMass  + removing the constant and linear terms *)
21
22
23(* ************************** *)
24(* *****  Gauge groups  ***** *)
25(* ************************** *)
26M$GaugeGroups = {
27  U1Y  == { Abelian->True,  CouplingConstant->gp, Superfield->BSF, Charge->Y},
28  SU2L == { Abelian->False, CouplingConstant->gw, Superfield->WSF, StructureConstant->ep, Representations->{Ta,SU2D}, Definitions->{Ta[a__]->PauliSigma[a]/2, ep->Eps}},
29  SU3C == { Abelian->False, CouplingConstant->gs, Superfield->GSF, StructureConstant->f,  Representations->{{T,Colour}, {Tb,Colourb}}, DTerm->dSUN}
30};
31
32(* ************************** *)
33(* *** Interaction orders *** *)
34(* ************************** *)
35M$InteractionOrderHierarchy = { {QCD, 1}, {QED, 2} };
36
37(* ************************** *)
38(* *****     Gauge      ***** *)
39(* *****   Parameters   ***** *)
40(* *****   (FeynArts)   ***** *)
41(* ************************** *)
42
43GaugeXi[ V[1]  ] = GaugeXi[A];
44GaugeXi[ V[2]  ] = GaugeXi[Z];
45GaugeXi[ V[3]  ] = GaugeXi[W];
46GaugeXi[ V[4]  ] = GaugeXi[G];
47GaugeXi[ U[1]  ] = GaugeXi[G];
48
49(* ************************** *)
50(* *****    Indices     ***** *)
51(* ************************** *)
52IndexRange[Index[SU2W]]    =   Unfold[Range[3]]; IndexStyle[SU2W,j];    IndexRange[Index[SU2D]]    =   Unfold[Range[2]]; IndexStyle[SU2D,k];
53IndexRange[Index[Gluon ]]  = NoUnfold[Range[8]]; IndexStyle[Gluon, a];  IndexRange[Index[Colour ]] = NoUnfold[Range[3]]; IndexStyle[Colour, m];
54IndexRange[Index[Colourb]] = NoUnfold[Range[3]]; IndexStyle[Colourb,m];
55IndexRange[Index[NEU ]] = Range[4];           IndexStyle[NEU, i];
56IndexRange[Index[CHA ]] = Range[2];           IndexStyle[CHA, i];
57IndexRange[Index[GEN ]] = Range[3];           IndexStyle[GEN, f];
58IndexRange[Index[SCA ]] = Range[6];           IndexStyle[SCA, i];
59IndexRange[Index[Nsf ]] = Range[2];           IndexStyle[Nsf, i];
60
61(* ************************** *)
62(* ***** NLO Variables ****** *)
63(******************************)
64FR$LoopSwitches = {{Gf, MW}};
65
66(* ************************** *)
67(* *****  Superfields   ***** *)
68(* ************************** *)
69M$Superfields = {
70  VSF[1] == { ClassName->BSF, GaugeBoson->B,  Gaugino->bow},
71  VSF[2] == { ClassName->WSF, GaugeBoson->Wi, Gaugino->wow, Indices->{Index[SU2W]}},
72  VSF[3] == { ClassName->GSF, GaugeBoson->G,  Gaugino->gow, Indices->{Index[Gluon]} },
73  CSF[1] == { ClassName->HU, Chirality->Left, Weyl->huw, Scalar->hus, QuantumNumbers->{Y-> 1/2}, Indices->{Index[SU2D]}},
74  CSF[2] == { ClassName->HD, Chirality->Left, Weyl->hdw, Scalar->hds, QuantumNumbers->{Y->-1/2}, Indices->{Index[SU2D]}},
75  CSF[3] == { ClassName->LL, Chirality->Left, Weyl->LLw, Scalar->LLs, QuantumNumbers->{Y->-1/2}, Indices->{Index[SU2D], Index[GEN]}},
76  CSF[4] == { ClassName->ER, Chirality->Left, Weyl->ERw, Scalar->ERs, QuantumNumbers->{Y-> 1},   Indices->{Index[GEN]}},
77  CSF[5] == { ClassName->VR, Chirality->Left, Weyl->VRw, Scalar->VRs, Indices->{Index[GEN]}},
78  CSF[6] == { ClassName->QL, Chirality->Left, Weyl->QLw, Scalar->QLs, QuantumNumbers->{Y-> 1/6}, Indices->{Index[SU2D], Index[GEN], Index[Colour]}},
79  CSF[7] == { ClassName->UR, Chirality->Left, Weyl->URw, Scalar->URs, QuantumNumbers->{Y->-2/3}, Indices->{Index[GEN], Index[Colourb]}           },
80  CSF[8] == { ClassName->DR, Chirality->Left, Weyl->DRw, Scalar->DRs, QuantumNumbers->{Y-> 1/3}, Indices->{Index[GEN], Index[Colourb]}           }
81};
82
83(* ************************** *)
84(* *****     Fields     ***** *)
85(* ************************** *)
86M$ClassesDescription = {
87(* Gauge bosons: unphysical vector fields *)
88  V[11] == { ClassName->B, Unphysical->True, SelfConjugate->True, Definitions->{B[mu_]->-sw Z[mu]+cw A[mu]} },
89  V[12] == { ClassName->Wi, Unphysical->True, SelfConjugate->True, Indices->{Index[SU2W]}, FlavorIndex->SU2W,
90    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]} },
91
92(* Gauge bosons: physical vector fields *)
93  V[1] == { ClassName->A, SelfConjugate->True,  Mass->0,              Width->0,           PDG->22, ParticleName->"a"},
94  V[2] == { ClassName->Z, SelfConjugate->True,  Mass->{MZ, 91.1876},  Width->{WZ,2.4952}, PDG->23 },
95  V[3] == { ClassName->W, SelfConjugate->False, Mass->{MW, 79.82436}, Width->{WW, 2.085}, PDG->24, ParticleName->"W+", AntiParticleName->"W-", QuantumNumbers->{Q->1} },
96  V[4] == { ClassName->G, SelfConjugate->True,  Mass->0,              Width->0,           PDG->21, Indices->{Index[Gluon]}, ParticleName->"g" },
97
98(* Gauginos: unphysical Weyls *)
99  W[20] == { ClassName->bow, Unphysical->True, Chirality->Left, SelfConjugate->False, 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
107(* Higgsinos: unphysical Weyls *)
108  W[23] == { ClassName->huw,  Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[SU2D]}, FlavorIndex->SU2D, QuantumNumbers->{Y-> 1/2},
109             Definitions->{
110               huw[s_,1]:> Module[{i}, Conjugate[VV[i,2]]*chpw[s,i]],
111               huw[s_,2]:> Module[{i}, Conjugate[NN[i,4]]*neuw[s,i]] } },
112  W[24] == { ClassName->hdw,  Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[SU2D]}, FlavorIndex->SU2D, QuantumNumbers->{Y->-1/2},
113             Definitions->{
114               hdw[s_,1]:> Module[{i}, Conjugate[NN[i,3]]*neuw[s,i]],
115               hdw[s_,2]:> Module[{i}, Conjugate[UU[i,2]]*chmw[s,i]]} },
116
117(* Gauginos/Higgsinos: physical Weyls *)
118  W[1] == { ClassName->neuw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[NEU]}, FlavorIndex->NEU },
119  W[2] == { ClassName->chpw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[CHA]}, FlavorIndex->CHA, QuantumNumbers->{Q-> 1} } ,
120  W[3] == { ClassName->chmw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[CHA]}, FlavorIndex->CHA, QuantumNumbers->{Q->-1} } ,
121  W[4] == { ClassName->goww, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[Gluon]} },
122
123(* Gauginos/Higgsinos: physical Diracs *)
124  F[1] == { ClassName->neu, SelfConjugate->True,  Indices->{Index[NEU]}, FlavorIndex->NEU, WeylComponents->neuw, PDG->{1000022,1000023,1000025,1000035},
125            ClassMembers->{neu1,neu2,neu3,neu4}, ParticleName->{"n1","n2","n3","n4"}, Mass->{Mneu,{Mneu1,50},{Mneu2,100},{Mneu3,100},{Mneu4,100}}, Width->{{Wneu1,5},{Wneu2,5},{Wneu3,5},{Wneu4,5}} },
126  F[2] == { ClassName->ch,  SelfConjugate->False, Indices->{Index[CHA]}, FlavorIndex->CHA, WeylComponents->{chpw,chmwbar},
127            ClassMembers->{ch1,ch2}, ParticleName->{"x1+","x2+"}, AntiParticleName->{"x1-","x2-"}, QuantumNumbers->{Q ->1},
128            Mass->{Mch, {Mch1,100}, {Mch2,100}}, Width->{{Wch1,5}, {Wch2,5}}, PDG->{1000024,1000037} },
129  F[3] == { ClassName->go,  SelfConjugate->True, Indices->{Index[Gluon]}, WeylComponents->goww, Mass->{Mgo,1000}, Width->{Wgo,10}, PDG->1000021},
130
131(* Higgs: unphysical scalars  *)
132 S[21] == { ClassName->hus,  Unphysical->True, SelfConjugate->False, Indices->{Index[SU2D]}, FlavorIndex->SU2D, QuantumNumbers->{Y-> 1/2},
133            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] } },
134 S[22] == { ClassName->hds,  Unphysical->True, SelfConjugate->False, Indices->{Index[SU2D]}, FlavorIndex->SU2D, QuantumNumbers->{Y->-1/2},
135            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} },
136
137(* Higgs: physical fields and Goldstones *)
138  S[1] == { ClassName->h0, SelfConjugate->True,  Mass->{MH01,125.},    Width->{WH01,0.00407}, PDG->25, ParticleName->"h01" },
139  S[2] == { ClassName->H0, SelfConjugate->True,  Mass->{MH02,300.},    Width->{WH02,0.5    }, PDG->35, ParticleName->"h02" },
140  S[3] == { ClassName->A0, SelfConjugate->True,  Mass->{MA0, 300.},    Width->{WA0, 0.6    }, PDG->36                      },
141  S[4] == { ClassName->H,  SelfConjugate->False, Mass->{MH,  300.},    Width->{WH, 0.5     }, PDG->37, ParticleName->"H+", AntiParticleName->"H-", QuantumNumbers->{Q-> 1} },
142  S[5] == { ClassName->G0, SelfConjugate->True,  Mass->{MZ, 91.8176 }, Width->{WZ,2.4952}, Goldstone->Z, PDG->250 },
143  S[6] == { ClassName->GP, SelfConjugate->False, Mass->{MW, 79.82436}, Width->{WW,2.085},  Goldstone->W, ParticleName->"G+", AntiParticleName->"G-", PDG->251, QuantumNumbers->{Q-> 1}  },
144
145(* Fermions: unphysical Weyls *)
146 W[25] == { ClassName->LLw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[SU2D],Index[GEN]},              FlavorIndex->SU2D,
147            QuantumNumbers->{Y->-1/2},
148            Definitions->{LLw[s_,1,ff_] -> vLw[s,ff], LLw[s_,2,ff_]->eLw[s,ff]}},
149 W[26] == { ClassName->QLw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[SU2D],Index[GEN],Index[Colour]},FlavorIndex->SU2D,
150            QuantumNumbers->{Y->1/6},
151            Definitions->{QLw[s_,1,ff_,cc_]->uLw[s,ff,cc], QLw[s_,2,ff_,cc_] -> dLw[s,ff,cc]}},
152
153(* Fermions: physical Weyls *)
154  W[5] == { ClassName->vLw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN },
155  W[6] == { ClassName->eLw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN },
156  W[7] == { ClassName->VRw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN },
157  W[8] == { ClassName->ERw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN, QuantumNumbers->{Y-> 1} },
158  W[9] == { ClassName->uLw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN],Index[Colour]},  FlavorIndex->GEN },
159  W[10]== { ClassName->dLw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN],Index[Colour]},  FlavorIndex->GEN },
160  W[11]== { ClassName->URw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN],Index[Colourb]}, FlavorIndex->GEN, QuantumNumbers->{Y->-2/3} },
161  W[12]== { ClassName->DRw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[GEN],Index[Colourb]}, FlavorIndex->GEN, QuantumNumbers->{Y-> 1/3} },
162
163(* Fermions: physical Dirac *)
164  F[4] == { ClassName->vl, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN, WeylComponents->{vLw,VRwbar}, PDG->{12,14,16},
165            ClassMembers->{ve,vm,vt}, Mass->0, Width->0 },
166  F[5] == { ClassName->l,  SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN, WeylComponents->{eLw,ERwbar}, PDG->{11,13,15},
167            QuantumNumbers->{Q->-1}, ParticleName->{"e-","mu-","tau-"}, AntiParticleName->{"e+","mu+","tau+"},
168            ClassMembers->{e,mu,ta}, Mass->{Ml, {Me,5.11*^-4}, {MMU,0.10566}, {MTA,1.777}}, Width->0 },
169  F[6] == { ClassName->uq, SelfConjugate->False, Indices->{Index[GEN],Index[Colour]}, FlavorIndex->GEN, WeylComponents->{uLw,URwbar}, PDG->{2,4,6}, QuantumNumbers->{Q-> 2/3},
170            ClassMembers->{u,c,t}, Mass->{Muq,{MU, 2.55*^-3}, {MC,1.27}, {MT,172}}, Width->{0,0,{WT,1.50833649}} },
171  F[7] == { ClassName->dq, SelfConjugate->False, Indices->{Index[GEN],Index[Colour]}, FlavorIndex->GEN, WeylComponents->{dLw,DRwbar}, PDG->{1,3,5}, QuantumNumbers->{Q->-1/3},
172            ClassMembers->{d,s,b}, Mass->{Mdq,{MD,5.04*^-3}, {MS,0.101}, {MB,4.7}}, Width->0 },
173
174(* Sfermion: unphysical scalars *)
175 S[23] == { ClassName->LLs,  Unphysical->True, SelfConjugate->False, Indices->{Index[SU2D], Index[GEN]}, FlavorIndex->SU2D, QuantumNumbers->{Y->-1/2},
176            Definitions->{ LLs[1,ff_] -> sn[ff], LLs[2,ff_]:> Module[{ff2}, Conjugate[RlL[ff2,ff]]*sl[ff2]] } },
177 S[24] == { ClassName->ERs, Unphysical->True, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN, QuantumNumbers->{Y-> 1},
178            Definitions->{ ERs[ff_] :> Module[{ff2}, slbar[ff2]*RlR[ff2,ff]]}  },
179 S[25] == { ClassName->VRs, Unphysical->True, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN,
180            Definitions->{ VRs[_] -> 0 } },
181 S[26] == { ClassName->QLs, Unphysical->True, SelfConjugate->False, Indices->{Index[SU2D], Index[GEN],Index[Colour]}, FlavorIndex->SU2D,  QuantumNumbers->{Y->1/6},
182            Definitions->{
183              QLs[1,ff_,cc_]:>Module[{ff2},Conjugate[RuL[ff2,ff]]*su[ff2,cc]],
184              QLs[2,ff_,cc_]:>Module[{ff2,ff3},Conjugate[RdL[ff2,ff3]]*CKM[ff,ff3]*sd[ff2,cc]]} },
185 S[27] == { ClassName->URs, Unphysical->True, SelfConjugate->False, Indices->{Index[GEN],Index[Colourb]}, FlavorIndex->GEN, QuantumNumbers->{Y->-2/3},
186            Definitions->{ URs[ff_,cc_]:>Module[{ff2}, subar[ff2,cc]*RuR[ff2,ff]]} },
187 S[28] == { ClassName->DRs, Unphysical->True, SelfConjugate->False, Indices->{Index[GEN],Index[Colourb]}, FlavorIndex->GEN, QuantumNumbers->{Y-> 1/3},
188            Definitions->{ DRs[ff_,cc_]:>Module[{ff2}, sdbar[ff2,cc]*RdR[ff2,ff]]} },
189
190(* Sfermion: physical scalars *)
191 S[7] == {  ClassName->sn, SelfConjugate->False, Indices->{Index[GEN]}, FlavorIndex->GEN, PDG->{1000012,1000014,1000016},
192            ClassMembers-> {sne, snm, snt}, Mass->{Msn,{Msne,100}, {Msnm,100}, {Msnt,100}}, Width->{{Wsne,5},{Wsnm,5},{Wsnt,5}} },
193 S[8] == {  ClassName->sl, SelfConjugate->False, Indices->{Index[SCA]}, FlavorIndex->SCA, QuantumNumbers->{Q->-1}, PDG->{1000011,1000013,1000015,2000011,2000013,2000015},
194            ClassMembers->{seL,smuL,stau1,seR,smuR,stau2}, ParticleName->{"seL-","smuL-","stau1-","seR-","smuR-","stau2-"}, AntiParticleName->{"seL+","smuL+","stau1+","seR+","smuR+","stau2+"},
195            Mass->{Msl,{MseL,100},{MsmuL,100},{Mstau1,100},{MseR,100},{MsmuR,100},{Mstau2,100}}, Width->{{WseL,5},{WsmuL,5},{Wstau1,5}, {WseR,5},{WsmuR,5},{Wstau2,5}} },
196
197 S[9] == {  ClassName->su, SelfConjugate->False, Indices->{Index[SCA],Index[Colour]}, FlavorIndex->SCA, QuantumNumbers->{Q-> 2/3},
198            ClassMembers->{suL,scL,st1,suR,scR,st2}, Mass->{Msu,{MsuL,1000},{MscL,1000},{Mst1,1000},{MsuR,1001},{MscR,1001},{Mst2,1001}}, Width->{{WsuL,10},{WscL,10},{WstL,10},{WsuR,10},{WscR,10},{WstR,10}},
199            PDG->{1000002,1000004,1000006,2000002,2000004,2000006} },
200 S[10]== {  ClassName->sd, SelfConjugate->False, Indices->{Index[SCA],Index[Colour]}, FlavorIndex->SCA, QuantumNumbers->{Q->-1/3},
201            ClassMembers->{sdL,ssL,sb1,sdR,ssR,sb2}, Mass->{Msd,{MsdL,1000},{MssL,1000},{Msb1,1000},{MsdR,1001},{MssR,1001},{Msb2,1001}}, Width->{{WsdL,10},{WssL,10},{WsbL,10},{WsdR,10},{WssR,10},{WsbR,10}},
202            PDG->{1000001,1000003,1000005,2000001,2000003,2000005} } ,
203
204(* Ghost: related to unphysical gauge bosons *)
205  U[11] == { ClassName->ghWi, Unphysical->True, SelfConjugate->False, Ghost->Wi, Indices->{Index[SU2W]}, FlavorIndex->SU2W,
206             Definitions->{ghWi[1]->(ghWp+ghWm)/Sqrt[2], ghWi[2]->(ghWm-ghWp)/(I*Sqrt[2]), ghWi[3]->cw ghZ+sw ghA} } ,
207  U[12] == { ClassName->ghB, Unphysical->True, SelfConjugate->False, Ghost->B,
208             Definitions->{ghB->-sw ghZ+cw ghA} },
209
210(* Ghost: related to physical gauge bosons *)
211  U[1] == { ClassName->ghG,  SelfConjugate->False, Ghost->G,    Mass->0,              Width->0,   QuantumNumbers->{GhostNumber->1}, Indices->{Index[Gluon]} },
212  U[2] == { ClassName->ghA,  SelfConjugate->False, Ghost->A,    Mass->0,              Width->0,   QuantumNumbers->{GhostNumber->1       } },
213  U[3] == { ClassName->ghZ,  SelfConjugate->False, Ghost->Z,    Mass->{MZ, 91.1876},  Width->{WZ,2.4952},  QuantumNumbers->{GhostNumber->1       } },
214  U[4] == { ClassName->ghWp, SelfConjugate->False, Ghost->W,    Mass->{MW, 79.82436}, Width->{WW,2.085 },  QuantumNumbers->{GhostNumber->1, Q-> 1} },
215  U[5] == { ClassName->ghWm, SelfConjugate->False, Ghost->Wbar, Mass->{MW, 79.82436}, Width->{WW,2.085 },  QuantumNumbers->{GhostNumber->1, Q->-1} }
216};
217
218
219(* ************************** *)
220(* *****   Parameters   ***** *)
221(* ************************** *)
222M$Parameters = {
223(* Couplings constants: external parameters *)
224  aEWM1 == {                             ParameterType->External, BlockName->SMINPUTS, OrderBlock->1, InteractionOrder->{QED,-2}, Value -> 127.9,         Description->"Inverse of the EW coupling at the Z pole"},
225  Gf    == { TeX -> Subscript[G,f],      ParameterType->External, BlockName->SMINPUTS, OrderBlock->2, InteractionOrder->{QED, 2}, Value -> 1.16637*^-5,   Description->"Fermi constant"},
226  aS    == { TeX->Subscript[\[Alpha],s], ParameterType->External, BlockName->SMINPUTS, OrderBlock->3, InteractionOrder->{QCD, 2}, Value -> 0.1184,        Description->"Strong coupling at the Z pole"},
227
228(* Mixing: external parameters *)
229  NN  == { TeX->N, ParameterType->External, ComplexParameter->False, BlockName->NMIX, Indices->{Index[NEU],Index[NEU]}, Unitary->True, Description-> "Neutralino mixing matrix",
230    Value -> { NN[1,1]->1, NN[1,2]->0, NN[1,3]-> 0,        NN[1,4]->0,
231               NN[2,1]->0, NN[2,2]->1, NN[2,3]-> 0,        NN[2,4]->0,
232               NN[3,1]->0, NN[3,2]->0, NN[3,3]-> 0.707107, NN[3,4]->0.707107,
233               NN[4,1]->0, NN[4,2]->0, NN[4,3]->-0.707107, NN[4,4]->0.707107 } },
234  UU  == { TeX->U, ParameterType->External, ComplexParameter->False, BlockName->UMIX, Indices->{Index[CHA],Index[CHA]}, Unitary->True, Description-> "Chargino mixing matrix U",
235    Value -> { UU[1,1]->1, UU[1,2]->0, UU[2,1]->0, UU[2,2]->1} },
236  VV  == { TeX->V, ParameterType->External, ComplexParameter->False, BlockName->VMIX, Indices->{Index[CHA],Index[CHA]}, Unitary->True, Description-> "Chargino mixing matrix V",
237    Value -> { VV[1,1]->1, VV[1,2]->0, VV[2,1]->0, VV[2,2]->1} },
238
239(* Electroweak internal parameters *)
240  cw == { TeX->Subscript[c,w], ParameterType->Internal, Value->MW/MZ         },
241  sw == { TeX->Subscript[s,w], ParameterType->Internal, Value->Sqrt[1-cw^2]  },
242  ee == { TeX->e,              ParameterType->Internal, Value->Sqrt[4 Pi / aEWM1], InteractionOrder->{QED,1} },
243  gs == { TeX->Subscript[g,s], ParameterType->Internal, Value->Sqrt[4 Pi aS],      InteractionOrder->{QCD,1}, ParameterName->G },
244  gp == { TeX->g',             ParameterType->Internal, Definitions-> {gp->ee/cw}, InteractionOrder->{QED,1} },
245  gw == { TeX->Subscript[g,w], ParameterType->Internal, Definitions-> {gw->ee/sw}, InteractionOrder->{QED,1} },
246
247(* Higgs sector: external parameters *)
248  tb  == { ParameterType->External, ComplexParameter->False, Value->10 , BlockName -> HMIX, OrderBlock->2},
249  MUH == { ParameterType->External, ComplexParameter->False, Value->200, BlockName -> HMIX, OrderBlock->1},
250  alp == { TeX->\[Alpha], ParameterType->External, ComplexParameter->False, BlockName->ALPHA, Description-> "Neutral Higgses mixing angle", Value->-0.1},
251
252(* Higgs sector: internal parameters *)
253  beta == { TeX->\[Beta], ParameterType->Internal, ComplexParameter->False, Value->ArcTan[tb], Description->"Arctan of the ratio of the two Higgs vevs"},
254  vev  == { TeX->v,              ParameterType->Internal, Value->2*MZ*sw*cw/ee, InteractionOrder->{QED,-1},
255            Description->"Higgs vacuum expectation value"},
256  vd   == { TeX->Subscript[v,d], ParameterType->Internal, Value->vev*Cos[beta],    InteractionOrder->{QED,-1},
257            Description->"Down-type Higgs vacuum expectation value"},
258  vu   == { TeX->Subscript[v,u], ParameterType->Internal, Value->vev*Sin[beta],    InteractionOrder->{QED,-1},
259            Description->"Up-type Higgs vacuum expectation value"},
260
261(* Superpotential: external parameters *)
262  yu  == { TeX->Superscript[y,u], ParameterType->Internal, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]},
263           Definitions:>{yu[i_?NumericQ,j_?NumericQ]:>0 /;(i!=j)}, Value->{yu[1,1]->Sqrt[2] MU/vu, yu[2,2]->Sqrt[2] MC/vu,  yu[3,3]->Sqrt[2] MT/vu}, InteractionOrder->{QED,1}, Description-> "Up-type quark Yukawa matrix"},
264  yd  == { TeX->Superscript[y,d], ParameterType->Internal, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]},
265           Definitions:>{yd[i_?NumericQ,j_?NumericQ]:>0 /;(i!=j)}, Value->{yd[1,1]->Sqrt[2] MD/vd, yd[2,2]->Sqrt[2] MS/vd,  yd[3,3]->Sqrt[2] MB/vd}, InteractionOrder->{QED,1}, Description-> "Down-type quark Yukawa matrix"},
266  ye  == { TeX->Superscript[y,e], ParameterType->Internal, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]},
267           Definitions:>{ye[i_?NumericQ,j_?NumericQ]:>0 /;(i!=j)}, Value->{ye[1,1]->Sqrt[2] Me/vd, ye[2,2]->Sqrt[2] MMU/vd, ye[3,3]->Sqrt[2] MTA/vd},InteractionOrder->{QED,1}, Description-> "Charged lepton Yukawa matrix"},
268
269(* Fermion mixing *)
270  cabi == { ParameterType->External, BlockName->CKMBLOCK, OrderBlock->1, Value->0.227736, Description->"Cabibbo angle" },
271  CKM == { TeX->Superscript[V,CKM], ParameterType->Internal, Indices->{Index[GEN], Index[GEN]}, Unitary->True,
272    Value         -> {CKM[1,1] ->  Cos[cabi], CKM[1,2] -> Sin[cabi], CKM[1,3] -> 0,
273                      CKM[2,1] -> -Sin[cabi], CKM[2,2] -> Cos[cabi], CKM[2,3] -> 0,
274                      CKM[3,1] ->  0,         CKM[3,2] -> 0,         CKM[3,3] -> 1} },
275
276(* Sfermion mixing matrices *)
277  Rtau == { TeX->Subscript[S,\[Tau]], ParameterType->External, BlockName->STAUMIX,  Indices -> {Index[Nsf], Index[Nsf]}, Unitary->True, Description->"Stau mixing matrix",
278      Value-> { Rtau[1,1] -> 0.707107, Rtau[1,2] -> 0.707107, Rtau[2,1] -> -0.707107, Rtau[2,2] -> 0.707107 } },
279  Rl  == { TeX->Superscript[R,l], ParameterType->Internal, ComplexParameter->False, Indices->{Index[SCA],Index[SCA]}, Unitary->True,
280           Definitions->{ Rl[1,1]->1 , Rl[1,2]->0, Rl[1,3]->0,         Rl[1,4]->0, Rl[1,5]->0, Rl[1,6]->0,
281                          Rl[2,1]->0 , Rl[2,2]->1, Rl[2,3]->0,         Rl[2,4]->0, Rl[2,5]->0, Rl[2,6]->0,
282                          Rl[3,1]->0 , Rl[3,2]->0, Rl[3,3]->Rtau[1,1], Rl[3,4]->0, Rl[3,5]->0, Rl[3,6]->Rtau[1,2],
283                          Rl[4,1]->0 , Rl[4,2]->0, Rl[4,3]->0,         Rl[4,4]->1, Rl[4,5]->0, Rl[4,6]->0,
284                          Rl[5,1]->0 , Rl[5,2]->0, Rl[5,3]->0,         Rl[5,4]->0, Rl[5,5]->1, Rl[5,6]->0,
285                          Rl[6,1]->0 , Rl[6,2]->0, Rl[6,3]->Rtau[2,1], Rl[6,4]->0, Rl[6,5]->0, Rl[6,6]->Rtau[2,2]} },
286  RlL == { TeX->Superscript[RL,l], ParameterType-> Internal, ComplexParameter->False, Indices->{Index[SCA],Index[GEN]}, Unitary->False, Definitions->{RlL[i_,j_]:>Rl[i,j]  /;NumericQ[j]} },
287  RlR == { TeX->Superscript[RR,l], ParameterType-> Internal, ComplexParameter->False, Indices->{Index[SCA],Index[GEN]}, Unitary->False, Definitions->{RlR[i_,j_]:>Rl[i,j+3]/;NumericQ[j]} },
288
289  Rtop == { TeX->Subscript[S,t], ParameterType->External, BlockName->STOPMIX,  Indices -> {Index[Nsf], Index[Nsf]}, Unitary->True, Description->"Stop mixing matrix",
290      Value-> { Rtop[1,1] -> 0.707107, Rtop[1,2] -> 0.707107, Rtop[2,1] -> -0.707107, Rtop[2,2] -> 0.707107 } },
291  Ru  == { TeX->Superscript[R,u], ParameterType->Internal, ComplexParameter->False, Indices->{Index[SCA],Index[SCA]}, Unitary->True,
292           Definitions->{ Ru[1,1]->1 , Ru[1,2]->0, Ru[1,3]->0,         Ru[1,4]->0, Ru[1,5]->0, Ru[1,6]->0,
293                          Ru[2,1]->0 , Ru[2,2]->1, Ru[2,3]->0,         Ru[2,4]->0, Ru[2,5]->0, Ru[2,6]->0,
294                          Ru[3,1]->0 , Ru[3,2]->0, Ru[3,3]->Rtop[1,1], Ru[3,4]->0, Ru[3,5]->0, Ru[3,6]->Rtop[1,2],
295                          Ru[4,1]->0 , Ru[4,2]->0, Ru[4,3]->0,         Ru[4,4]->1, Ru[4,5]->0, Ru[4,6]->0,
296                          Ru[5,1]->0 , Ru[5,2]->0, Ru[5,3]->0,         Ru[5,4]->0, Ru[5,5]->1, Ru[5,6]->0,
297                          Ru[6,1]->0 , Ru[6,2]->0, Ru[6,3]->Rtop[2,1], Ru[6,4]->0, Ru[6,5]->0, Ru[6,6]->Rtop[2,2]} },
298  RuL == { TeX->Superscript[RL,u], ParameterType-> Internal, ComplexParameter->False, Indices->{Index[SCA],Index[GEN]}, Unitary->False, Definitions->{RuL[i_,j_]:>Ru[i,j]  /;NumericQ[j]} },
299  RuR == { TeX->Superscript[RR,u], ParameterType-> Internal, ComplexParameter->False, Indices->{Index[SCA],Index[GEN]}, Unitary->False, Definitions->{RuR[i_,j_]:>Ru[i,j+3]/;NumericQ[j]} },
300
301  Rbot == { TeX->Subscript[S,b], ParameterType->External, BlockName->SBOTMIX,  Indices -> {Index[Nsf], Index[Nsf]}, Unitary->True, Description->"Sbottom mixing matrix",
302      Value-> { Rbot[1,1] -> 0.707107, Rbot[1,2] -> 0.707107, Rbot[2,1] -> -0.707107, Rbot[2,2] -> 0.707107 } },
303  Rd  == { TeX->Superscript[R,d], ParameterType->Internal, ComplexParameter->False, Indices->{Index[SCA],Index[SCA]}, Unitary->True,
304           Definitions->{ Rd[1,1]->1 , Rd[1,2]->0, Rd[1,3]->0,         Rd[1,4]->0, Rd[1,5]->0, Rd[1,6]->0,
305                          Rd[2,1]->0 , Rd[2,2]->1, Rd[2,3]->0,         Rd[2,4]->0, Rd[2,5]->0, Rd[2,6]->0,
306                          Rd[3,1]->0 , Rd[3,2]->0, Rd[3,3]->Rbot[1,1], Rd[3,4]->0, Rd[3,5]->0, Rd[3,6]->Rbot[1,2],
307                          Rd[4,1]->0 , Rd[4,2]->0, Rd[4,3]->0,         Rd[4,4]->1, Rd[4,5]->0, Rd[4,6]->0,
308                          Rd[5,1]->0 , Rd[5,2]->0, Rd[5,3]->0,         Rd[5,4]->0, Rd[5,5]->1, Rd[5,6]->0,
309                          Rd[6,1]->0 , Rd[6,2]->0, Rd[6,3]->Rbot[2,1], Rd[6,4]->0, Rd[6,5]->0, Rd[6,6]->Rbot[2,2]} },
310  RdL == { TeX->Superscript[RL,d], ParameterType-> Internal, ComplexParameter->False, Indices->{Index[SCA],Index[GEN]}, Unitary->False, Definitions->{RdL[i_,j_]:>Rd[i,j]  /;NumericQ[j]} },
311  RdR == { TeX->Superscript[RR,d], ParameterType-> Internal, ComplexParameter->False, Indices->{Index[SCA],Index[GEN]}, Unitary->False, Definitions->{RdR[i_,j_]:>Rd[i,j+3]/;NumericQ[j]} },
312
313(* Soft terms *)
314  Mx1  == { ParameterType->External, BlockName->MSOFT, OrderBlock->1, Value->100, Description->"Bino mass"  },
315  Mx2  == { ParameterType->External, BlockName->MSOFT, OrderBlock->2, Value->200, Description->"Wino mass"  },
316  Mx3  == { ParameterType->External, BlockName->MSOFT, OrderBlock->3, Value->600, Description->"Gluino mass"},
317
318  mHu2 == { TeX->Subsuperscript[m,Subscript[H,u],2], ParameterType->External, BlockName->MSOFT, OrderBlock->22, Value->-130000, Description->"Up-type Higgs squared mass"},
319  mHd2 == { TeX->Subsuperscript[m,Subscript[H,d],2], ParameterType->External, BlockName->MSOFT, OrderBlock->21, Value->  32000, Description->"Down-type Higgs squared mass"},
320
321  meL  == { ParameterType->External, BlockName->MSOFT, OrderBlock->31, Value->200, Description->"seL squared mass"  },
322  mmuL == { ParameterType->External, BlockName->MSOFT, OrderBlock->32, Value->200, Description->"smuL squared mass"  },
323  mtauL== { ParameterType->External, BlockName->MSOFT, OrderBlock->33, Value->200, Description->"stauL squared mass"  },
324  meR  == { ParameterType->External, BlockName->MSOFT, OrderBlock->34, Value->150, Description->"seR squared mass"  },
325  mmuR == { ParameterType->External, BlockName->MSOFT, OrderBlock->35, Value->150, Description->"smuR squared mass"  },
326  mtauR== { ParameterType->External, BlockName->MSOFT, OrderBlock->36, Value->150, Description->"stauR squared mass"  },
327  muL  == { ParameterType->External, BlockName->MSOFT, OrderBlock->41, Value->550, Description->"suL squared mass"  },
328  mcL  == { ParameterType->External, BlockName->MSOFT, OrderBlock->42, Value->550, Description->"scL squared mass"  },
329  mtL  == { ParameterType->External, BlockName->MSOFT, OrderBlock->43, Value->500, Description->"stL squared mass"  },
330  muR  == { ParameterType->External, BlockName->MSOFT, OrderBlock->44, Value->500, Description->"suR squared mass"  },
331  mcR  == { ParameterType->External, BlockName->MSOFT, OrderBlock->45, Value->500, Description->"scR squared mass"  },
332  mtR  == { ParameterType->External, BlockName->MSOFT, OrderBlock->46, Value->400, Description->"stR squared mass"  },
333  mdR  == { ParameterType->External, BlockName->MSOFT, OrderBlock->47, Value->500, Description->"sdR squared mass"  },
334  msR  == { ParameterType->External, BlockName->MSOFT, OrderBlock->48, Value->500, Description->"ssR squared mass"  },
335  mbR  == { ParameterType->External, BlockName->MSOFT, OrderBlock->49, Value->500, Description->"sbR squared mass"  },
336
337  ae == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->AE, Description->"Charged slepton trilinear coupling",
338     Definitions:>{ae[i_,j_]:>0 /;(i!=j)}, Value->{ae[1,1]->0, ae[2,2]->0, ae[3,3]->-250} },
339  au == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->AU, Description->"Up-type squark trilinear coupling",
340     Definitions:>{au[i_,j_]:>0 /;(i!=j)}, Value->{au[1,1]->0, au[2,2]->0, au[3,3]->-500} },
341  ad == { ParameterType->External, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, BlockName->AD, Description->"Down-type squark trilinear coupling",
342     Definitions:>{ad[i_,j_]:>0 /;(i!=j)}, Value->{ad[1,1]->0, ad[2,2]->0, ad[3,3]->-800} },
343
344(* Soft terms: internal parameters *)
345  bb  == { TeX->b, ParameterType->Internal, ComplexParameter->False, Value->(mHu2-mHd2)*Tan[2*alp]/2 - MZ^2*(Cos[2*beta]*Tan[2*alp] + Sin[2*beta]/2), Description->"Higgs bilinear soft term"},
346  mL2  == { TeX->Subsuperscript[m,OverTilde[L],2], ParameterType->Internal, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, Description->"Left-handed slepton squared mass matrix",
347      Definitions:>{mL2[i_,j_]:>0 /;(i!=j)}, Value->{ mL2[1,1]->meL^2, mL2[2,2]->mmuL^2, mL2[3,3]->mtauL^2} },
348  mE2  == { TeX->Subsuperscript[m,OverTilde[E],2], ParameterType->Internal, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, Description->"Right-handed slepton squared mass matrix",
349      Definitions:>{mE2[i_,j_]:>0 /;(i!=j)}, Value->{ mE2[1,1]->meR^2, mE2[2,2]->mmuR^2, mE2[3,3]->mtauR^2} },
350  mQ2  == { TeX->Subsuperscript[m,OverTilde[Q],2], ParameterType->Internal, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, Description->"Left-handed squark squared mass matrix",
351      Definitions:>{mQ2[i_,j_]:>0 /;(i!=j)}, Value->{ mQ2[1,1]->muL^2, mQ2[2,2]->mcL^2, mQ2[3,3]->mtL^2} },
352  mU2  == { TeX->Subsuperscript[m,OverTilde[U],2], ParameterType->Internal, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, Description->"Right-handed up-type squark squared mass matrix",
353      Definitions:>{mU2[i_,j_]:>0 /;(i!=j)}, Value->{ mU2[1,1]->muR^2, mU2[2,2]->mcR^2, mU2[3,3]->mtR^2} },
354  mD2  == { TeX->Subsuperscript[m,OverTilde[D],2], ParameterType->Internal, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, Description->"Right-handed down-type squark squared mass matrix",
355      Definitions:>{mD2[i_,j_]:>0 /;(i!=j)}, Value->{ mD2[1,1]->mdR^2, mD2[2,2]->msR^2, mD2[3,3]->mbR^2} },
356
357  te == { TeX->Subscript[T,e], ParameterType->Internal, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, Description->"Charged slepton trilinear coupling",
358     Definitions:>{te[i_,j_]:>0 /;(i!=j)}, Value->{te[i_,j_]:>If[i==j, ae[i,j]*ye[i,j]]}, InteractionOrder->{QED,1} },
359  tu == { TeX->Subscript[T,u], ParameterType->Internal, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, Description->"Up-type squark trilinear coupling",
360     Definitions:>{tu[i_,j_]:>0 /;(i!=j)}, Value->{tu[i_,j_]:>If[i==j, au[i,j]*yu[i,j]]}, InteractionOrder->{QED,1} },
361  td == { TeX->Subscript[T,d], ParameterType->Internal, ComplexParameter->False, Indices->{Index[GEN],Index[GEN]}, Description->"Down-type squark trilinear coupling",
362     Definitions:>{td[i_,j_]:>0 /;(i!=j)}, Value->{td[i_,j_]:>If[i==j, ad[i,j]*yd[i,j]]}, InteractionOrder->{QED,1} }
363};
364
365(* ************************** *)
366(* ****  Diracification  **** *)
367(* ************************** *)
368ToDirac[exp_]:= Module[{tmp=Expand[exp]},
369  Colourb=Colour;
370
371  tmp = OptimizeIndex[#] &/@ (If[Head[tmp]===Plus,List@@tmp,List[tmp]]/.Tb[a_,i_,j_]->-T[a,j,i]);
372
373  tmp = Expand[(ExpandIndices[#, FlavorExpand->{SU2W, SU2D}] /. {
374         cw^n_?(Mod[#,2]===0&)->(1 - sw^2)^(n/2),
375         cw^n_?(Mod[#, 2]===1 &)->(1 - sw^2)^((n - 1)/2) cw,
376         Power[PauliSigma[a_,i_?(NumericQ[#] &),j_?(NumericQ[#] &)],2]->PauliSigma[1,i,j]^2 + PauliSigma[3,i,j]^2 + PauliSigma[2,i,j]^2,
377         PauliSigma[a_,i_?(NumericQ[#] &),j_?(NumericQ[#] &)] PauliSigma[a_,k_?(NumericQ[#] &),l_?(NumericQ[#] &)]->
378           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;
379  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};
380
381  tmp = OptimizeIndex /@ WeylToDirac /@ OptimizeIndex /@ If[Head[tmp]===Plus,List@@tmp,List[tmp]];
382  Clear[Colourb];
383Expand[Plus@@tmp]];
384
385(* ************************** *)
386(* *****   Lagrangian   ***** *)
387(* ************************** *)
388LChiral :=  Plus@@( Theta2Thetabar2Component[#] &/@ (List @@ CSFKineticTerms[]) )/.{
389   Times[aaa___, del[del[field_, mu_], mu_], bbb___] :> -del[field, mu] del[Times[aaa, bbb], mu]};
390LVector := Module[{}, Plus@@(Module[{tmp}, tmp = SF2Components[#]; Expand[tmp[[2, 5]] + tmp[[2, 6]]]] &/@ (List @@ VSFKineticTerms[]))];
391
392SPot:= Module[{ff1,ff2,cc1},
393     yu[ff1,ff2] UR[ff1,cc1] (QL[1,ff2,cc1] HU[2] - QL[2,ff2,cc1] HU[1]) -
394     yd[ff1,ff2] DR[ff1,cc1] (QL[1,ff2,cc1] HD[2] - QL[2,ff2,cc1] HD[1]) -
395     ye[ff1,ff2] ER[ff1]     (LL[1,ff2]     HD[2] - LL[2,ff2]     HD[1]) +
396     MUH (HU[1] HD[2] - HU[2] HD[1])];
397LSuperW:= ( Plus@@ (Module[{tmp},tmp=SF2Components[#];tmp[[2,5]]+tmp[[2,6]]] &/@ (List @@ Expand[SPot+HC[SPot]])) );
398
399LMass:=Plus@@(Block[{inds=$IndList[#]/.Index[bla_]:>Index[bla,Symbol[ToString[bla]<>"$1"]], afield=anti[#]},
400  Which[
401    FermionQ[#]===True    , -Mass[#]   afield[Sequence@@inds].#[Sequence@@inds],
402    ScalarFieldQ[#]===True, -Mass[#]^2 afield[Sequence@@inds] #[Sequence@@inds],
403    VectorFieldQ[#]===True,  Mass[#]^2 afield[Sequence@@inds] #[Sequence@@inds],
404    True, ERROR[#]]/If[SelfConjugateQ[#]===True,2,1] /. {fld_?(FieldQ[#]===True&)[] -> fld}
405  ] & /@ (Symbol /@ Flatten[PartList[[All, 2]], 1][[All, 8]]));
406
407LKin := Plus@@(Block[{inds=$IndList[#]/.Index[bla_]:>Index[bla,Symbol[ToString[bla]<>"$1"]], afield=anti[#]},
408  Which[
409    GhostFieldQ[#]===True , -afield[Sequence@@inds].del[del[#[Sequence@@inds],mu],mu],
410    FermionQ[#]===True    , I Ga[mu,Index[Spin,Spin$1],Index[Spin,Spin$2]] afield[Sequence@@inds].del[(#[Sequence@@inds]/.Spin$1->Spin$2),mu],
411    ScalarFieldQ[#]===True, del[afield[Sequence@@inds],mu] del[#[Sequence@@inds],mu],
412    VectorFieldQ[#]===True, -1/2 FS[anti[#],mu,Sequence@@inds] FS[#,mu,Sequence@@inds],
413    True, ERROR2[#]]/If[SelfConjugateQ[#]===True,2,1] /. {fld_?(FieldQ[#]===True&)[] -> fld}
414  ] & /@ (Symbol /@ Flatten[PartList[[All, 2]], 1][[All, 8]]))/.{ee->0,gs->0,gw->0,gp->0};
415
416(* Soft SUSY-breaking Lagrangian *)
417LSoft := Module[{Mino, MSca, Tri, Bil},
418  (* Gaugino mass terms *)
419    Mino:=Module[{s,gl},   Mx1*bow[s].bow[s] +  Mx2*wow[s,gl].wow[s,gl] + Mx3*goww[s,gl].goww[s,gl]];
420  (* Scalar mass terms *)
421    MSca:=Module[{ii,ff1,ff2,ff3,ff4,cc1},
422      - mHu2*HC[hus[ii]]*hus[ii] - mHd2*HC[hds[ii]]*hds[ii] -
423        mL2[ff1,ff2]*HC[LLs[ii,ff1]]*LLs[ii,ff2] - mE2[ff1,ff2]*HC[ERs[ff1]]*ERs[ff2] -
424        CKM[ff1,ff2]*mQ2[ff2,ff3]*Conjugate[CKM[ff4,ff3]]*HC[QLs[ii,ff1,cc1]]*QLs[ii,ff4,cc1] -
425        mU2[ff1,ff2]*HC[URs[ff1,cc1]]*URs[ff2,cc1] -  mD2[ff1,ff2]*HC[DRs[ff1,cc1]]*DRs[ff2,cc1] ];
426  (* Trilinear couplings *)
427    Tri:=-tu[ff1,ff2]*URs[ff1,cc1] (QLs[1,ff2,cc1] hus[2] - QLs[2,ff2,cc1] hus[1]) +
428          Conjugate[CKM[ff3,ff2]]*td[ff1,ff2]*DRs[ff1,cc1] (QLs[1,ff3,cc1] hds[2] - QLs[2,ff3,cc1] hds[1]) +
429          te[ff1,ff2]*ERs[ff1] (LLs[1,ff2] hds[2] - LLs[2,ff2] hds[1]) ;
430  (* Bilinear couplings *)
431    Bil:=-bb*(hus[1] hds[2] - hus[2] hds[1]);
432  (* Everything together *)
433  (Mino+HC[Mino])/2 + MSca + Tri + HC[Tri] + Bil + HC[Bil]];
434
435
436(* Ghost Lagrangian and gauge fixing terms *)
437LFeynmanGFix := 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},
438  (* Expression the doublets in the nu/nd basis *)
439  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}];
440  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}];
441
442  (* Higgs doublets *)
443  Phiu = Expand[ {(phiu1 + I phiu2)/Sqrt[2], (Cos[alp]*h0+Sin[alp]*H0 + I*Cos[beta]*A0+I*Sin[beta]*G0)/Sqrt[2]} ];
444  Phid = Expand[ {(-Sin[alp]*h0+Cos[alp]*H0 + I*Sin[beta]*A0-I*Cos[beta]*G0)/Sqrt[2], (phid1 + I phid2)/Sqrt[2]} ];  (* vevs *)
445  Phiu0 = {0, vu/Sqrt[2]};
446  Phid0 = {vd/Sqrt[2], 0};
447  (* Back to the physical Higgses and Goldstones *)
448  nrules := {
449     phid1 -> (-Cos[beta]*GPbar - Cos[beta]*GP + Sin[beta]*Hbar + Sin[beta]*H)/Sqrt[2],
450     phid2 -> (-Cos[beta]*GPbar + Cos[beta]*GP + Sin[beta]*Hbar - Sin[beta]*H)/(I Sqrt[2]),
451     phiu1 -> ( Sin[beta]*GP + Sin[beta]*GPbar + Cos[beta]*H + Cos[beta]*Hbar)/Sqrt[2],
452     phiu2 -> (Sin[beta]*GP - Sin[beta]*GPbar + Cos[beta]*H - Cos[beta]*Hbar)/(I Sqrt[2])};
453
454  (* Gauge-fixing functions *)
455  GF1     := Module[{mu}, del[B[mu]   , mu] - gp VectorizeU[-I/2 Phiu0].VectorizeU[Phiu] - gp VectorizeD[I/2 Phid0].VectorizeD[Phid] ];
456  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] ];
457  GF3[a_] := Module[{mu}, del[G[mu,a] , mu] ];
458  (* Gauge-fixing Lagrangian *)
459  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}];
460  LGF = OptimizeIndex[Expand[ExpandIndices[LGF, FlavorExpand->SU2W]]];
461
462  (* Ghost Lagrangians *)
463  LGh1 = -ghBbar.del[DC[ghB,mu],mu];
464  LGh2 = -ghWibar[kk].del[DC[ghWi[kk], mu], mu];
465  LGh3 = -ghGbar[kk].del[DC[ghG[kk],mu],mu];
466  genu := {-I/2 gp IdentityMatrix[2], -I/2 gw PauliSigma[1], -I/2 gw PauliSigma[2], -I/2 gw PauliSigma[3]};
467  gend := { I/2 gp IdentityMatrix[2], -I/2 gw PauliSigma[1], -I/2 gw PauliSigma[2], -I/2 gw PauliSigma[3]};
468  gh    = {ghB,    ghWi[1],    ghWi[2],    ghWi[3]};
469  ghbar = {ghBbar, ghWibar[1], ghWibar[2], ghWibar[3]};
470  LGhS = Sum[
471    -ghbar[[kk]].gh[[ll]] (VectorizeU[genu[[kk]].Phiu0].VectorizeU[genu[[ll]].(Phiu+Phiu0)] + VectorizeD[gend[[kk]].Phid0].VectorizeD[gend[[ll]].(Phid+Phid0)]),
472    {kk,1,4},{ll,1,4}];
473  LGh = ExpandIndices[LGh1+LGh2+LGh3+LGhS, FlavorExpand->SU2W] /.nrules;
474LGF+LGh];
475
476
477(* Collecting all the pieces together *)
478LSUSY := Block[{tmplag, nofi},
479  (* The lagrangian*)
480  tmplag=ToDirac[SolveEqMotionF[SolveEqMotionD[LVector+LChiral+LSuperW]]];
481  tmplag=ExpandIndices[tmplag + LSoft,FlavorExpand->True];
482
483  (* mass and kinetic terms *)
484  tmplag=tmplag-GetQuadraticTerms[tmplag];
485  tmplag=tmplag + LKin + LMass + LFeynmanGFix;
486
487  (* constant terms *)
488  nofi=tmplag /. {_?(FieldQ[#]===True&)[__]->0, _?(FieldQ[#]===True&) -> 0};
489
490  (* output *)
491  tmplag = Expand[tmplag-nofi];
492  Return[Select[tmplag, Length[GetFieldContent[#]] > 1 &]];
493];
494
495
496ComT[a_, b_, cc1_, cc2_] := Module[{ccp}, T[a, cc1, ccp] T[b, ccp, cc2] + T[b, cc1, ccp] T[a, ccp, cc2]];
497
498LCT := Block[{lg,lw,lb,ly, tmpLD},
499
500  lg= -Sqrt[2] I gs aS/(3 Pi) T[a,cc1,cc2] (QLsbar[ii,ff,cc1] gow[s1,a].QLw[s1,ii,ff,cc2] + URwbar[s1,ff,cc2].gowbar[s1,a] URs[ff,cc1] + DRwbar[s1,ff,cc2].gowbar[s1,a] DRs[ff,cc1]);
501  lw =  Sqrt[2] I gw aS/(6 Pi) Ta[a,ii1,ii2] (QLsbar[ii1,ff,cc] wow[s1,a].QLw[s1,ii2,ff,cc]);
502  lb = -Sqrt[2] I gp aS/(6 Pi) (-1/6 QLsbar[ii,ff,cc] bow[s1].QLw[s1,ii,ff,cc] -2/3 URwbar[s1,ff,cc].bowbar[s1] URs[ff,cc] + 1/3 DRwbar[s1,ff,cc].bowbar[s1] DRs[ff,cc]);
503  ly = yu[ff1,ff2] aS/(6 Pi) (QLs[1,ff2,cc] URw[sp,ff1,cc].huw[sp,2] - QLs[2,ff2,cc] URw[sp,ff1,cc].huw[sp,1] + URs[ff1,cc] QLw[sp,1,ff2,cc].huw[sp,2] - URs[ff1,cc] QLw[sp,2,ff2,cc].huw[sp,1]) -
504       yd[ff1,ff2] aS/(6 Pi) (QLs[1,ff2,cc] DRw[sp,ff1,cc].hdw[sp,2] - QLs[2,ff2,cc] DRw[sp,ff1,cc].hdw[sp,1] + DRs[ff1,cc] QLw[sp,1,ff2,cc].hdw[sp,2] - DRs[ff1,cc] QLw[sp,2,ff2,cc].hdw[sp,1]);
505
506  tmpLD = 1/2 gs^2 aS/(4 Pi) * ComT[a, b, cc1, cc2] * ComT[a, b, cc3, cc4] *
507     (URsbar[ff1, cc2] URs[ff1, cc1] + DRsbar[ff1, cc2] DRs[ff1, cc1] + QLsbar[ii1, ff1, cc1] QLs[ii1, ff1, cc2])*
508     (URsbar[ff2, cc4] URs[ff2, cc3] + DRsbar[ff2, cc4] DRs[ff2, cc3] + QLsbar[ii2, ff2, cc3] QLs[ii2, ff2, cc4]);
509
510  Return[ToDirac[tmpLD + lg + lw + lb + ly + HC[lg+lb+lw+ly]]];
511];
512
513