NLOModels: GGG.fr

File GGG.fr, 24.1 KB (added by valentin.hirschi, 6 days ago)

Feynrules model for the triple gluon field strength operator

Line 
1(***************************************************************************************************************)
2(******       This is the FeynRules mod-file for the Gluon self-interaction effective operator            ******)
3(******                                                                                                   ******)
4(******                                       Authors: V. Hirschi                                         ******)
5(******                                                                                                   ******)
6(***************************************************************************************************************)
7
8(* ************************** *)
9(* *****  Information   ***** *)
10(* ************************** *)
11M$ModelName = "Gluons effective operator";
12
13M$Information = {
14  Authors      -> {"V.Hirschi"},
15  Institutions -> {"SLAC"},
16  Emails       -> {"valentin.hirschi@gmai.com"}
17};
18
19FeynmanGauge = True;
20
21(* ************************** *)
22(* ***** NLO Variables ****** *)
23(******************************)
24
25FR$LoopSwitches = {{Gf, MW}};
26FR$RmDblExt = { ymb -> MB, ymc -> MC, ymdo -> MD, yme -> Me,
27   ymm -> MMU, yms -> MS, ymt -> MT, ymtau -> MTA, ymup -> MU};
28
29(* ************************** *)
30(* *****      vevs      ***** *)
31(* ************************** *)
32M$vevs = { {Phi[2],vev} };
33
34(* ************************** *)
35(* *****  Gauge groups  ***** *)
36(* ************************** *)
37M$GaugeGroups = {
38  U1Y  == {
39    Abelian          -> True, 
40    CouplingConstant -> g1,
41    GaugeBoson       -> B,
42    Charge           -> Y
43  },
44  SU2L == {
45    Abelian           -> False,
46    CouplingConstant  -> gw,
47    GaugeBoson        -> Wi,
48    StructureConstant -> Eps,
49    Representations   -> {Ta,SU2D},
50    Definitions       -> {Ta[a_,b_,c_]->PauliSigma[a,b,c]/2, FSU2L[i_,j_,k_]:> I Eps[i,j,k]}
51  },
52  SU3C == {
53    Abelian           -> False,
54    CouplingConstant  -> gs,
55    GaugeBoson        -> G,
56    StructureConstant -> f,
57    Representations   -> {T,Colour},
58    SymmetricTensor   -> dSUN
59  }
60};
61
62
63(* ************************** *)
64(* *****    Indices     ***** *)
65(* ************************** *)
66
67IndexRange[Index[SU2W      ]] = Unfold[Range[3]];
68IndexRange[Index[SU2D      ]] = Unfold[Range[2]];
69IndexRange[Index[Gluon     ]] = NoUnfold[Range[8]];
70IndexRange[Index[Colour    ]] = NoUnfold[Range[3]];
71IndexRange[Index[Generation]] = Range[3];
72
73IndexStyle[SU2W,       j];
74IndexStyle[SU2D,       k];
75IndexStyle[Gluon,      a];
76IndexStyle[Colour,     m];
77IndexStyle[Generation, f];
78
79
80(* ************************** *)
81(* *** Interaction orders *** *)
82(* ***  (as used by mg5)  *** *)
83(* ************************** *)
84
85M$InteractionOrderHierarchy = {
86  {QCD, 1},
87  {QED, 2},
88  {GGG, 1},
89  {DGDG, 1}
90};
91
92
93(* ************************** *)
94(* **** Particle classes **** *)
95(* ************************** *)
96M$ClassesDescription = {
97
98(* Gauge bosons: physical vector fields *)
99  V[1] == {
100    ClassName       -> A,
101    SelfConjugate   -> True, 
102    Mass            -> 0, 
103    Width           -> 0, 
104    ParticleName    -> "a",
105    PDG             -> 22,
106    PropagatorLabel -> "a",
107    PropagatorType  -> W,
108    PropagatorArrow -> None,
109    FullName        -> "Photon"
110  },
111  V[2] == {
112    ClassName       -> Z,
113    SelfConjugate   -> True,
114    Mass            -> {MZ, 91.1876},
115    Width           -> {WZ, 2.4952},
116    ParticleName    -> "Z",
117    PDG             -> 23,
118    PropagatorLabel -> "Z",
119    PropagatorType  -> Sine,
120    PropagatorArrow -> None,
121    FullName        -> "Z"
122  },
123  V[3] == {
124    ClassName        -> W,
125    SelfConjugate    -> False,
126    Mass             -> {MW, Internal},
127    Width            -> {WW, 2.085},
128    ParticleName     -> "W+",
129    AntiParticleName -> "W-",
130    QuantumNumbers   -> {Q -> 1},
131    PDG              -> 24,
132    PropagatorLabel  -> "W",
133    PropagatorType   -> Sine,
134    PropagatorArrow  -> Forward,
135    FullName         -> "W"
136  },
137  V[4] == {
138    ClassName        -> G,
139    SelfConjugate    -> True,
140    Indices          -> {Index[Gluon]},
141    Mass             -> 0,
142    Width            -> 0,
143    ParticleName     -> "g",
144    PDG              -> 21,
145    PropagatorLabel  -> "G",
146    PropagatorType   -> C,
147    PropagatorArrow  -> None,
148    FullName         -> "G"
149  },
150
151(* Ghosts: related to physical gauge bosons *)
152  U[1] == {
153    ClassName       -> ghA,
154    SelfConjugate   -> False,
155    Ghost           -> A,
156    QuantumNumbers  -> {GhostNumber -> 1},
157    Mass            -> 0,
158    Width           -> 0,
159    PropagatorLabel -> "uA",
160    PropagatorType  -> GhostDash,
161    PropagatorArrow -> Forward
162  },
163  U[2] == {
164    ClassName       -> ghZ,
165    SelfConjugate   -> False,
166    Ghost           -> Z,
167    QuantumNumbers  -> {GhostNumber -> 1},
168    Mass            -> {MZ,91.1876}, 
169    Width           -> {WZ, 2.4952},
170    PropagatorLabel -> "uZ",
171    PropagatorType  -> GhostDash,
172    PropagatorArrow -> Forward
173  },
174  U[31] == {
175    ClassName       -> ghWp,
176    SelfConjugate   -> False,
177    Ghost           -> W,
178    QuantumNumbers  -> {GhostNumber -> 1, Q -> 1},
179    Mass            -> {MW,Internal},
180    Width           -> {WW, 2.085},
181    PropagatorLabel -> "uWp",
182    PropagatorType  -> GhostDash,
183    PropagatorArrow -> Forward
184  },
185  U[32] == {
186    ClassName       -> ghWm,
187    SelfConjugate   -> False,
188    Ghost           -> Wbar,
189    QuantumNumbers  -> {GhostNumber -> 1, Q -> -1},
190    Mass            -> {MW,Internal},
191    Width           -> {WW, 2.085},
192    PropagatorLabel -> "uWm",
193    PropagatorType  -> GhostDash,
194    PropagatorArrow -> Forward
195  },
196  U[4] == {
197    ClassName       -> ghG,
198    SelfConjugate   -> False,
199    Indices         -> {Index[Gluon]},
200    Ghost           -> G,
201    PDG             -> 82,
202    QuantumNumbers  ->{GhostNumber -> 1},
203    Mass            -> 0,
204    Width           -> 0,
205    PropagatorLabel -> "uG",
206    PropagatorType  -> GhostDash,
207    PropagatorArrow -> Forward
208  },
209
210(* Gauge bosons: unphysical vector fields *)
211  V[11] == {
212    ClassName     -> B,
213    Unphysical    -> True,
214    SelfConjugate -> True,
215    Definitions   -> { B[mu_] -> -sw Z[mu]+cw A[mu]}
216  },
217  V[12] == {
218    ClassName     -> Wi,
219    Unphysical    -> True,
220    SelfConjugate -> True,
221    Indices       -> {Index[SU2W]},
222    FlavorIndex   -> SU2W,
223    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]}
224  },
225
226(* Ghosts: related to unphysical gauge bosons *)
227  U[11] == {
228    ClassName     -> ghB,
229    Unphysical    -> True,
230    SelfConjugate -> False,
231    Ghost         -> B,
232    Definitions   -> { ghB -> -sw ghZ + cw ghA}
233  },
234  U[12] == {
235    ClassName     -> ghWi,
236    Unphysical    -> True,
237    SelfConjugate -> False,
238    Ghost         -> Wi,
239    Indices       -> {Index[SU2W]},
240    FlavorIndex   -> SU2W,
241    Definitions   -> { ghWi[1] -> (ghWp+ghWm)/Sqrt[2], ghWi[2] -> (ghWm-ghWp)/(I*Sqrt[2]), ghWi[3] -> cw ghZ+sw ghA}
242  } ,
243
244(* Fermions: physical fields *)
245  F[1] == {
246    ClassName        -> vl,
247    ClassMembers     -> {ve,vm,vt},
248    Indices          -> {Index[Generation]},
249    FlavorIndex      -> Generation,
250    SelfConjugate    -> False,
251    Mass             -> 0,
252    Width            -> 0,
253    QuantumNumbers   -> {LeptonNumber -> 1},
254    PropagatorLabel  -> {"v", "ve", "vm", "vt"} ,
255    PropagatorType   -> S,
256    PropagatorArrow  -> Forward,
257    PDG              -> {12,14,16},
258    ParticleName     -> {"ve","vm","vt"},
259    AntiParticleName -> {"ve~","vm~","vt~"},
260    FullName         -> {"Electron-neutrino", "Mu-neutrino", "Tau-neutrino"}
261  },
262  F[2] == {
263    ClassName        -> l,
264    ClassMembers     -> {e, mu, ta},
265    Indices          -> {Index[Generation]},
266    FlavorIndex      -> Generation,
267    SelfConjugate    -> False,
268    Mass             -> {Ml, {Me,5.11*^-4}, {MMU,0.10566}, {MTA,1.777}},
269    Width            -> 0,
270    QuantumNumbers   -> {Q -> -1, LeptonNumber -> 1},
271    PropagatorLabel  -> {"l", "e", "mu", "ta"},
272    PropagatorType   -> Straight,
273    PropagatorArrow  -> Forward,
274    PDG              -> {11, 13, 15},
275    ParticleName     -> {"e-", "mu-", "ta-"},
276    AntiParticleName -> {"e+", "mu+", "ta+"},
277    FullName         -> {"Electron", "Muon", "Tau"}
278  },
279  F[3] == {
280    ClassName        -> uq,
281    ClassMembers     -> {u, c, t},
282    Indices          -> {Index[Generation], Index[Colour]},
283    FlavorIndex      -> Generation,
284    SelfConjugate    -> False,
285    Mass             -> {Mu, {MU, 2.55*^-3}, {MC,1.27}, {MT,172}},
286    Width            -> {0, 0, {WT,1.50833649}},
287    QuantumNumbers   -> {Q -> 2/3},
288    PropagatorLabel  -> {"uq", "u", "c", "t"},
289    PropagatorType   -> Straight,
290    PropagatorArrow  -> Forward,
291    PDG              -> {2, 4, 6},
292    ParticleName     -> {"u",  "c",  "t" },
293    AntiParticleName -> {"u~", "c~", "t~"},
294    FullName         -> {"u-quark", "c-quark", "t-quark"}
295  },
296  F[4] == {
297    ClassName        -> dq,
298    ClassMembers     -> {d, s, b},
299    Indices          -> {Index[Generation], Index[Colour]},
300    FlavorIndex      -> Generation,
301    SelfConjugate    -> False,
302    Mass             -> {Md, {MD,5.04*^-3}, {MS,0.101}, {MB,4.7}},
303    Width            -> 0,
304    QuantumNumbers   -> {Q -> -1/3},
305    PropagatorLabel  -> {"dq", "d", "s", "b"},
306    PropagatorType   -> Straight,
307    PropagatorArrow  -> Forward,
308    PDG              -> {1,3,5},
309    ParticleName     -> {"d",  "s",  "b" },
310    AntiParticleName -> {"d~", "s~", "b~"},
311    FullName         -> {"d-quark", "s-quark", "b-quark"}
312  },
313
314(* Fermions: unphysical fields *)
315  F[11] == {
316    ClassName      -> LL,
317    Unphysical     -> True,
318    Indices        -> {Index[SU2D], Index[Generation]},
319    FlavorIndex    -> SU2D,
320    SelfConjugate  -> False,
321    QuantumNumbers -> {Y -> -1/2},
322    Definitions    -> { LL[sp1_,1,ff_] :> Module[{sp2}, ProjM[sp1,sp2] vl[sp2,ff]], LL[sp1_,2,ff_] :> Module[{sp2}, ProjM[sp1,sp2] l[sp2,ff]] }
323  },
324  F[12] == {
325    ClassName      -> lR,
326    Unphysical     -> True,
327    Indices        -> {Index[Generation]},
328    FlavorIndex    -> Generation,
329    SelfConjugate  -> False,
330    QuantumNumbers -> {Y -> -1},
331    Definitions    -> { lR[sp1_,ff_] :> Module[{sp2}, ProjP[sp1,sp2] l[sp2,ff]] }
332  },
333  F[13] == {
334    ClassName      -> QL,
335    Unphysical     -> True,
336    Indices        -> {Index[SU2D], Index[Generation], Index[Colour]},
337    FlavorIndex    -> SU2D,
338    SelfConjugate  -> False,
339    QuantumNumbers -> {Y -> 1/6},
340    Definitions    -> {
341      QL[sp1_,1,ff_,cc_] :> Module[{sp2}, ProjM[sp1,sp2] uq[sp2,ff,cc]],
342      QL[sp1_,2,ff_,cc_] :> Module[{sp2,ff2}, CKM[ff,ff2] ProjM[sp1,sp2] dq[sp2,ff2,cc]] }
343  },
344  F[14] == {
345    ClassName      -> uR,
346    Unphysical     -> True,
347    Indices        -> {Index[Generation], Index[Colour]},
348    FlavorIndex    -> Generation,
349    SelfConjugate  -> False,
350    QuantumNumbers -> {Y -> 2/3},
351    Definitions    -> { uR[sp1_,ff_,cc_] :> Module[{sp2}, ProjP[sp1,sp2] uq[sp2,ff,cc]] }
352  },
353  F[15] == {
354    ClassName      -> dR,
355    Unphysical     -> True,
356    Indices        -> {Index[Generation], Index[Colour]},
357    FlavorIndex    -> Generation,
358    SelfConjugate  -> False,
359    QuantumNumbers -> {Y -> -1/3},
360    Definitions    -> { dR[sp1_,ff_,cc_] :> Module[{sp2}, ProjP[sp1,sp2] dq[sp2,ff,cc]] }
361  },
362
363(* Higgs: physical scalars  *)
364  S[1] == {
365    ClassName       -> H,
366    SelfConjugate   -> True,
367    Mass            -> {MH,125},
368    Width           -> {WH,0.00407},
369    PropagatorLabel -> "H",
370    PropagatorType  -> D,
371    PropagatorArrow -> None,
372    PDG             -> 25,
373    ParticleName    -> "H",
374    FullName        -> "H"
375  },
376
377(* Higgs: physical scalars  *)
378  S[2] == {
379    ClassName       -> G0,
380    SelfConjugate   -> True,
381    Goldstone       -> Z,
382    Mass            -> {MZ, 91.1876},
383    Width           -> {WZ, 2.4952},
384    PropagatorLabel -> "Go",
385    PropagatorType  -> D,
386    PropagatorArrow -> None,
387    PDG             -> 250,
388    ParticleName    -> "G0",
389    FullName        -> "G0"
390  },
391  S[3] == {
392    ClassName        -> GP,
393    SelfConjugate    -> False,
394    Goldstone        -> W,
395    Mass             -> {MW, Internal},
396    QuantumNumbers   -> {Q -> 1},
397    Width            -> {WW, 2.085},
398    PropagatorLabel  -> "GP",
399    PropagatorType   -> D,
400    PropagatorArrow  -> None,
401    PDG              -> 251,
402    ParticleName     -> "G+",
403    AntiParticleName -> "G-",
404    FullName         -> "GP"
405  },
406
407(* Higgs: unphysical scalars  *)
408  S[11] == {
409    ClassName      -> Phi,
410    Unphysical     -> True,
411    Indices        -> {Index[SU2D]},
412    FlavorIndex    -> SU2D,
413    SelfConjugate  -> False,
414    QuantumNumbers -> {Y -> 1/2},
415    Definitions    -> { Phi[1] -> -I GP, Phi[2] -> (vev + H + I G0)/Sqrt[2]  }
416  }
417};
418
419
420(* ************************** *)
421(* *****     Gauge      ***** *)
422(* *****   Parameters   ***** *)
423(* *****   (FeynArts)   ***** *)
424(* ************************** *)
425
426GaugeXi[ V[1]  ] = GaugeXi[A];
427GaugeXi[ V[2]  ] = GaugeXi[Z];
428GaugeXi[ V[3]  ] = GaugeXi[W];
429GaugeXi[ V[4]  ] = GaugeXi[G];
430GaugeXi[ S[1]  ] = 1;
431GaugeXi[ S[2]  ] = GaugeXi[Z];
432GaugeXi[ S[3]  ] = GaugeXi[W];
433GaugeXi[ U[1]  ] = GaugeXi[A];
434GaugeXi[ U[2]  ] = GaugeXi[Z];
435GaugeXi[ U[31] ] = GaugeXi[W];
436GaugeXi[ U[32] ] = GaugeXi[W];
437GaugeXi[ U[4]  ] = GaugeXi[G];
438
439
440(* ************************** *)
441(* *****   Parameters   ***** *)
442(* ************************** *)
443M$Parameters = {
444
445  (* External parameters *)
446  Kggg == {
447    ParameterType    -> External,
448    BlockName        -> BSMINPUTS,
449    OrderBlock       -> 2,
450    Value            -> 0.6,
451    InteractionOrder -> {GGG,1},
452    TeX              -> Subscript[K,ggg],
453    Description      -> "Coefficient of the GGG dim6 effective vertex"
454  },
455  Kdgdg == {
456    ParameterType    -> External,
457    BlockName        -> BSMINPUTS,
458    OrderBlock       -> 3,
459    Value            -> 0.6,
460    InteractionOrder -> {DGDG,1},
461    TeX              -> Subscript[K,dgdg],
462    Description      -> "Coefficient of the DGDG dim6 effective vertex"
463  },
464  Lambda == {
465    ParameterType    -> External,
466    BlockName        -> BSMINPUTS,
467    OrderBlock       -> 1,
468    Value            -> 1000.0,
469    Description      -> "Defining scale of the effective theory"
470  },
471  aEWM1 == {
472    ParameterType    -> External,
473    BlockName        -> SMINPUTS,
474    OrderBlock       -> 1,
475    Value            -> 127.9,
476    InteractionOrder -> {QED,-2},
477    Description      -> "Inverse of the EW coupling constant at the Z pole"
478  },
479  Gf == {
480    ParameterType    -> External,
481    BlockName        -> SMINPUTS,
482    OrderBlock       -> 2,
483    Value            -> 1.16637*^-5,
484    InteractionOrder -> {QED,2},
485    TeX              -> Subscript[G,f],
486    Description      -> "Fermi constant"
487  },
488  aS    == {
489    ParameterType    -> External,
490    BlockName        -> SMINPUTS,
491    OrderBlock       -> 3,
492    Value            -> 0.1184,
493    InteractionOrder -> {QCD,2},
494    TeX              -> Subscript[\[Alpha],s],
495    Description      -> "Strong coupling constant at the Z pole"
496  },
497  ymdo == {
498    ParameterType -> External,
499    BlockName     -> YUKAWA,
500    OrderBlock    -> 1,
501    Value         -> 5.04*^-3,
502    Description   -> "Down Yukawa mass"
503  },
504  ymup == {
505    ParameterType -> External,
506    BlockName     -> YUKAWA,
507    OrderBlock    -> 2,
508    Value         -> 2.55*^-3,
509    Description   -> "Up Yukawa mass"
510  },
511  yms == {
512    ParameterType -> External,
513    BlockName     -> YUKAWA,
514    OrderBlock    -> 3,
515    Value         -> 0.101,
516    Description   -> "Strange Yukawa mass"
517  },
518  ymc == {
519    ParameterType -> External,
520    BlockName     -> YUKAWA,
521    OrderBlock    -> 4,
522    Value         -> 1.27,
523    Description   -> "Charm Yukawa mass"
524  },
525  ymb == {
526    ParameterType -> External,
527    BlockName     -> YUKAWA,
528    OrderBlock    -> 5,
529    Value         -> 4.7,
530    Description   -> "Bottom Yukawa mass"
531  },
532  ymt == {
533    ParameterType -> External,
534    BlockName     -> YUKAWA,
535    OrderBlock    -> 6,
536    Value         -> 172,
537    Description   -> "Top Yukawa mass"
538  },
539  yme == {
540    ParameterType -> External,
541    BlockName     -> YUKAWA,
542    OrderBlock    -> 11,
543    Value         -> 5.11*^-4,
544    Description   -> "Electron Yukawa mass"
545  },
546  ymm == {
547    ParameterType -> External,
548    BlockName     -> YUKAWA,
549    OrderBlock    -> 13,
550    Value         -> 0.10566,
551    Description   -> "Muon Yukawa mass"
552  },
553  ymtau == {
554    ParameterType -> External,
555    BlockName     -> YUKAWA,
556    OrderBlock    -> 15,
557    Value         -> 1.777,
558    Description   -> "Tau Yukawa mass"
559  },
560  cabi == {
561    ParameterType -> External,
562    BlockName     -> CKMBLOCK,
563    OrderBlock    -> 1,
564    Value         -> 0.227736,
565    TeX           -> Subscript[\[Theta], c],
566    Description   -> "Cabibbo angle"
567  },
568
569  (* Internal Parameters *)
570  aEW == {
571    ParameterType    -> Internal,
572    Value            -> 1/aEWM1,
573    InteractionOrder -> {QED,2},
574    TeX              -> Subscript[\[Alpha], EW],
575    Description      -> "Electroweak coupling contant"
576  },
577  MW == {
578    ParameterType -> Internal,
579    Value         -> Sqrt[MZ^2/2+Sqrt[MZ^4/4-Pi/Sqrt[2]*aEW/Gf*MZ^2]],
580    TeX           -> Subscript[M,W],
581    Description   -> "W mass"
582  },
583  sw2 == {
584    ParameterType -> Internal,
585    Value         -> 1-(MW/MZ)^2,
586    Description   -> "Squared Sin of the Weinberg angle"
587  },
588  ee == {
589    ParameterType    -> Internal,
590    Value            -> Sqrt[4 Pi aEW],
591    InteractionOrder -> {QED,1},
592    TeX              -> e, 
593    Description      -> "Electric coupling constant"
594  },
595  cw == {
596    ParameterType -> Internal,
597    Value         -> Sqrt[1-sw2],
598    TeX           -> Subscript[c,w],
599    Description   -> "Cosine of the Weinberg angle"
600  },
601  sw == {
602    ParameterType -> Internal,
603    Value         -> Sqrt[sw2],
604    TeX           -> Subscript[s,w],
605    Description   -> "Sine of the Weinberg angle"
606  },
607  gw == {
608    ParameterType    -> Internal,
609    Definitions      -> {gw->ee/sw},
610    InteractionOrder -> {QED,1}, 
611    TeX              -> Subscript[g,w],
612    Description      -> "Weak coupling constant at the Z pole"
613  },
614  g1 == {
615    ParameterType    -> Internal,
616    Definitions      -> {g1->ee/cw},
617    InteractionOrder -> {QED,1}, 
618    TeX              -> Subscript[g,1],
619    Description      -> "U(1)Y coupling constant at the Z pole"
620  },
621  gs == {
622    ParameterType    -> Internal,
623    Value            -> Sqrt[4 Pi aS],
624    InteractionOrder -> {QCD,1}, 
625    TeX              -> Subscript[g,s],
626    ParameterName    -> G,
627    Description      -> "Strong coupling constant at the Z pole"
628  },
629  vev == {
630    ParameterType    -> Internal,
631    Value            -> 2*MW*sw/ee,
632    InteractionOrder -> {QED,-1},
633    Description      -> "Higgs vacuum expectation value"
634  },
635  lam == {
636    ParameterType    -> Internal,
637    Value            -> MH^2/(2*vev^2),
638    InteractionOrder -> {QED, 2},
639    Description      -> "Higgs quartic coupling"
640  },
641  muH == {
642    ParameterType -> Internal,
643    Value         -> Sqrt[vev^2 lam],
644    TeX           -> \[Mu],
645    Description   -> "Coefficient of the quadratic piece of the Higgs potential"
646  },
647  yl == {
648    ParameterType    -> Internal,
649    Indices          -> {Index[Generation], Index[Generation]},
650    Definitions      -> {yl[i_?NumericQ, j_?NumericQ] :> 0  /; (i =!= j)},
651    Value            -> {yl[1,1] -> Sqrt[2] yme / vev, yl[2,2] -> Sqrt[2] ymm / vev, yl[3,3] -> Sqrt[2] ymtau / vev},
652    InteractionOrder -> {QED, 1},
653    ParameterName    -> {yl[1,1] -> ye, yl[2,2] -> ym, yl[3,3] -> ytau},
654    TeX              -> Superscript[y, l],
655    Description      -> "Lepton Yukawa couplings"
656  },
657  yu == {
658    ParameterType    -> Internal,
659    Indices          -> {Index[Generation], Index[Generation]},
660    Definitions      -> {yu[i_?NumericQ, j_?NumericQ] :> 0  /; (i =!= j)},
661    Value            -> {yu[1,1] -> Sqrt[2] ymup/vev, yu[2,2] -> Sqrt[2] ymc/vev, yu[3,3] -> Sqrt[2] ymt/vev},
662    InteractionOrder -> {QED, 1},
663    ParameterName    -> {yu[1,1] -> yup, yu[2,2] -> yc, yu[3,3] -> yt},
664    TeX              -> Superscript[y, u],
665    Description      -> "Up-type Yukawa couplings"
666  },
667  yd == {
668    ParameterType    -> Internal,
669    Indices          -> {Index[Generation], Index[Generation]},
670    Definitions      -> {yd[i_?NumericQ, j_?NumericQ] :> 0  /; (i =!= j)},
671    Value            -> {yd[1,1] -> Sqrt[2] ymdo/vev, yd[2,2] -> Sqrt[2] yms/vev, yd[3,3] -> Sqrt[2] ymb/vev},
672    InteractionOrder -> {QED, 1},
673    ParameterName    -> {yd[1,1] -> ydo, yd[2,2] -> ys, yd[3,3] -> yb},
674    TeX              -> Superscript[y, d],
675    Description      -> "Down-type Yukawa couplings"
676  },
677(* N. B. : only Cabibbo mixing! *)
678  CKM == {
679    ParameterType -> Internal,
680    Indices       -> {Index[Generation], Index[Generation]},
681    Unitary       -> True,
682    Value         -> {CKM[1,1] -> Cos[cabi],  CKM[1,2] -> Sin[cabi], CKM[1,3] -> 0,
683                      CKM[2,1] -> -Sin[cabi], CKM[2,2] -> Cos[cabi], CKM[2,3] -> 0,
684                      CKM[3,1] -> 0,          CKM[3,2] -> 0,         CKM[3,3] -> 1},
685    TeX         -> Superscript[V,CKM],
686    Description -> "CKM-Matrix"}
687};
688
689(* ************************** *)
690(* *****   Lagrangian   ***** *)
691(* ************************** *)
692
693LGGG := Block[{mu,nu,rho, aa,bb,cc},
694   (Kggg/Lambda^2) gs f[aa,bb,cc] FS[G,mu,nu,aa] FS[G,nu,rho,bb] FS[G,rho,mu,cc]];
695
696GGGngluons := Module[{CoefList},
697                  CoefList = CoefficientList[Normal[Series[ExpandIndices[LGGG],{gs,0,4}]],gs];
698                                  Prepend[Table[CoefList[[i]]*(gs^(i-1)),{i,1,Length[CoefList]}],0]
699                          ];
700
701LDGDG := Block[{mu,nu,rho, aa},
702   (Kdgdg/Lambda^2) DC[FS[G,mu,nu,aa],mu] DC[FS[G,rho,nu,aa],rho] ];
703
704DGDGngluons := Module[{CoefList},
705                  CoefList = CoefficientList[Normal[Series[ExpandIndices[LDGDG],{gs,0,4}]],gs];
706                      Prepend[Table[CoefList[[i]]*(gs^(i-1)),{i,1,Length[CoefList]}],0]
707                   ]
708
709LGauge := Block[{mu,nu,ii,aa},
710  ExpandIndices[-1/4 FS[B,mu,nu] FS[B,mu,nu] - 1/4 FS[Wi,mu,nu,ii] FS[Wi,mu,nu,ii] - 1/4 FS[G,mu,nu,aa] FS[G,mu,nu,aa], FlavorExpand->SU2W]];
711
712LFermions := Block[{mu},
713  ExpandIndices[I*(
714    QLbar.Ga[mu].DC[QL, mu] + LLbar.Ga[mu].DC[LL, mu] + uRbar.Ga[mu].DC[uR, mu] + dRbar.Ga[mu].DC[dR, mu] + lRbar.Ga[mu].DC[lR, mu]),
715  FlavorExpand->{SU2W,SU2D}]/.{CKM[a_,b_] Conjugate[CKM[a_,c_]]->IndexDelta[b,c], CKM[b_,a_] Conjugate[CKM[c_,a_]]->IndexDelta[b,c]}];
716
717LHiggs := Block[{ii,mu, feynmangaugerules},
718  feynmangaugerules = If[Not[FeynmanGauge], {G0|GP|GPbar ->0}, {}];
719 
720  ExpandIndices[DC[Phibar[ii],mu] DC[Phi[ii],mu] + muH^2 Phibar[ii] Phi[ii] - lam Phibar[ii] Phi[ii] Phibar[jj] Phi[jj], FlavorExpand->{SU2D,SU2W}]/.feynmangaugerules
721 ];
722
723LYukawa := Block[{sp,ii,jj,cc,ff1,ff2,ff3,yuk,feynmangaugerules},
724  feynmangaugerules = If[Not[FeynmanGauge], {G0|GP|GPbar ->0}, {}];
725 
726  yuk = ExpandIndices[
727   -yd[ff2, ff3] CKM[ff1, ff2] QLbar[sp, ii, ff1, cc].dR [sp, ff3, cc] Phi[ii] -
728    yl[ff1, ff3] LLbar[sp, ii, ff1].lR [sp, ff3] Phi[ii] -
729    yu[ff1, ff2] QLbar[sp, ii, ff1, cc].uR [sp, ff2, cc] Phibar[jj] Eps[ii, jj], FlavorExpand -> SU2D];
730  yuk = yuk /. { CKM[a_, b_] Conjugate[CKM[a_, c_]] -> IndexDelta[b, c], CKM[b_, a_] Conjugate[CKM[c_, a_]] -> IndexDelta[b, c]};
731  yuk+HC[yuk]/.feynmangaugerules
732 ];
733
734LGhost := Block[{LGh1,LGhw,LGhs,LGhphi,mu, generators,gh,ghbar,Vectorize,phi1,phi2,togoldstones,doublet,doublet0},
735  (* Pure gauge piece *)       
736  LGh1 = -ghBbar.del[DC[ghB,mu],mu];
737  LGhw = -ghWibar.del[DC[ghWi,mu],mu];
738  LGhs = -ghGbar.del[DC[ghG,mu],mu];
739
740  (* Scalar pieces: see Peskin pages 739-742 *)
741  (* phi1 and phi2 are the real degrees of freedom of GP *)
742  (* Vectorize transforms a doublet in a vector in the phi-basis, i.e. the basis of real degrees of freedom *)
743  gh    = {ghB, ghWi[1], ghWi[2], ghWi[3]};
744  ghbar = {ghBbar, ghWibar[1], ghWibar[2], ghWibar[3]};
745  generators = {-I/2 g1 IdentityMatrix[2], -I/2 gw PauliSigma[1], -I/2 gw PauliSigma[2], -I/2 gw PauliSigma[3]};
746  doublet = Expand[{(-I phi1 - phi2)/Sqrt[2], Phi[2]} /. MR$Definitions /. vev -> 0];
747  doublet0 = {0, vev/Sqrt[2]};
748  Vectorize[{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}];
749  togoldstones := {phi1 -> (GP + GPbar)/Sqrt[2], phi2 -> (-GP + GPbar)/(I Sqrt[2])};
750  LGhphi=Plus@@Flatten[Table[-ghbar[[kkk]].gh[[lll]] Vectorize[generators[[kkk]].doublet0].Vectorize[generators[[lll]].(doublet+doublet0)],{kkk,4},{lll,4}]] /.togoldstones;
751
752ExpandIndices[ LGhs + If[FeynmanGauge, LGh1 + LGhw + LGhphi,0], FlavorExpand->SU2W]];
753
754LSM:= LGauge + LFermions + LHiggs + LYukawa + LGhost;
755
756LTOT:= LSM + LGGG + LDGDG