B-L-SM: B-L_4.fr

File B-L_4.fr, 33.3 KB (added by WeiLiu, 8 months ago)

Rewriting the LGhost for the B-L part, using better comments.

Line 
1(***************************************************************************************************************)
2(******                       This is the FeynRules mod-file for the B-L model                       ******)
3(******                                                                                                   ******)
4(******     Authors: Wei.Liu              ******)
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(* *****  Information   ***** *)
14(* ************************** *)
15M$ModelName = "B-L-4";
16
17M$Information = {
18  Authors      -> {"Wei.Liu"},
19  Version      -> "4.0.0",
20  Date         -> "09. 12. 2019",
21  Institutions -> {"University College London"},
22  Emails       -> {"wei.liu.16@ucl.ac.uk"},
23  URLs         -> "http://feynrules.phys.ucl.ac.be"
24};
25
26FeynmanGauge = True;
27
28(* ************************** *)
29(* ***** NLO Variables ****** *)
30(******************************)
31
32FR$LoopSwitches = {{Gf, MW}};
33FR$RmDblExt = { ymb -> MB, ymc -> MC, ymdo -> MD, yme -> Me,
34   ymm -> MMU, yms -> MS, ymt -> MT, ymtau -> MTA, ymup -> MU};
35(************B-L***************)
36
37
38(************End***************)
39
40(* ************************** *)
41(* *****  Change  log   ***** *)
42(* ************************** *)
43
44(***v1.0,the ordinary version without NLO***)
45(***v2.1,change muh1 and muh2 to mu2h1 and mu2h2*****)
46(***v3.0,delete VEV blockname, and enter Neutrino mixing as internal parameters******)
47(***v4.0,rewrite accroding to my thesis, adding LGhBp, rewrite the LYukawa for the B-L part******)
48(***this version take the neutrino mixing as external parameters******)
49(* ************************** *)
50(* *****      vevs      ***** *)
51(* ************************** *)
52M$vevs = { {Phi[2],vev} };
53(************B-L***************)
54
55
56(************End***************)
57
58(* ************************** *)
59(* *****  Gauge groups  ***** *)
60(* ************************** *)
61M$GaugeGroups = {
62(************B-L***************)
63  U1BL == {
64    Abelian          -> True,
65    CouplingConstant -> g1p,
66    GaugeBoson       -> Bp,
67    Charge           -> BL
68  },
69(************End***************)
70  U1Y  == {
71    Abelian          -> True, 
72    CouplingConstant -> g1,
73    GaugeBoson       -> B,
74    Charge           -> Y
75  },
76  SU2L == {
77    Abelian           -> False,
78    CouplingConstant  -> gw,
79    GaugeBoson        -> Wi,
80    StructureConstant -> Eps,
81    Representations   -> {Ta,SU2D},
82    Definitions       -> {Ta[a_,b_,c_]->PauliSigma[a,b,c]/2, FSU2L[i_,j_,k_]:> I Eps[i,j,k]}
83  },
84  SU3C == {
85    Abelian           -> False,
86    CouplingConstant  -> gs,
87    GaugeBoson        -> G,
88    StructureConstant -> f,
89    Representations   -> {T,Colour},
90    SymmetricTensor   -> dSUN
91  }
92};
93
94
95(* ************************** *)
96(* *****    Indices     ***** *)
97(* ************************** *)
98
99IndexRange[Index[SU2W      ]] = Unfold[Range[3]];
100IndexRange[Index[SU2D      ]] = Unfold[Range[2]];
101IndexRange[Index[Gluon     ]] = NoUnfold[Range[8]];
102IndexRange[Index[Colour    ]] = NoUnfold[Range[3]];
103IndexRange[Index[Generation]] = Range[3];
104
105IndexStyle[SU2W,       j];
106IndexStyle[SU2D,       k];
107IndexStyle[Gluon,      a];
108IndexStyle[Colour,     m];
109IndexStyle[Generation, f];
110
111
112(* ************************** *)
113(* *** Interaction orders *** *)
114(* ***  (as used by mg5)  *** *)
115(* ************************** *)
116
117M$InteractionOrderHierarchy = {
118  {QCD, 1},
119  {QED, 2}
120};
121
122
123(* ************************** *)
124(* **** Particle classes **** *)
125(* ************************** *)
126M$ClassesDescription = {
127
128(* Gauge bosons: physical vector fields *)
129(* Gauge bosons: Q = 0 *)
130  V[1] == {
131    ClassName       -> A,
132    SelfConjugate   -> True, 
133    Mass            -> 0, 
134    Width           -> 0, 
135    ParticleName    -> "a",
136    PDG             -> 22,
137    PropagatorLabel -> "a",
138    PropagatorType  -> W,
139    PropagatorArrow -> None,
140    FullName        -> "Photon"
141  },
142  V[2] == {
143    ClassName       -> Z,
144    SelfConjugate   -> True,
145    Mass            -> {MZ, 91.1876},
146    Width           -> {WZ, 2.4952},
147    ParticleName    -> "Z",
148    PDG             -> 23,
149    PropagatorLabel -> "Z",
150    PropagatorType  -> Sine,
151    PropagatorArrow -> None,
152    FullName        -> "Z"
153  },
154  V[3] == {
155    ClassName        -> W,
156    SelfConjugate    -> False,
157    Mass             -> {MW, Internal},
158    Width            -> {WW, 2.085},
159    ParticleName     -> "W+",
160    AntiParticleName -> "W-",
161    QuantumNumbers   -> {Q -> 1},
162    PDG              -> 24,
163    PropagatorLabel  -> "W",
164    PropagatorType   -> Sine,
165    PropagatorArrow  -> Forward,
166    FullName         -> "W"
167  },
168  V[4] == {
169    ClassName        -> G,
170    SelfConjugate    -> True,
171    Indices          -> {Index[Gluon]},
172    Mass             -> 0,
173    Width            -> 0,
174    ParticleName     -> "g",
175    PDG              -> 21,
176    PropagatorLabel  -> "G",
177    PropagatorType   -> C,
178    PropagatorArrow  -> None,
179    FullName         -> "G"
180  },
181
182(* Ghosts: related to physical gauge bosons *)
183  U[1] == {
184    ClassName       -> ghA,
185    SelfConjugate   -> False,
186    Ghost           -> A,
187    QuantumNumbers  -> {GhostNumber -> 1},
188    Mass            -> 0,
189    Width           -> 0,
190    PropagatorLabel -> "uA",
191    PropagatorType  -> GhostDash,
192    PropagatorArrow -> Forward
193  },
194  U[2] == {
195    ClassName       -> ghZ,
196    SelfConjugate   -> False,
197    Ghost           -> Z,
198    QuantumNumbers  -> {GhostNumber -> 1},
199    Mass            -> {MZ,91.1876}, 
200    Width           -> {WZ, 2.4952},
201    PropagatorLabel -> "uZ",
202    PropagatorType  -> GhostDash,
203    PropagatorArrow -> Forward
204  },
205  U[31] == {
206    ClassName       -> ghWp,
207    SelfConjugate   -> False,
208    Ghost           -> W,
209    QuantumNumbers  -> {GhostNumber -> 1, Q -> 1},
210    Mass            -> {MW,Internal},
211    Width           -> {WW, 2.085},
212    PropagatorLabel -> "uWp",
213    PropagatorType  -> GhostDash,
214    PropagatorArrow -> Forward
215  },
216  U[32] == {
217    ClassName       -> ghWm,
218    SelfConjugate   -> False,
219    Ghost           -> Wbar,
220    QuantumNumbers  -> {GhostNumber -> 1, Q -> -1},
221    Mass            -> {MW,Internal},
222    Width           -> {WW, 2.085},
223    PropagatorLabel -> "uWm",
224    PropagatorType  -> GhostDash,
225    PropagatorArrow -> Forward
226  },
227  U[4] == {
228    ClassName       -> ghG,
229    SelfConjugate   -> False,
230    Indices         -> {Index[Gluon]},
231    Ghost           -> G,
232    PDG             -> 82,
233    QuantumNumbers  ->{GhostNumber -> 1},
234    Mass            -> 0,
235    Width           -> 0,
236    PropagatorLabel -> "uG",
237    PropagatorType  -> GhostDash,
238    PropagatorArrow -> Forward
239  },
240(************B-L***************)
241  V[5] == {
242    ClassName        -> Zp,
243    SelfConjugate    -> True,
244    Indices          -> {},
245    Mass             -> {MZp, 1500},
246    Width            -> {WZp, 80.00},
247    ParticleName     -> "Zp",
248    PDG              -> 9900032,
249    PropagatorLabel  -> "Zp",
250    PropagatorType   -> Sine,
251    PropagatorArrow  -> None,
252    FullName         -> "Zp"
253  },
254  V[6] == {
255    ClassName        -> Bp,
256    SelfConjugate    -> True,
257    Indices          -> {},
258    Definitions      -> {Bp[mu_] -> Zp[mu]},
259    Unphysical        -> True
260  },
261
262  U[5] == {
263    ClassName       -> ghZp,
264    SelfConjugate   -> False,
265    Indices         -> {},
266    Ghost           -> Zp,
267    QuantumNumbers  -> {GhostNumber -> 1},
268    Mass            -> {MZp, Internal},
269    Width           -> {WZp, 80.00},
270    PropagatorLabel -> "uZp",
271    PropagatorType  -> GhostDash,
272    PropagatorArrow -> Forward
273  },
274  U[6] == {
275    ClassName       -> ghBp,
276    SelfConjugate   -> False,
277    Definitions     -> {ghBp -> ghZp},
278    Indices         -> {},
279    Unphysical      -> True,
280    Ghost           -> Bp
281  },
282
283(************End***************)
284
285(* Gauge bosons: unphysical vector fields *)
286  V[11] == {
287    ClassName     -> B,
288    Unphysical    -> True,
289    SelfConjugate -> True,
290    Definitions   -> { B[mu_] -> -sw Z[mu]+cw A[mu]}
291  },
292  V[12] == {
293    ClassName     -> Wi,
294    Unphysical    -> True,
295    SelfConjugate -> True,
296    Indices       -> {Index[SU2W]},
297    FlavorIndex   -> SU2W,
298    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]}
299  },
300
301(* Ghosts: related to unphysical gauge bosons *)
302  U[11] == {
303    ClassName     -> ghB,
304    Unphysical    -> True,
305    SelfConjugate -> False,
306    Ghost         -> B,
307    Definitions   -> { ghB -> -sw ghZ + cw ghA}
308  },
309  U[12] == {
310    ClassName     -> ghWi,
311    Unphysical    -> True,
312    SelfConjugate -> False,
313    Ghost         -> Wi,
314    Indices       -> {Index[SU2W]},
315    FlavorIndex   -> SU2W,
316    Definitions   -> { ghWi[1] -> (ghWp+ghWm)/Sqrt[2], ghWi[2] -> (ghWm-ghWp)/(I*Sqrt[2]), ghWi[3] -> cw ghZ+sw ghA}
317  } ,
318
319(* Fermions: physical fields *)
320(************B-L******************)
321  F[1] == {
322    ClassName        -> nL,
323    ClassMembers     -> {nL1,nL2,nL3},
324    Indices          -> {Index[Generation]},
325    FlavorIndex      -> Generation,
326    SelfConjugate    -> True,
327    QuantumNumbers   -> {LeptonNumber -> 1},
328    Mass             -> {MnL,{MnL1, 10^(-9)},{MnL2, 10^(-9)},{MnL3, 10^(-9)}},
329    Width            -> 0,
330    PropagatorLabel  -> {"nL", "nul1", "nul2", "nul3"} ,
331    PropagatorType   -> S,
332    PropagatorArrow  -> Forward,
333    PDG              -> {12,14,16},
334    ParticleName     -> {"n1","n2","n3"},
335    FullName         -> {"Light neutrino 1", "Light neutrino 2", "Light neutrino 3"}
336  },
337  F[16] == {
338    ClassName        -> nH,
339    ClassMembers     -> {nH1, nH2, nH3},
340    Indices          -> {Index[Generation]},
341    FlavorIndex      -> Generation,
342    SelfConjugate    -> True,
343    QuantumNumbers   -> {LeptonNumber -> 1},
344    Mass             -> {MnH,{MnH1, 200.00},{MnH2, 200.00},{MnH3, 200.00}},
345    Width            -> 10^(-13),
346    PropagatorLabel  -> {"nH","nuh1","nuh2","nuh3"},
347    PropagatorType   -> Straight,
348    PropagatorArrow  -> Forward,
349    PDG              -> {9910012, 9910014, 9910016},
350    ParticleName     -> {"nH1","nH2","nH3"},
351    FullName         -> {"Heavy neutrino 1", "Heavy neutrino 2", "Heavy neutrino 3"}
352  },
353   (* unphysical *)
354  F[17] == {
355    ClassName        -> nF,
356    ClassMembers     -> {nF1,nF2,nF3},
357    Indices          -> {Index[Generation]},
358    FlavorIndex      -> Generation,
359    SelfConjugate    -> True,
360    Unphysical       -> True,
361    Definitions      -> {nF[sp_,ff_] -> Can[ff] nL[sp,ff]-San[ff] nH[sp,ff]}
362  },
363   (* unphysical *)
364  F[18] == {
365    ClassName        -> nR,
366    ClassMembers     -> {nR1,nR2,nR3},
367    Indices          -> {Index[Generation]},
368    FlavorIndex      -> Generation,
369    SelfConjugate    -> True,
370    Unphysical       -> True,
371    Definitions      -> {nR[sp_,ff_] -> San[ff] nL[sp,ff]+Can[ff] nH[sp,ff]}
372  },
373
374  (* Flavour-eigenstate neutrino: unphysical *)   
375  (* Righthanded flavor neutrino: unphysical *)
376  F[20] == {
377    ClassName        -> VR,
378    Unphysical       -> True,
379    Indices          -> {Index[Generation]},
380    QuantumNumbers   -> {Y -> 0, BL -> -1},
381    FlavorIndex      -> Generation,
382    SelfConjugate    -> False,
383    Definitions      -> { VR[sp1_,ff_] :> Module[{sp2}, ProjP[sp1,sp2] nR[sp2,ff]]}
384  },
385(***************END******************)
386
387  F[2] == {
388    ClassName        -> l,
389    ClassMembers     -> {e, mu, ta},
390    Indices          -> {Index[Generation]},
391    FlavorIndex      -> Generation,
392    SelfConjugate    -> False,
393    Mass             -> {Ml, {Me,5.11*^-4}, {MMU,0.10566}, {MTA,1.777}},
394    Width            -> 0,
395    QuantumNumbers   -> {Q -> -1, LeptonNumber -> 1},
396    PropagatorLabel  -> {"l", "e", "mu", "ta"},
397    PropagatorType   -> Straight,
398    PropagatorArrow  -> Forward,
399    PDG              -> {11, 13, 15},
400    ParticleName     -> {"e-", "mu-", "ta-"},
401    AntiParticleName -> {"e+", "mu+", "ta+"},
402    FullName         -> {"Electron", "Muon", "Tau"}
403  },
404    (* Quarks (u): I_3 = +1/2, Q = +2/3, BL=1/3 *)
405  F[3] == {
406    ClassName        -> uq,
407    ClassMembers     -> {u, c, t},
408    Indices          -> {Index[Generation], Index[Colour]},
409    FlavorIndex      -> Generation,
410    SelfConjugate    -> False,
411    Mass             -> {Mu, {MU, 2.55*^-3}, {MC,1.27}, {MT,172}},
412    Width            -> {0, 0, {WT,1.50833649}},
413    QuantumNumbers   -> {Q -> 2/3},
414    PropagatorLabel  -> {"uq", "u", "c", "t"},
415    PropagatorType   -> Straight,
416    PropagatorArrow  -> Forward,
417    PDG              -> {2, 4, 6},
418    ParticleName     -> {"u",  "c",  "t" },
419    AntiParticleName -> {"u~", "c~", "t~"},
420    FullName         -> {"u-quark", "c-quark", "t-quark"}
421  },
422    (* Quarks (d): I_3 = -1/2, Q = -1/3, BL=1/3 *)
423  F[4] == {
424    ClassName        -> dq,
425    ClassMembers     -> {d, s, b},
426    Indices          -> {Index[Generation], Index[Colour]},
427    FlavorIndex      -> Generation,
428    SelfConjugate    -> False,
429    Mass             -> {Md, {MD,5.04*^-3}, {MS,0.101}, {MB,4.7}},
430    Width            -> 0,
431    QuantumNumbers   -> {Q -> -1/3},
432    PropagatorLabel  -> {"dq", "d", "s", "b"},
433    PropagatorType   -> Straight,
434    PropagatorArrow  -> Forward,
435    PDG              -> {1,3,5},
436    ParticleName     -> {"d",  "s",  "b" },
437    AntiParticleName -> {"d~", "s~", "b~"},
438    FullName         -> {"d-quark", "s-quark", "b-quark"}
439  },
440
441(* Fermions: unphysical fields *)
442  F[11] == {
443    ClassName      -> LL,
444    Unphysical     -> True,
445    Indices        -> {Index[SU2D], Index[Generation]},
446    FlavorIndex    -> SU2D,
447    SelfConjugate  -> False,
448    QuantumNumbers -> {Y -> -1/2, BL -> -1},
449    Definitions    -> { LL[sp1_,1,ff_] :> Module[{sp2}, ProjM[sp1,sp2] nF[sp2,ff]], LL[sp1_,2,ff_] :> Module[{sp2}, ProjM[sp1,sp2] l[sp2,ff]] }
450  },
451  F[12] == {
452    ClassName      -> lR,
453    Unphysical     -> True,
454    Indices        -> {Index[Generation]},
455    FlavorIndex    -> Generation,
456    SelfConjugate  -> False,
457    QuantumNumbers -> {Y -> -1, BL -> -1},
458    Definitions    -> { lR[sp1_,ff_] :> Module[{sp2}, ProjP[sp1,sp2] l[sp2,ff]] }
459  },
460  F[13] == {
461    ClassName      -> QL,
462    Unphysical     -> True,
463    Indices        -> {Index[SU2D], Index[Generation], Index[Colour]},
464    FlavorIndex    -> SU2D,
465    SelfConjugate  -> False,
466    QuantumNumbers -> {Y -> 1/6, BL -> 1/3},
467    Definitions    -> {
468      QL[sp1_,1,ff_,cc_] :> Module[{sp2}, ProjM[sp1,sp2] uq[sp2,ff,cc]],
469      QL[sp1_,2,ff_,cc_] :> Module[{sp2,ff2}, CKM[ff,ff2] ProjM[sp1,sp2] dq[sp2,ff2,cc]] }
470  },
471  F[14] == {
472    ClassName      -> uR,
473    Unphysical     -> True,
474    Indices        -> {Index[Generation], Index[Colour]},
475    FlavorIndex    -> Generation,
476    SelfConjugate  -> False,
477    QuantumNumbers -> {Y -> 2/3, BL -> 1/3},
478    Definitions    -> { uR[sp1_,ff_,cc_] :> Module[{sp2}, ProjP[sp1,sp2] uq[sp2,ff,cc]] }
479  },
480  F[15] == {
481    ClassName      -> dR,
482    Unphysical     -> True,
483    Indices        -> {Index[Generation], Index[Colour]},
484    FlavorIndex    -> Generation,
485    SelfConjugate  -> False,
486    QuantumNumbers -> {Y -> -1/3, BL -> 1/3},
487    Definitions    -> { dR[sp1_,ff_,cc_] :> Module[{sp2}, ProjP[sp1,sp2] dq[sp2,ff,cc]] }
488  },
489
490(* Higgs: physical scalars  *)
491  S[1] == {
492    ClassName       -> H1,
493    SelfConjugate   -> True,
494    Mass            -> {MH1,125},
495    Width           -> {WH1,0.00407},
496    PropagatorLabel -> "H1",
497    PropagatorType  -> D,
498    PropagatorArrow -> None,
499    PDG             -> 9900025,
500    ParticleName    -> "H1",
501    FullName        -> "H1"
502  },
503
504(* Higgs: physical scalars  *)
505(**********phi(phi0)****************)
506  S[2] == {
507    ClassName       -> G0,
508    SelfConjugate   -> True,
509    Goldstone       -> Z,
510    Mass            -> {MZ, 91.1876},
511    Width           -> {WZ, 2.4952},
512    PropagatorLabel -> "Go",
513    PropagatorType  -> D,
514    PropagatorArrow -> None,
515    PDG             -> 250,
516    ParticleName    -> "G0",
517    FullName        -> "G0"
518  },
519(************phi2*******************)
520  S[3] == {
521    ClassName        -> GP,
522    SelfConjugate    -> False,
523    Goldstone        -> W,
524    Mass             -> {MW, Internal},
525    QuantumNumbers   -> {Q -> 1},
526    Width            -> {WW, 2.085},
527    PropagatorLabel  -> "GP",
528    PropagatorType   -> D,
529    PropagatorArrow  -> None,
530    PDG              -> 251,
531    ParticleName     -> "G+",
532    AntiParticleName -> "G-",
533    FullName         -> "GP"
534  },
535 (***************B-L*****************)
536(* Higgs: unphysical scalars  *)
537  S[11] == {
538    ClassName      -> Phi,
539    Unphysical     -> True,
540    Indices        -> {Index[SU2D]},
541    FlavorIndex    -> SU2D,
542    SelfConjugate  -> False,
543    QuantumNumbers -> {Y -> 1/2, BL -> 0},
544    Definitions    -> { Phi[1] -> -I GP, Phi[2] -> (vev + Ca*H1 + Sa*H2 + I G0)/Sqrt[2]  }
545  },
546  S[12] == {
547    ClassName       -> Xi,
548    Unphysical      -> True,
549    SelfConjugate   -> False,
550    QuantumNumbers  -> {Y -> 0, BL -> 2},
551    Definitions     -> { Xi -> (xev - Sa*H1 + Ca*H2 + I phip)/Sqrt[2]
552    }
553  },
554  S[4]  == {
555    ClassName       -> H2,
556    SelfConjugate   -> True,
557    Mass            -> {MH2, Internal},
558    Width           -> {WH2, 10},
559    PropagatorLabel -> "H2",
560    PropagatorType  -> D,
561    PropagatorArrow -> None,
562    PDG             -> 9900026,
563    ParticleName    -> "H2",
564    FullName        -> "H2"
565  },
566  S[5]  == {
567    ClassName       -> phip,
568    SelfConjugate   -> True,
569    Goldstone       -> Zp,
570    Mass            -> {MZp, Internal},
571    Width           -> Wphip,
572    PropagatorLabel -> "Phip",
573    PropagatorType  -> D,
574    PropagatorArrow -> None,
575    PDG             -> 9900252,
576    ParticleName    -> "phi0p",
577    FullName        -> "Phip"
578  }
579};
580 (***************END*****************)
581
582(* ************************** *)
583(* *****     Gauge      ***** *)
584(* *****   Parameters   ***** *)
585(* *****   (FeynArts)   ***** *)
586(* ************************** *)
587
588GaugeXi[ V[1]  ] = GaugeXi[A];
589GaugeXi[ V[2]  ] = GaugeXi[Z];
590GaugeXi[ V[3]  ] = GaugeXi[W];
591GaugeXi[ V[4]  ] = GaugeXi[G];
592GaugeXi[ S[1]  ] = 1;
593GaugeXi[ S[2]  ] = GaugeXi[Z];
594GaugeXi[ S[3]  ] = GaugeXi[W];
595GaugeXi[ U[1]  ] = GaugeXi[A];
596GaugeXi[ U[2]  ] = GaugeXi[Z];
597GaugeXi[ U[31] ] = GaugeXi[W];
598GaugeXi[ U[32] ] = GaugeXi[W];
599GaugeXi[ U[4]  ] = GaugeXi[G];
600(***************B-L*****************)
601GaugeXi[ V[5] ] = GaugeXi[Zp];
602GaugeXi[ S[4] ] = 1;
603GaugeXi[ S[5] ] = GaugeXi[Zp];
604GaugeXi[ U[5] ] = GaugeXi[Zp];
605(***************END*****************)
606
607(* ************************** *)
608(* *****   Parameters   ***** *)
609(* ************************** *)
610M$Parameters = {
611
612  (* External parameters *)
613  aEWM1 == {
614    ParameterType    -> External,
615    BlockName        -> SMINPUTS,
616    OrderBlock       -> 1,
617    Value            -> 127.9,
618    InteractionOrder -> {QED,-2},
619    Description      -> "Inverse of the EW coupling constant at the Z pole"
620  },
621  Gf == {
622    ParameterType    -> External,
623    BlockName        -> SMINPUTS,
624    OrderBlock       -> 2,
625    Value            -> 1.16637*^-5,
626    InteractionOrder -> {QED,2},
627    TeX              -> Subscript[G,f],
628    Description      -> "Fermi constant"
629  },
630  aS    == {
631    ParameterType    -> External,
632    BlockName        -> SMINPUTS,
633    OrderBlock       -> 3,
634    Value            -> 0.1184,
635    InteractionOrder -> {QCD,2},
636    TeX              -> Subscript[\[Alpha],s],
637    Description      -> "Strong coupling constant at the Z pole"
638  },
639  ymdo == {
640    ParameterType -> External,
641    BlockName     -> YUKAWA,
642    OrderBlock    -> 1,
643    Value         -> 5.04*^-3,
644    Description   -> "Down Yukawa mass"
645  },
646  ymup == {
647    ParameterType -> External,
648    BlockName     -> YUKAWA,
649    OrderBlock    -> 2,
650    Value         -> 2.55*^-3,
651    Description   -> "Up Yukawa mass"
652  },
653  yms == {
654    ParameterType -> External,
655    BlockName     -> YUKAWA,
656    OrderBlock    -> 3,
657    Value         -> 0.101,
658    Description   -> "Strange Yukawa mass"
659  },
660  ymc == {
661    ParameterType -> External,
662    BlockName     -> YUKAWA,
663    OrderBlock    -> 4,
664    Value         -> 1.27,
665    Description   -> "Charm Yukawa mass"
666  },
667  ymb == {
668    ParameterType -> External,
669    BlockName     -> YUKAWA,
670    OrderBlock    -> 5,
671    Value         -> 4.7,
672    Description   -> "Bottom Yukawa mass"
673  },
674  ymt == {
675    ParameterType -> External,
676    BlockName     -> YUKAWA,
677    OrderBlock    -> 6,
678    Value         -> 172,
679    Description   -> "Top Yukawa mass"
680  },
681  yme == {
682    ParameterType -> External,
683    BlockName     -> YUKAWA,
684    OrderBlock    -> 11,
685    Value         -> 5.11*^-4,
686    Description   -> "Electron Yukawa mass"
687  },
688  ymm == {
689    ParameterType -> External,
690    BlockName     -> YUKAWA,
691    OrderBlock    -> 13,
692    Value         -> 0.10566,
693    Description   -> "Muon Yukawa mass"
694  },
695  ymtau == {
696    ParameterType -> External,
697    BlockName     -> YUKAWA,
698    OrderBlock    -> 15,
699    Value         -> 1.777,
700    Description   -> "Tau Yukawa mass"
701  },
702  cabi == {
703    ParameterType -> External,
704    BlockName     -> CKMBLOCK,
705    OrderBlock    -> 1,
706    Value         -> 0.227736,
707    TeX           -> Subscript[\[Theta], c],
708    Description   -> "Cabibbo angle"
709  },
710 (***************B-L*****************)
711  g1p == {
712    ParameterType -> External,
713    BlockName -> BLINPUTS,
714    InteractionOrder -> {QED, 1},
715    TeX              -> Subscript[g,1p],
716    Value -> 0.2,
717    Description -> "U(1)Y B-L coupling coustant at the Zp pole"
718  },
719  MH2 == {
720    ParameterType -> External,
721    BlockName -> BLINPUTS,
722    Value -> 450.00,
723    Description -> "H2 mass"
724  },
725  Sa == {
726    ParameterType -> External,
727    BlockName -> BLINPUTS,
728    Value -> 0.1,
729    Description -> "Sine of Higgses mixing angle"
730  },
731  (*********************neutrino mixing********************)
732  San == {
733    ParameterType -> Internal,
734    BlockName -> BLINPUTS,
735    Indices -> {Index[Generation]},
736    AllowSummation -> True,
737    Value -> {San[1] -> 0.01,
738        San[2] -> 0.01,
739        San[3] -> 0.01
740        },
741    ComplexParameter -> False,
742    ParameterName -> {San[1] -> San1, San[2] -> San2, San[3] -> San3},
743    Description -> "Sin-array of neutrino mass-eigenstates"
744  },
745 (***************END*****************)
746  (* Internal Parameters *)
747  aEW == {
748    ParameterType    -> Internal,
749    Value            -> 1/aEWM1,
750    InteractionOrder -> {QED,2},
751    TeX              -> Subscript[\[Alpha], EW],
752    Description      -> "Electroweak coupling contant"
753  },
754  MW == {
755    ParameterType -> Internal,
756    Value         -> Sqrt[MZ^2/2+Sqrt[MZ^4/4-Pi/Sqrt[2]*aEW/Gf*MZ^2]],
757    TeX           -> Subscript[M,W],
758    Description   -> "W mass"
759  },
760  sw2 == {
761    ParameterType -> Internal,
762    Value         -> 1-(MW/MZ)^2,
763    Description   -> "Squared Sin of the Weinberg angle"
764  },
765  ee == {
766    ParameterType    -> Internal,
767    Value            -> Sqrt[4 Pi aEW],
768    InteractionOrder -> {QED,1},
769    TeX              -> e, 
770    Description      -> "Electric coupling constant"
771  },
772  cw == {
773    ParameterType -> Internal,
774    Value         -> Sqrt[1-sw2],
775    TeX           -> Subscript[c,w],
776    Description   -> "Cosine of the Weinberg angle"
777  },
778  sw == {
779    ParameterType -> Internal,
780    Value         -> Sqrt[sw2],
781    TeX           -> Subscript[s,w],
782    Description   -> "Sine of the Weinberg angle"
783  },
784  gw == {
785    ParameterType    -> Internal,
786    Definitions      -> {gw->ee/sw},
787    InteractionOrder -> {QED,1}, 
788    TeX              -> Subscript[g,w],
789    Description      -> "Weak coupling constant at the Z pole"
790  },
791  g1 == {
792    ParameterType    -> Internal,
793    Definitions      -> {g1->ee/cw},
794    InteractionOrder -> {QED,1}, 
795    TeX              -> Subscript[g,1],
796    Description      -> "U(1)Y coupling constant at the Z pole"
797  },
798  gs == {
799    ParameterType    -> Internal,
800    Value            -> Sqrt[4 Pi aS],
801    InteractionOrder -> {QCD,1}, 
802    TeX              -> Subscript[g,s],
803    ParameterName    -> G,
804    Description      -> "Strong coupling constant at the Z pole"
805  },
806  vev == {
807    ParameterType    -> Internal,
808    Value            -> 2*MW*sw/ee,
809    InteractionOrder -> {QED,-1},
810    Description      -> "Higgs vacuum expectation value"
811  },
812  (****************lightneutrino**************)
813  (*****************B-L********************)
814  xev == {
815    ParameterType    -> Internal,
816    Value            -> MZp/(2*g1p),
817    InteractionOrder -> {QED, -1},
818    Description      -> "H2 VEV"
819  },
820  Ca == {
821    ParameterType    -> Internal,
822    Value            -> Sqrt[1-Sa^2],
823    ParameterName    -> Ca,
824    Description      -> "Cosine of Higgses mixing angle"
825  },
826  (*************neutrino mass terms********)
827  ynd == {
828    ParameterType -> Internal,
829    Indices -> {Index[Generation]},
830    AllowSummation -> True,
831    Value -> {ynd[1] -> Sqrt[2*MnH1*MnL1]/vev,
832              ynd[2] -> Sqrt[2*MnH2*MnL2]/vev,
833              ynd[3] -> Sqrt[2*MnH3*MnL3]/vev
834              },   
835    InteractionOrder -> {QED, 1},
836    ComplexParameter -> False,   
837    ParameterName -> {ynd[1] -> ynd1, ynd[2] -> ynd2, ynd[3] -> ynd3},
838    Description -> "Dirac neutrino Yukawa coupling"
839  },
840
841  ynm == {
842    ParameterType -> Internal,
843    Indices -> {Index[Generation]},
844    AllowSummation -> True,
845    Value -> {ynm[1] -> (MnH1-MnL1)/Sqrt[2]/xev,
846              ynm[2] -> (MnH2-MnL2)/Sqrt[2]/xev,
847              ynm[3] -> (MnH3-MnL3)/Sqrt[2]/xev},
848    InteractionOrder -> {QED, 1},
849    ComplexParameter -> False,
850    ParameterName -> {ynm[1] -> ynm1, ynm[2] -> ynm2, ynm[3] -> ynm3},
851    Description -> "Majorana neutrino Yukawa coupling"
852  },
853
854  Can == {
855    ParameterType -> Internal,
856    Indices -> {Index[Generation]},
857    AllowSummation -> True,
858    Value -> {Can[1] -> Sqrt[1-San1^2],
859               Can[2] -> Sqrt[1-San2^2],
860               Can[3] -> Sqrt[1-San3^2]},
861    ComplexParameter -> False,
862    ParameterName -> {Can[1] -> Can1, Can[2] -> Can2, Can[3] -> Can3},
863    Description -> "Cos-array of neutrino mass-eigenstates"
864  },
865
866
867  (**************Higgs Potential*******************)
868  lam1 == {
869    ParameterType    -> Internal,
870    Value            -> MH1^2/(2*vev^2)*Ca^2 + MH2^2 /(2*vev^2)*Sa^2,
871    ParameterName    -> lam1,
872    InteractionOrder -> {QED, 2},
873    Description      -> "Higgs quartic coupling piece for H1"
874  },
875  lam2 == {
876    ParameterType    -> Internal,
877    Value            -> MH1^2 /(2*xev^2)*Sa^2 + MH2^2 /(2*xev^2)*Ca^2,
878    ParameterName    -> lam2,
879    InteractionOrder -> {QED,2},
880    Description      -> "Higgs quartic coupling piece for H2"
881  },
882  lam3 == {
883    ParameterType    -> Internal,
884    Value            -> (MH2^2 - MH1^2)/(xev*vev)*Sa*Ca,
885    ParameterName    -> lam3,
886    InteractionOrder -> {QED, 2},
887    Description      -> "Mixing part"
888  },
889  mu2H1 == {
890    ParameterType -> Internal,
891    Value         -> -lam1 * vev^2 - lam3 /2 * xev^2,
892    TeX           -> \[Mu],
893    Description   -> "Coefficient of the quadratic piece of the H1 potential"
894  },
895  mu2H2 == {
896    ParameterType -> Internal,
897    Value         -> -lam3 /2 * vev^2 - lam2 * xev^2,
898    TeX           -> \[Mu]prime,
899    Description   -> "Coefficient of the quadratic piece of the H2 potential"
900  },
901  (******************END*********************)
902  yl == {
903    ParameterType    -> Internal,
904    Indices          -> {Index[Generation], Index[Generation]},
905    Definitions      -> {yl[i_?NumericQ, j_?NumericQ] :> 0  /; (i =!= j)},
906    Value            -> {yl[1,1] -> Sqrt[2] yme / vev, yl[2,2] -> Sqrt[2] ymm / vev, yl[3,3] -> Sqrt[2] ymtau / vev},
907    InteractionOrder -> {QED, 1},
908    ParameterName    -> {yl[1,1] -> ye, yl[2,2] -> ym, yl[3,3] -> ytau},
909    TeX              -> Superscript[y, l],
910    Description      -> "Lepton Yukawa couplings"
911  },
912  yu == {
913    ParameterType    -> Internal,
914    Indices          -> {Index[Generation], Index[Generation]},
915    Definitions      -> {yu[i_?NumericQ, j_?NumericQ] :> 0  /; (i =!= j)},
916    Value            -> {yu[1,1] -> Sqrt[2] ymup/vev, yu[2,2] -> Sqrt[2] ymc/vev, yu[3,3] -> Sqrt[2] ymt/vev},
917    InteractionOrder -> {QED, 1},
918    ParameterName    -> {yu[1,1] -> yup, yu[2,2] -> yc, yu[3,3] -> yt},
919    TeX              -> Superscript[y, u],
920    Description      -> "Up-type Yukawa couplings"
921  },
922  yd == {
923    ParameterType    -> Internal,
924    Indices          -> {Index[Generation], Index[Generation]},
925    Definitions      -> {yd[i_?NumericQ, j_?NumericQ] :> 0  /; (i =!= j)},
926    Value            -> {yd[1,1] -> Sqrt[2] ymdo/vev, yd[2,2] -> Sqrt[2] yms/vev, yd[3,3] -> Sqrt[2] ymb/vev},
927    InteractionOrder -> {QED, 1},
928    ParameterName    -> {yd[1,1] -> ydo, yd[2,2] -> ys, yd[3,3] -> yb},
929    TeX              -> Superscript[y, d],
930    Description      -> "Down-type Yukawa couplings"
931  },
932(* N. B. : only Cabibbo mixing! *)
933  CKM == {
934    ParameterType -> Internal,
935    Indices       -> {Index[Generation], Index[Generation]},
936    Unitary       -> True,
937    Value         -> {CKM[1,1] -> Cos[cabi],  CKM[1,2] -> Sin[cabi], CKM[1,3] -> 0,
938                      CKM[2,1] -> -Sin[cabi], CKM[2,2] -> Cos[cabi], CKM[2,3] -> 0,
939                      CKM[3,1] -> 0,          CKM[3,2] -> 0,         CKM[3,3] -> 1},
940    TeX         -> Superscript[V,CKM],
941    Description -> "CKM-Matrix"}
942};
943
944(* ************************** *)
945(* *****   Lagrangian   ***** *)
946(* ************************** *)
947
948LGauge := Block[{mu,nu,ii,aa},
949  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]
950(*************B-L*******************)
951  -1/4 FS[Bp,mu,nu] FS[Bp,mu,nu],
952(*************END********************)
953  FlavorExpand->SU2W]];
954
955LFermions := Block[{mu},
956  ExpandIndices[I*(
957    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]
958(**********B-L*********************)
959    + VRbar.Ga[mu].DC[VR,mu]
960(***********END********************)
961),
962  FlavorExpand->{SU2W,SU2D}]/.{CKM[a_,b_] Conjugate[CKM[a_,c_]]->IndexDelta[b,c], CKM[b_,a_] Conjugate[CKM[c_,a_]]->IndexDelta[b,c]}];
963
964LHiggs := Block[{ii,mu, feynmangaugerules},
965  feynmangaugerules = If[Not[FeynmanGauge], {G0|GP|GPbar|phip ->0}, {}];
966 
967  ExpandIndices[DC[Phibar[ii],mu] DC[Phi[ii],mu] - mu2H1 Phibar[ii] Phi[ii] - lam1 Phibar[ii] Phi[ii] Phibar[jj] Phi[jj]
968(*******************B-L****************************)
969+ DC[Xibar,mu] DC[Xi,mu]
970- mu2H2 Xibar Xi
971- lam2 Xibar Xi Xibar Xi
972- lam3 Phibar[ii]Phi[ii] Xibar Xi
973(*******************END****************************)
974  , FlavorExpand->{SU2D,SU2W}]/.feynmangaugerules
975 ];
976
977LYukawaSM := Block[{sp,ii,jj,cc,ff1,ff2,ff3,yuk,feynmangaugerules},
978  feynmangaugerules = If[Not[FeynmanGauge], {G0|GP|GPbar|phip ->0}, {}];
979 
980  yuk = ExpandIndices[
981    -yd[ff2, ff3] CKM[ff1, ff2] QLbar[sp, ii, ff1, cc].dR [sp, ff3, cc] Phi[ii] -
982    yl[ff1, ff3] LLbar[sp, ii, ff1].lR [sp, ff3] Phi[ii] -
983    yu[ff1, ff2] QLbar[sp, ii, ff1, cc].uR [sp, ff2, cc] Phibar[jj] Eps[ii, jj]
984    , FlavorExpand -> SU2D];
985  yuk = yuk /. { CKM[a_, b_] Conjugate[CKM[a_, c_]] -> IndexDelta[b, c], CKM[b_, a_] Conjugate[CKM[c_, a_]] -> IndexDelta[b, c]};
986  yuk+HC[yuk]/.feynmangaugerules
987  ];
988(**********************B-L***************************)
989LYukawaBL := Block[{ff1,sp,ii,feynmangaugerules},
990  feynmangaugerules = If[Not[FeynmanGauge], {G0|GP|GPbar|phip ->0}, {}];
991
992  yun = ExpandIndices[
993    -ynd[ff1] LLbar[sp,ii,ff1].VR[sp,ff1]Phibar[jj]Eps[ii, jj]
994    -ynm[ff1] nRbar[sp,ff1].VR[sp,ff1] Xi
995    , FlavorExpand -> SU2D];
996  yun+HC[yun]/.feynmangaugerules
997  ];
998LYukawa := LYukawaSM + LYukawaBL;
999Lmaj :=-ynm[ff1] nRbar[sp,ff1].VR[sp,ff1] Xi
1000Lnew :=-ynm[n] San[n] San[n]  anti[nL][s,n].ProjP[s,r].nL[r,n]Xi
1001(**********************END***************************)
1002(*******************Eqn.(2.44) from 1106.4691******************************)
1003(*****************B-L is an abelian group, DC->del, https://en.wikipedia.org/wiki/Faddeev%E2%80%93Popov_ghost**********)
1004LGhost := Block[{LGh1,LGhw,LGhs,LGhphi,LGhBp, LGhphiBL, mu, generators,gh,ghbar,Vectorize,phi1,phi2,togoldstones,doublet,doublet0},
1005  (* Pure gauge piece *) 
1006  LGh1 = -ghBbar.del[DC[ghB,mu],mu];
1007  LGhw = -ghWibar[ii].del[DC[ghWi[ii],mu],mu];
1008  LGhs = -ghGbar[ii].del[DC[ghG[ii],mu],mu];
1009(******************B-L***********************)
1010  LGhBp = - ghBpbar.del[del[ghBp, mu],mu];
1011  LGhphiBL = -2*g1p MZp (xev-Sa*H1+Ca*H2) ghZpbar.ghZp;
1012(**********************END***************************)
1013  (* Scalar pieces: see Peskin pages 739-742 *)
1014  (* phi1 and phi2 are the real degrees of freedom of GP *)
1015  (* Vectorize transforms a doublet in a vector in the phi-basis, i.e. the basis of real degrees of freedom *)
1016  gh    = {ghB, ghWi[1], ghWi[2], ghWi[3]};
1017  ghbar = {ghBbar, ghWibar[1], ghWibar[2], ghWibar[3]};
1018  generators = {-I/2 g1 IdentityMatrix[2], -I/2 gw PauliSigma[1], -I/2 gw PauliSigma[2], -I/2 gw PauliSigma[3]};
1019  doublet = Expand[{(-I phi1 - phi2)/Sqrt[2], Phi[2]} /. MR$Definitions /. vev -> 0];
1020  doublet0 = {0, vev/Sqrt[2]};
1021  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}];
1022  togoldstones := {phi1 -> (GP + GPbar)/Sqrt[2], phi2 -> (-GP + GPbar)/(I Sqrt[2])};
1023  LGhphi=Plus@@Flatten[Table[-ghbar[[kkk]].gh[[lll]] Vectorize[generators[[kkk]].doublet0].Vectorize[generators[[lll]].(doublet+doublet0)],{kkk,4},{lll,4}]] /.togoldstones;
1024
1025ExpandIndices[ LGhs + If[FeynmanGauge, LGh1 + LGhw + LGhphi + LGhBp + LGhphiBL ,0], FlavorExpand->SU2W]];
1026LBL:= LGauge + LFermions + LHiggs + LYukawa + LGhost;