VLC_LN: VLC.fr

File VLC.fr, 26.9 KB (added by DanieleBarducci, 5 months ago)

FeynRules file for the model

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