FourthGeneration: 4Gen.fr

File 4Gen.fr, 22.7 KB (added by claudeduhr, 8 years ago)

4th generation model file

Line 
1(***************************************************************************************************************)
2(******                       This is the FeynRules mod-file for the 4th generation model                 ******)
3(******                                                                                                   ******)
4(******     Authors: C. Duhr                                                                              ******)
5(******                                                                                                   ******)
6(****** Choose whether Feynman gauge is desired.                                                          ******)
7(****** If set to False, unitary gauge is assumed.                                                          ****)
8(****** Feynman gauge is especially useful for CalcHEP/CompHEP where the calculation is 10-100 times faster. ***)
9(****** Feynman gauge is not supported in MadGraph and Sherpa.                                              ****)
10(***************************************************************************************************************)
11
12
13(*
14   This model is based on the SM implmentation of FeynRules,
15   and basically obtained by just increasing the range of the Index of type Generation from 3 to 4
16*)
17
18
19
20M$ModelName = "4th_Generation_Complex_CKM";
21
22
23
24M$Information = {Authors -> {"C. Duhr"},
25             Version -> "1.1",
26             Date -> "02. 11. 2010",
27             Institutions -> {"IPPP, Durham"},
28             Emails -> {"claude.duhr@durham.ac.uk"}};
29
30(*V1.1 - Fixed yukawa couplings in Feynman gauge.
31        Changed yd[n] CKM[n,m] to yd[m] CKM[n,m].
32        Changed yu[n] Conjugate[CKM[m,n]] to yu[m] Conjugate[CKM[m,n]].
33*)
34
35FeynmanGauge = False;
36
37
38(******* Index definitions ********)
39
40IndexRange[ Index[Generation] ] = Range[3]
41
42IndexRange[ Index[QuarkGeneration] ] = Range[4]
43
44IndexRange[ Index[Colour] ] = NoUnfold[Range[3]]
45
46IndexRange[ Index[Gluon] ] = NoUnfold[Range[8]]
47
48IndexRange[ Index[SU2W] ] = Unfold[Range[3]]
49
50
51IndexStyle[Colour, i]
52
53IndexStyle[Generation, f]
54
55IndexStyle[QuarkGeneration, q]
56
57IndexStyle[Gluon ,a]
58
59IndexStyle[SU2W ,k]
60
61
62(******* Gauge parameters (for FeynArts) ********)
63
64GaugeXi[ V[1] ] = GaugeXi[A];
65GaugeXi[ V[2] ] = GaugeXi[Z];
66GaugeXi[ V[3] ] = GaugeXi[W];
67GaugeXi[ V[4] ] = GaugeXi[G];
68GaugeXi[ S[1] ] = 1;
69GaugeXi[ S[2] ] = GaugeXi[Z];
70GaugeXi[ S[3] ] = GaugeXi[W];
71GaugeXi[ U[1] ] = GaugeXi[A];
72GaugeXi[ U[2] ] = GaugeXi[Z];
73GaugeXi[ U[31] ] = GaugeXi[W];
74GaugeXi[ U[32] ] = GaugeXi[W];
75GaugeXi[ U[4] ] = GaugeXi[G];
76
77
78(****************  Parameters *************)
79
80M$Parameters = {
81
82  (* External parameters *)
83
84  \[Alpha]EWM1== {
85        ParameterType -> External,
86        BlockName -> SMINPUTS,
87        ParameterName -> aEWM1,
88        InteractionOrder -> {QED, -2},
89        Value -> 127.9,
90        Description -> "Inverse of the electroweak coupling constant"},
91
92  Gf == {
93        ParameterType -> External,
94        BlockName -> SMINPUTS,
95        TeX -> Subscript[G, f],
96        InteractionOrder -> {QED, 2},
97        Value -> 1.16639 * 10^(-5),
98        Description -> "Fermi constant"},
99
100  \[Alpha]S == {
101        ParameterType -> External,
102        BlockName -> SMINPUTS,
103        TeX -> Subscript[\[Alpha], s],
104        ParameterName -> aS,
105        InteractionOrder -> {QCD, 2},
106        Value -> 0.1172,
107        Description -> "Strong coupling constant at the Z pole."},
108
109
110  ymc == {
111        ParameterType -> External,
112        BlockName -> YUKAWA,
113        Value -> 1.42,
114        OrderBlock -> {4},
115        Description -> "Charm Yukawa mass"},
116
117 ymb == {
118        ParameterType -> External,
119        BlockName -> YUKAWA,
120        Value -> 4.7,
121        OrderBlock -> {5},
122        Description -> "Bottom Yukawa mass"},
123
124 ymbp == {
125        ParameterType -> External,
126        BlockName -> YUKAWA,
127        Value -> 500,
128        OrderBlock -> {7},
129        Description -> "Bottom-prime Yukawa mass"},
130
131  ymt == {
132        ParameterType -> External,
133        BlockName -> YUKAWA,
134        Value -> 174.3,
135        OrderBlock -> {6},
136        Description -> "Top Yukawa mass"},
137
138  ymtp == {
139        ParameterType -> External,
140        BlockName -> YUKAWA,
141        Value -> 700,
142        OrderBlock -> {8},
143        Description -> "Top-prime Yukawa mass"},
144
145  ymtau == {
146        ParameterType -> External,
147        BlockName -> YUKAWA,
148        Value -> 1.777,
149        OrderBlock -> {15},
150        Description -> "Tau Yukawa mass"},
151
152
153   (* Internal Parameters *)
154
155  \[Alpha]EW == {
156        ParameterType -> Internal,
157        Value -> 1/\[Alpha]EWM1,
158        TeX -> Subscript[\[Alpha], EW],
159        ParameterName -> aEW,
160        InteractionOrder -> {QED, 2},
161        Description -> "Electroweak coupling contant"},
162
163
164  MW == {
165        ParameterType -> Internal,
166        Value -> Sqrt[MZ^2/2+Sqrt[MZ^4/4-Pi/Sqrt[2]*\[Alpha]EW/Gf*MZ^2]],
167        TeX  -> Subscript[M, W],
168        Description -> "W mass"},
169
170  sw2 == {
171        ParameterType -> Internal,
172        Value -> 1-(MW/MZ)^2,
173        Description -> "Squared Sin of the Weinberg angle"},
174
175   ee == {
176        TeX -> e,
177        ParameterType -> Internal,
178        Value -> Sqrt[4 Pi \[Alpha]EW],
179        InteractionOrder -> {QED, 1},
180        Description -> "Electric coupling constant"},
181
182   cw == {
183        TeX -> Subscript[c, w],
184        ParameterType -> Internal,
185        Value -> Sqrt[1 - sw2],
186        Description -> "Cos of the Weinberg angle"}, 
187
188   sw == {
189        TeX -> Subscript[s, w],
190        ParameterType -> Internal,
191        Value -> Sqrt[sw2],
192        Description -> "Sin of the Weinberg angle"}, 
193
194   gw == {
195        TeX -> Subscript[g, w],
196        ParameterType -> Internal,
197        Value -> ee / sw,
198        InteractionOrder -> {QED, 1},
199        Description -> "Weak coupling constant"},
200
201   g1 == {
202        TeX -> Subscript[g, 1],
203        ParameterType -> Internal,
204        Value -> ee / cw,
205        InteractionOrder -> {QED, 1},
206        Description -> "U(1)Y coupling constant"},
207
208   gs == {
209        TeX -> Subscript[g, s],
210        ParameterType -> Internal,
211        Value -> Sqrt[4 Pi \[Alpha]S],
212        InteractionOrder -> {QCD, 1},
213        ParameterName -> G,
214        Description -> "Strong coupling constant"},
215
216
217   v == {
218        ParameterType -> Internal,
219        Value -> 2*MW*sw/ee,
220        InteractionOrder -> {QED, -1},
221        Description -> "Higgs VEV"},
222
223   \[Lambda] == {
224        ParameterType -> Internal,
225        Value -> MH^2/(2*v^2),
226        InteractionOrder -> {QED, 2},
227        ParameterName -> lam,
228        Description -> "Higgs quartic coupling"},
229
230   muH == {
231        ParameterType -> Internal,
232        Value -> Sqrt[v^2 \[Lambda]],
233        TeX -> \[Mu],
234        Description -> "Coefficient of the quadratic piece of the Higgs potential"},
235
236
237   yl == {
238        TeX -> Superscript[y, l],
239        Indices -> {Index[Generation]},
240        AllowSummation -> True,
241        ParameterType -> Internal,
242        Value -> {yl[1] -> 0, yl[2] -> 0, yl[3] -> Sqrt[2] ymtau / v},
243        ParameterName -> {yl[1] -> ye, yl[2] -> ym, yl[3] -> ytau},
244        InteractionOrder -> {QED, 1},
245        ComplexParameter -> False,
246        Description -> "Lepton Yukawa coupling"},
247
248   yu == {
249        TeX -> Superscript[y, u],
250        Indices -> {Index[QuarkGeneration]},
251        AllowSummation -> True,
252        ParameterType -> Internal,
253        Value -> {yu[1] -> 0, yu[2] -> Sqrt[2] ymc / v, yu[3] -> Sqrt[2] ymt / v, yu[4] -> Sqrt[2] ymtp / v},
254        ParameterName -> {yu[1] -> yup, yu[2] -> yc, yu[3] -> yt, yu[4] -> ytp},
255        InteractionOrder -> {QED, 1},
256        ComplexParameter -> False,
257        Description -> "U-quark Yukawa coupling"},
258
259   yd == {
260        TeX -> Superscript[y, d],
261        Indices -> {Index[QuarkGeneration]},
262        AllowSummation -> True,
263        ParameterType -> Internal,
264        Value -> {yd[1] -> 0, yd[2] -> 0, yd[3] -> Sqrt[2] ymb / v, yd[4] -> Sqrt[2] ymbp / v},
265        ParameterName -> {yd[1] -> ydo, yd[2] -> ys, yd[3] -> yb,  yd[4] -> ybp},
266        InteractionOrder -> {QED, 1},
267        ComplexParameter -> False,
268        Description -> "D-quark Yukawa coupling"},
269
270(* N. B. : only Cabibbo mixing! *)
271
272
273
274  RCKM == {
275       ParameterType -> External,
276       Indices -> {Index[QuarkGeneration], Index[QuarkGeneration]},
277       BlockName -> RCKM,
278       ComplexParameter -> False,
279       Value  ->  {RCKM[1,1] :> 1,
280                   RCKM[1,2] :> 0,
281                   RCKM[1,3] :> 0,
282                   RCKM[1,4] :> 0,
283                   RCKM[2,1] :> 0,
284                   RCKM[2,2] :> 0.99995,
285                   RCKM[2,3] :> 0,
286                   RCKM[2,4] :> 0.01,
287                   RCKM[3,1] :> 0,
288                   RCKM[3,2] :> -0.001,
289                   RCKM[3,3] :> 0.995,
290                   RCKM[3,4] :> 0.1,
291                   RCKM[4,1] :> 0,
292                   RCKM[4,2] :> -0.01,
293                   RCKM[4,3] :> -0.1,
294                   RCKM[4,4] :> 0.99495},
295       Description -> "Real Part of the CKM matrix"},
296
297  ICKM == {
298       ParameterType -> External,
299       Indices -> {Index[QuarkGeneration], Index[QuarkGeneration]},
300       BlockName -> ICKM,
301       ComplexParameter -> False,
302       Value  ->  {ICKM[1,1] :> 0,
303                   ICKM[1,2] :> 0,
304                   ICKM[1,3] :> 0,
305                   ICKM[1,4] :> 0,
306                   ICKM[2,1] :> 0,
307                   ICKM[2,2] :> 0,
308                   ICKM[2,3] :> 0,
309                   ICKM[2,4] :> 0,
310                   ICKM[3,1] :> 0,
311                   ICKM[3,2] :> 0,
312                   ICKM[3,3] :> 0,
313                   ICKM[3,4] :> 0,
314                   ICKM[4,1] :> 0,
315                   ICKM[4,2] :> 0,
316                   ICKM[4,3] :> 0,
317                   ICKM[4,4] :> 0},
318       Description -> "Imaginary Part of the CKM matrix"},
319         
320
321
322  CKM == {
323       Indices -> {Index[QuarkGeneration], Index[QuarkGeneration]},
324       Unitary -> True,
325       Value -> {CKM[i_,j_] :> RCKM[i,j] + I ICKM[i,j]},
326       Description -> "CKM-Matrix"}
327}
328
329
330(************** Gauge Groups ******************)
331
332M$GaugeGroups = {
333
334  U1Y == {
335        Abelian -> True,
336        GaugeBoson -> B,
337        Charge -> Y,
338        CouplingConstant -> g1},
339
340  SU2L == {
341        Abelian -> False,
342        GaugeBoson -> Wi,
343        StructureConstant -> Eps,
344        CouplingConstant -> gw},
345
346  SU3C == {
347        Abelian -> False,
348        GaugeBoson -> G,
349        StructureConstant -> f,
350        SymmetricTensor -> dSUN,
351        Representations -> {T, Colour},
352        CouplingConstant -> gs}
353}
354
355(********* Particle Classes **********)
356
357M$ClassesDescription = {
358
359(********** Fermions ************)
360        (* Leptons (neutrino): I_3 = +1/2, Q = 0 *)
361  F[1] == {
362        ClassName -> vl,
363        ClassMembers -> {ve,vm,vt},
364        FlavorIndex -> Generation,
365        SelfConjugate -> False,
366        Indices -> {Index[Generation]},
367        Mass -> 0,
368        Width -> 0,
369        QuantumNumbers -> {LeptonNumber -> 1},
370        PropagatorLabel -> {"v", "ve", "vm", "vt"} ,
371        PropagatorType -> S,
372        PropagatorArrow -> Forward,
373        PDG -> {12,14,16},
374        FullName -> {"Electron-neutrino", "Mu-neutrino", "Tau-neutrino"} },
375
376        (* Leptons (electron): I_3 = -1/2, Q = -1 *)
377  F[2] == {
378        ClassName -> l,
379        ClassMembers -> {e, m, tt},
380        FlavorIndex -> Generation,
381        SelfConjugate -> False,
382        Indices -> {Index[Generation]},
383        Mass -> {Ml, {Me, 5.11 * 10^(-4)}, {MM, 0.10566}, {MTA, 1.777}},
384        Width -> 0,
385        QuantumNumbers -> {Q -> -1, LeptonNumber -> 1},
386        PropagatorLabel -> {"l", "e", "m", "tt"},
387        PropagatorType -> Straight,
388        ParticleName -> {"e-", "m-", "tt-"},
389        AntiParticleName -> {"e+", "m+", "tt+"},
390        PropagatorArrow -> Forward,
391        PDG -> {11, 13, 15},
392        FullName -> {"Electron", "Muon", "Tau"} },
393
394        (* Quarks (u): I_3 = +1/2, Q = +2/3 *)
395  F[3] == {
396        ClassMembers -> {u, c, t, tp},
397        ClassName -> uq,
398        FlavorIndex -> QuarkGeneration,
399        SelfConjugate -> False,
400        Indices -> {Index[QuarkGeneration], Index[Colour]},
401        Mass -> {Mu, {MU, 2.55*10^(-3)}, {MC, 1.42}, {MT, 172}, {MTp, 700}},
402        Width -> {0, 0, {WT, 1.4516}, {WTp, 14.109}},
403        QuantumNumbers -> {Q -> 2/3},
404        PropagatorLabel -> {"uq", "u", "c", "t", "tp"},
405        PropagatorType -> Straight,
406        PropagatorArrow -> Forward,
407        PDG -> {2, 4, 6, 8},
408        FullName -> {"u-quark", "c-quark", "t-quark", "t-prime-quark"}},
409
410        (* Quarks (d): I_3 = -1/2, Q = -1/3 *)
411  F[4] == {
412        ClassMembers -> {d, s, b, bp},
413        ClassName -> dq,
414        FlavorIndex -> QuarkGeneration,
415        SelfConjugate -> False,
416        Indices -> {Index[QuarkGeneration], Index[Colour]},
417        Mass -> {Md, {MD,  5.04*10^(-3)}, {MS, 0.104}, {MB, 4.7}, {MBp, 500}},
418        Width -> {0,0,0,{WBp,0.28454}},
419        QuantumNumbers -> {Q -> -1/3},
420        PropagatorLabel -> {"dq", "d", "s", "b", "bp"},
421        PropagatorType -> Straight,
422        PropagatorArrow -> Forward,
423        PDG -> {1,3,5,7},
424        FullName -> {"d-quark", "s-quark", "b-quark", "b-prime-quark"} },
425
426(********** Ghosts **********)
427        U[1] == {
428       ClassName -> ghA,
429       SelfConjugate -> False,
430       Indices -> {},
431       Ghost -> A,
432       Mass -> 0,
433       QuantumNumbers -> {GhostNumber -> 1},
434       PropagatorLabel -> uA,
435       PropagatorType -> GhostDash,
436       PropagatorArrow -> Forward},
437
438        U[2] == {
439       ClassName -> ghZ,
440       SelfConjugate -> False,
441       Indices -> {},
442       Mass -> {MZ, 91.188},
443       Ghost -> Z,
444       QuantumNumbers -> {GhostNumber -> 1},
445       PropagatorLabel -> uZ,
446       PropagatorType -> GhostDash,
447       PropagatorArrow -> Forward},
448
449        U[31] == {
450       ClassName -> ghWp,
451       SelfConjugate -> False,
452       Indices -> {},
453       Mass -> {MW, Internal},
454       Ghost -> W,
455       QuantumNumbers -> {Q-> 1, GhostNumber -> 1},
456       PropagatorLabel -> uWp,
457       PropagatorType -> GhostDash,
458       PropagatorArrow -> Forward},
459
460   U[32] == {
461       ClassName -> ghWm,
462       SelfConjugate -> False,
463       Indices -> {},
464       Mass -> {MW, Internal},
465       Ghost -> Wbar,
466       QuantumNumbers -> {Q-> -1, GhostNumber -> 1},
467       PropagatorLabel -> uWm,
468       PropagatorType -> GhostDash,
469       PropagatorArrow -> Forward},
470
471        U[4] == {
472       ClassName -> ghG,
473       SelfConjugate -> False,
474       Indices -> {Index[Gluon]},
475       Ghost -> G,
476       Mass -> 0,
477       QuantumNumbers -> {GhostNumber -> 1},
478       PropagatorLabel -> uG,
479       PropagatorType -> GhostDash,
480       PropagatorArrow -> Forward},
481
482        U[5] == {
483        ClassName -> ghWi,
484        Unphysical -> True,
485        Definitions -> {ghWi[1] -> (ghWp + ghWm)/Sqrt[2],
486                        ghWi[2] -> (ghWm - ghWp)/Sqrt[2]/I,
487                        ghWi[3] -> cw ghZ + sw ghA},
488        SelfConjugate -> False,
489        Ghost -> Wi,
490        Indices -> {Index[SU2W]},
491        FlavorIndex -> SU2W},
492
493        U[6] == {
494        ClassName -> ghB,
495        SelfConjugate -> False,
496        Definitions -> {ghB -> -sw ghZ + cw ghA},
497        Indices -> {},
498        Ghost -> B,
499        Unphysical -> True},
500
501(************ Gauge Bosons ***************)
502        (* Gauge bosons: Q = 0 *)
503  V[1] == {
504        ClassName -> A,
505        SelfConjugate -> True,
506        Indices -> {},
507        Mass -> 0,
508        Width -> 0,
509        PropagatorLabel -> "a",
510        PropagatorType -> W,
511        PropagatorArrow -> None,
512        PDG -> 22,
513        FullName -> "Photon" },
514
515  V[2] == {
516        ClassName -> Z,
517        SelfConjugate -> True,
518        Indices -> {},
519        Mass -> {MZ, 91.188},
520        Width -> {WZ, 2.44140351},
521        PropagatorLabel -> "Z",
522        PropagatorType -> Sine,
523        PropagatorArrow -> None,
524        PDG -> 23,
525        FullName -> "Z" },
526
527        (* Gauge bosons: Q = -1 *)
528  V[3] == {
529        ClassName -> W,
530        SelfConjugate -> False,
531        Indices -> {},
532        Mass -> {MW, Internal},
533        Width -> {WW, 2.04759951},
534        QuantumNumbers -> {Q -> 1},
535        PropagatorLabel -> "W",
536        PropagatorType -> Sine,
537        PropagatorArrow -> Forward,
538        ParticleName ->"W+",
539        AntiParticleName ->"W-",
540        PDG -> 24,
541        FullName -> "W" },
542
543V[4] == {
544        ClassName -> G,
545        SelfConjugate -> True,
546        Indices -> {Index[Gluon]},
547        Mass -> 0,
548        Width -> 0,
549        PropagatorLabel -> G,
550        PropagatorType -> C,
551        PropagatorArrow -> None,
552        PDG -> 21,
553        FullName -> "G" },
554
555V[5] == {
556        ClassName -> Wi,
557        Unphysical -> True,
558        Definitions -> {Wi[mu_, 1] -> (W[mu] + Wbar[mu])/Sqrt[2],
559                        Wi[mu_, 2] -> (Wbar[mu] - W[mu])/Sqrt[2]/I,
560                        Wi[mu_, 3] -> cw Z[mu] + sw A[mu]},
561        SelfConjugate -> True,
562        Indices -> {Index[SU2W]},
563        FlavorIndex -> SU2W,
564        Mass -> 0,
565        PDG -> {1,2,3}},
566
567V[6] == {
568        ClassName -> B,
569        SelfConjugate -> True,
570        Definitions -> {B[mu_] -> -sw Z[mu] + cw A[mu]},
571        Indices -> {},
572        Mass -> 0,
573        Unphysical -> True},
574
575
576(************ Scalar Fields **********)
577        (* physical Higgs: Q = 0 *)
578  S[1] == {
579        ClassName -> H,
580        SelfConjugate -> True,
581        Mass -> {MH, 120},
582        Width -> {WH, 0.00575308848},
583        PropagatorLabel -> "H",
584        PropagatorType -> D,
585        PropagatorArrow -> None,
586        PDG -> 25,
587        TeXParticleName -> "\\phi",
588        TeXClassName -> "\\phi",
589        FullName -> "H" },
590
591S[2] == {
592        ClassName -> phi,
593        SelfConjugate -> True,
594        Mass -> {MZ, 91.188},
595        Width -> Wphi,
596        PropagatorLabel -> "Phi",
597        PropagatorType -> D,
598        PropagatorArrow -> None,
599        ParticleName ->"phi0",
600        PDG -> 250,
601        FullName -> "Phi",
602        Goldstone -> Z },
603
604S[3] == {
605        ClassName -> phi2,
606        SelfConjugate -> False,
607        Mass -> {MW, Internal},
608        Width -> Wphi2,
609        PropagatorLabel -> "Phi2",
610        PropagatorType -> D,
611        PropagatorArrow -> None,
612        ParticleName ->"phi+",
613        AntiParticleName ->"phi-",
614        PDG -> 251,
615        FullName -> "Phi2",
616        TeXClassName -> "\\phi^+",
617        TeXParticleName -> "\\phi^+",
618        TeXAntiParticleName -> "\\phi^-",
619        Goldstone -> W,
620        QuantumNumbers -> {Q -> 1}}
621}
622
623
624
625
626(*****************************************************************************************)
627
628(* SM Lagrangian *)
629
630(******************** Gauge F^2 Lagrangian terms*************************)
631(*Sign convention from Lagrangian in between Eq. (A.9) and Eq. (A.10) of Peskin & Schroeder.*)
632 LGauge = -1/4 (del[Wi[nu, i1], mu] - del[Wi[mu, i1], nu] + gw Eps[i1, i2, i3] Wi[mu, i2] Wi[nu, i3])*
633                                        (del[Wi[nu, i1], mu] - del[Wi[mu, i1], nu] + gw Eps[i1, i4, i5] Wi[mu, i4] Wi[nu, i5]) -
634       
635        1/4 (del[B[nu], mu] - del[B[mu], nu])^2 -
636       
637        1/4 (del[G[nu, a1], mu] - del[G[mu, a1], nu] + gs f[a1, a2, a3] G[mu, a2] G[nu, a3])*
638                 (del[G[nu, a1], mu] - del[G[mu, a1], nu] + gs f[a1, a4, a5] G[mu, a4] G[nu, a5]);
639
640
641(********************* Fermion Lagrangian terms*************************)
642(*Sign convention from Lagrangian in between Eq. (A.9) and Eq. (A.10) of Peskin & Schroeder.*)
643 LFermions = Module[{Lkin, LQCD, LEWleft, LEWright},
644
645    Lkin = I uqbar.Ga[mu].del[uq, mu] +
646        I dqbar.Ga[mu].del[dq, mu] +
647        I lbar.Ga[mu].del[l, mu] +
648        I vlbar.Ga[mu].del[vl, mu];
649
650    LQCD = gs (uqbar.Ga[mu].T[a].uq +
651        dqbar.Ga[mu].T[a].dq)G[mu, a];
652
653    LBright =
654     -2ee/cw B[mu]/2 lbar.Ga[mu].ProjP.l +           (*Y_lR=-2*)
655        4ee/3/cw B[mu]/2 uqbar.Ga[mu].ProjP.uq -       (*Y_uR=4/3*)
656        2ee/3/cw B[mu]/2 dqbar.Ga[mu].ProjP.dq;        (*Y_dR=-2/3*)
657
658    LBleft =
659     -ee/cw B[mu]/2 vlbar.Ga[mu].ProjM.vl -          (*Y_LL=-1*)
660        ee/cw B[mu]/2 lbar.Ga[mu].ProjM.l  +           (*Y_LL=-1*)
661        ee/3/cw B[mu]/2 uqbar.Ga[mu].ProjM.uq +        (*Y_QL=1/3*)
662        ee/3/cw B[mu]/2 dqbar.Ga[mu].ProjM.dq ;        (*Y_QL=1/3*)
663       
664        LWleft = ee/sw/2(
665           vlbar.Ga[mu].ProjM.vl Wi[mu, 3] -              (*sigma3 = ( 1   0 )*)
666        lbar.Ga[mu].ProjM.l Wi[mu, 3] +                (*         ( 0  -1 )*)
667       
668        Sqrt[2] vlbar.Ga[mu].ProjM.l W[mu] +
669        Sqrt[2] lbar.Ga[mu].ProjM.vl Wbar[mu]+
670       
671        uqbar.Ga[mu].ProjM.uq Wi[mu, 3] -              (*sigma3 = ( 1   0 )*)
672        dqbar.Ga[mu].ProjM.dq Wi[mu, 3] +              (*         ( 0  -1 )*)
673       
674        Sqrt[2] uqbar.Ga[mu].ProjM.CKM.dq W[mu] +
675        Sqrt[2] dqbar.Ga[mu].ProjM.HC[CKM].uq Wbar[mu]
676        );
677
678    Lkin + LQCD + LBright + LBleft + LWleft];
679
680(******************** Higgs Lagrangian terms****************************)
681 Phi := If[FeynmanGauge, {-I phi2, (v + H + I phi)/Sqrt[2]}, {0, (v + H)/Sqrt[2]}];
682 Phibar := If[FeynmanGauge, {I phi2bar, (v + H - I phi)/Sqrt[2]} ,{0, (v + H)/Sqrt[2]}];
683 
684
685   
686 LHiggs := Block[{PMVec, WVec, Dc, Dcbar, Vphi},
687   
688    PMVec = Table[PauliSigma[i], {i, 3}];   
689    Wvec[mu_] := {Wi[mu, 1], Wi[mu, 2], Wi[mu, 3]};
690
691        (*Y_phi=1*)
692    Dc[f_, mu_] := I del[f, mu] + ee/cw B[mu]/2 f + ee/sw/2 (Wvec[mu].PMVec).f;
693    Dcbar[f_, mu_] := -I del[f, mu] + ee/cw B[mu]/2 f + ee/sw/2 f.(Wvec[mu].PMVec);
694
695    Vphi[Phi_, Phibar_] := -muH^2 Phibar.Phi + \[Lambda] (Phibar.Phi)^2;
696
697    (Dcbar[Phibar, mu]).Dc[Phi, mu] - Vphi[Phi, Phibar]];
698   
699
700(*************** Yukawa Lagrangian***********************)
701LYuk := If[FeynmanGauge,
702
703      Module[{s,r,n,m,i},                                                                        -
704              yd[m] CKM[n,m]     uqbar[s,n,i].ProjP[s,r].dq[r,m,i] (-I phi2)              -
705              yd[n]              dqbar[s,n,i].ProjP[s,r].dq[r,n,i] (v+H +I phi)/Sqrt[2]   -
706         
707              yu[n]              uqbar[s,n,i].ProjP[s,r].uq[r,n,i] (v+H -I phi)/Sqrt[2]   + (*This sign from eps matrix*)       
708              yu[m] Conjugate[CKM[m,n]] dqbar[s,n,i].ProjP[s,r].uq[r,m,i] ( I phi2bar)    -
709       
710              yl[n]              vlbar[s,n].ProjP[s,r].l[r,n]      (-I phi2)              -
711              yl[n]               lbar[s,n].ProjP[s,r].l[r,n]      (v+H +I phi)/Sqrt[2]
712           ],
713           
714           Module[{s,r,n,m,i},                                                    -
715              yd[n]              dqbar[s,n,i].ProjP[s,r].dq[r,n,i] (v+H)/Sqrt[2]  -
716              yu[n]              uqbar[s,n,i].ProjP[s,r].uq[r,n,i] (v+H)/Sqrt[2]  -
717              yl[n]               lbar[s,n].ProjP[s,r].l[r,n]      (v+H)/Sqrt[2]
718           ]
719         ];
720
721LYukawa := LYuk + HC[LYuk];
722
723
724
725(**************Ghost terms**************************)
726(* Now we need the ghost terms which are of the form:             *)
727(* - g * antighost * d_BRST G                                     *)
728(* where d_BRST G is BRST transform of the gauge fixing function. *)
729
730LGhost := If[FeynmanGauge,
731                Block[{dBRSTG,LGhostG,dBRSTWi,LGhostWi,dBRSTB,LGhostB},
732               
733        (***********First the pure gauge piece.**********************) 
734        dBRSTG[mu_,a_] := 1/gs Module[{a2, a3}, del[ghG[a], mu] + gs f[a,a2,a3] G[mu,a2] ghG[a3]];
735                LGhostG := - gs ghGbar[a].del[dBRSTG[mu,a],mu];
736       
737        dBRSTWi[mu_,i_] := sw/ee Module[{i2, i3}, del[ghWi[i], mu] + ee/sw Eps[i,i2,i3] Wi[mu,i2] ghWi[i3] ];
738                LGhostWi := - ee/sw ghWibar[a].del[dBRSTWi[mu,a],mu];   
739       
740        dBRSTB[mu_] := cw/ee del[ghB, mu];
741                LGhostB := - ee/cw ghBbar.del[dBRSTB[mu],mu];
742       
743        (***********Next the piece from the scalar field.************)
744        LGhostphi := -   ee/(2*sw*cw) MW ( - I phi2    ( (cw^2-sw^2)ghWpbar.ghZ + 2sw*cw ghWpbar.ghA )  +
745                        I phi2bar ( (cw^2-sw^2)ghWmbar.ghZ + 2sw*cw ghWmbar.ghA )    ) -
746                        ee/(2*sw) MW ( ( (v+H) + I phi) ghWpbar.ghWp + ( (v+H) - I phi) ghWmbar.ghWm   ) -
747                        I ee/(2*sw) MZ ( - phi2bar ghZbar.ghWp + phi2 ghZbar.ghWm ) -
748                        ee/(2*sw*cw) MZ (v+H) ghZbar.ghZ ;
749                       
750                       
751        (***********Now add the pieces together.********************)
752        LGhostG + LGhostWi + LGhostB + LGhostphi]
753
754, 0];
755               
756(*********Total SM Lagrangian*******)           
757L4Gen := LGauge + LHiggs + LFermions + LYukawa  + LGhost;