| 1 | (* ****************************************************************** *)
|
|---|
| 2 | (* ***** ***** *)
|
|---|
| 3 | (* ***** FeynRules model file supplementing the reduced SM ***** *)
|
|---|
| 4 | (* ***** with a type-III seesaw ***** *)
|
|---|
| 5 | (* ***** ***** *)
|
|---|
| 6 | (* ***** Author: Benjamin Fuks ***** *)
|
|---|
| 7 | (* ***** ***** *)
|
|---|
| 8 | (* ****************************************************************** *)
|
|---|
| 9 |
|
|---|
| 10 | (* ************************** *)
|
|---|
| 11 | (* ***** Setup ***** *)
|
|---|
| 12 | (* ************************** *)
|
|---|
| 13 | M$ModelName = "TypeIII";
|
|---|
| 14 | M$Information = { Authors -> {"B. Fuks"}, Version -> "1.0", Date -> "14.11.2022" };
|
|---|
| 15 | FeynmanGauge = True;
|
|---|
| 16 |
|
|---|
| 17 |
|
|---|
| 18 | (* ************************** *)
|
|---|
| 19 | (* **** Particle classes **** *)
|
|---|
| 20 | (* ************************** *)
|
|---|
| 21 |
|
|---|
| 22 | IndexRange[Index[LepGen]] = Range[4]; IndexStyle[LepGen,f];
|
|---|
| 23 |
|
|---|
| 24 | M$ClassesDescription = {
|
|---|
| 25 |
|
|---|
| 26 | (* Fermions: physical fields *)
|
|---|
| 27 | F[1] == {
|
|---|
| 28 | ClassName -> vi, ClassMembers -> {v1,v2,v3,Sig0}, Indices -> {Index[LepGen]}, FlavorIndex -> LepGen,
|
|---|
| 29 | SelfConjugate -> True, WeylComponents->viw,
|
|---|
| 30 | Mass -> {Mvi, {Mv1, 0.05*^-9}, {Mv2, Internal}, {Mv3, Internal}, {MSigma, 100. }}, Width -> {0, 0, 0, {WSig0,1.1}}, PDG -> {12,14,16,9000018}
|
|---|
| 31 | },
|
|---|
| 32 | F[2] == {
|
|---|
| 33 | ClassName -> l, ClassMembers -> {e,mu,ta,SigM}, Indices -> {Index[LepGen]}, FlavorIndex -> LepGen,
|
|---|
| 34 | SelfConjugate -> False, WeylComponents->{lLw,lRwbar}, QuantumNumbers -> {Q -> -1},
|
|---|
| 35 | Mass -> {Ml, {Me,5.11*^-4}, {MMU,0.10566}, {MTA,1.777}, {MSigma, 100.}}, Width -> {0, 0, 0, {WSigM, 1.2} }, PDG -> {11,13,15, 9000017},
|
|---|
| 36 | ParticleName -> {"e-", "mu-", "ta-", "sig-"}, AntiParticleName -> {"e+", "mu+", "ta+", "sig+"}
|
|---|
| 37 | },
|
|---|
| 38 |
|
|---|
| 39 | (* Weyl components of the physical fermions *)
|
|---|
| 40 | W[5] == { ClassName->viw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[LepGen]}, FlavorIndex->LepGen },
|
|---|
| 41 | W[6] == { ClassName->lLw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[LepGen]}, FlavorIndex->LepGen },
|
|---|
| 42 | W[7] == { ClassName->lRw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[LepGen]}, FlavorIndex->LepGen },
|
|---|
| 43 |
|
|---|
| 44 | (* Weyl components of the SM fermions *)
|
|---|
| 45 | W[11] == {
|
|---|
| 46 | ClassName->LLw, Unphysical->True, Chirality->Left, Indices->{Index[SU2D],Index[Generation]}, FlavorIndex->SU2D,
|
|---|
| 47 | SelfConjugate->False, QuantumNumbers->{Y->-1/2},
|
|---|
| 48 | Definitions -> {
|
|---|
| 49 | LLw[sp_,1,ff_] :> Module[{ff2}, U0lp[ff,ff2]*viw[sp,ff2]],
|
|---|
| 50 | LLw[sp_,2,ff_] :> Module[{ff2}, ULlp[ff,ff2]*lLw[sp,ff2]]
|
|---|
| 51 | }
|
|---|
| 52 | },
|
|---|
| 53 | W[22] == {
|
|---|
| 54 | ClassName->ERw, Unphysical->True, Chirality->Left, Indices->{Index[Generation]}, FlavorIndex->Generation,
|
|---|
| 55 | SelfConjugate->False, QuantumNumbers->{Y->1},
|
|---|
| 56 | Definitions -> { ERw[sp_,ff_] :> Module[{ff2}, URlp[ff,ff2] lRw[sp,ff2]] }
|
|---|
| 57 | },
|
|---|
| 58 |
|
|---|
| 59 | (* Weyl components of the triplets *)
|
|---|
| 60 | W[21] == {
|
|---|
| 61 | ClassName->Sigw, Unphysical->True, Chirality->Left, SelfConjugate->False, Indices->{Index[SU2W]}, FlavorIndex->SU2W,
|
|---|
| 62 | Definitions->{
|
|---|
| 63 | Sigw[sp_,1] :> Module[{ff2}, (UL[4,ff2]*lLw[sp,ff2] + Conjugate[UR[4,ff2]]*lRw[sp,ff2])/Sqrt[2] ],
|
|---|
| 64 | Sigw[sp_,2] :> Module[{ff2}, (UL[4,ff2]*lLw[sp,ff2] - Conjugate[UR[4,ff2]]*lRw[sp,ff2])/(I*Sqrt[2]) ],
|
|---|
| 65 | Sigw[sp_,3] :> Module[{ff2}, U0[4,ff2] * viw[sp,ff2] ]
|
|---|
| 66 | }
|
|---|
| 67 | }
|
|---|
| 68 | };
|
|---|
| 69 |
|
|---|
| 70 |
|
|---|
| 71 | (* ************************** *)
|
|---|
| 72 | (* ***** Parameters ***** *)
|
|---|
| 73 | (* ************************** *)
|
|---|
| 74 |
|
|---|
| 75 | M$Parameters = {
|
|---|
| 76 |
|
|---|
| 77 | (* Neutrino masses and mass differences*)
|
|---|
| 78 | dmsq21 == { ParameterType -> External, Value -> 7.39*^-23, TeX -> Subsuperscript["\[CapitalDelta]m",21,2], BlockName -> MNU, OrderBlock -> 2, Description -> "Solar mass splitting squared" },
|
|---|
| 79 | dmsq31 == { ParameterType -> External, Value -> 2.50*^-21, TeX -> Subsuperscript["\[CapitalDelta]m",31,2], BlockName -> MNU, OrderBlock -> 3, Description -> "Atmospheric mass splitting squared" },
|
|---|
| 80 | Mv2 == { ParameterType -> Internal, Value -> Sqrt[Mv1^2 + dmsq21], TeX -> Subscript[m, "\[Nu]2"] },
|
|---|
| 81 | Mv3 == { ParameterType -> Internal, Value -> Sqrt[Mv1^2 + dmsq31], TeX -> Subscript[m, "\[Nu]3"] },
|
|---|
| 82 |
|
|---|
| 83 | (* New fermion Yukawa interactions Lagrangian external parameters *)
|
|---|
| 84 | ySigma == {
|
|---|
| 85 | ParameterType -> External, TeX -> Subscript[y, \[Sigma]], Indices -> {Index[Generation]}, BlockName -> YSIGMA, Description -> "Sigma Yukawa couplings",
|
|---|
| 86 | InteractionOrder->{QED,1}, ComplexParameter->False, Value -> {{ySigma[1]->0.01, ySigma[2]->0.02, ySigma[3]->0.03}}
|
|---|
| 87 | },
|
|---|
| 88 |
|
|---|
| 89 | (* Neutrino oscillation data matrix *)
|
|---|
| 90 | th12 == { ParameterType -> External, Value -> 0.59, TeX -> Subscript[\[Theta], 12], BlockName -> PMNS, OrderBlock -> 1, Description -> "Solar mixing angle - theta12" },
|
|---|
| 91 | th23 == { ParameterType -> External, Value -> 0.87, TeX -> Subscript[\[Theta], 23], BlockName -> PMNS, OrderBlock -> 2, Description -> "Atmospheric mixing angle - theta23" },
|
|---|
| 92 | th13 == { ParameterType -> External, Value -> 0.15, TeX -> Subscript[\[Theta], 13], BlockName -> PMNS, OrderBlock -> 3, Description -> "Reactor mixing angle - theta_13" },
|
|---|
| 93 | delCP == { ParameterType -> External, Value -> 0.00, TeX -> Subscript[\[Delta], CP], BlockName -> PMNS, OrderBlock -> 4, Description -> "Leptonic Dirac CP phase" },
|
|---|
| 94 | phiM1 == { ParameterType -> External, Value -> 0.00, TeX -> Subscript[\[Phi], 1], BlockName -> PMNS, OrderBlock -> 5, Description -> "1st Majorana CP phase" },
|
|---|
| 95 | phiM2 == { ParameterType -> External, Value -> 0.00, TeX -> Subscript[\[Phi], 2], BlockName -> PMNS, OrderBlock -> 6, Description -> "2nd Majorana CP phase" },
|
|---|
| 96 |
|
|---|
| 97 | (* PMNS mixing matrix defined from oscillation data *)
|
|---|
| 98 | PMNS == {
|
|---|
| 99 | ParameterType -> Internal, Indices -> {Index[Generation],Index[Generation]}, TeX -> Superscript[V, PMNS],
|
|---|
| 100 | ComplexParameter->True, Unitary->True,
|
|---|
| 101 | Value -> {
|
|---|
| 102 | PMNS[1,1] -> Cos[th12]*Cos[th13],
|
|---|
| 103 | PMNS[1,2] -> Cos[th13]*Sin[th12]*Exp[I/2 phiM1],
|
|---|
| 104 | PMNS[1,3] -> Sin[th13]*Exp[I (phiM2/2 - delCP)],
|
|---|
| 105 | PMNS[2,1] -> -Cos[th23]*Sin[th12] - Cos[th12]*Sin[th13]*Sin[th23]*Exp[I delCP],
|
|---|
| 106 | PMNS[2,2] -> (Cos[th12]*Cos[th23] - Sin[th12]*Sin[th13]*Sin[th23]*Exp[I delCP])*Exp[I/2 phiM1],
|
|---|
| 107 | PMNS[2,3] -> Cos[th13]*Sin[th23]*Exp[I/2 phiM2],
|
|---|
| 108 | PMNS[3,1] -> Sin[th12]*Sin[th23] - Cos[th12]*Cos[th23]*Sin[th13]*Exp[I delCP],
|
|---|
| 109 | PMNS[3,2] -> (-Cos[th23]*Sin[th12]*Sin[th13]*Exp[I delCP] - Cos[th12]*Sin[th23])*Exp[I/2 phiM1],
|
|---|
| 110 | PMNS[3,3] -> Cos[th13]*Cos[th23]*Exp[I/2 phiM2]
|
|---|
| 111 | }
|
|---|
| 112 | },
|
|---|
| 113 |
|
|---|
| 114 | (* Mixing parameters : left-handed leptons *)
|
|---|
| 115 | EPS == { TeX ->\[Epsilon], ParameterType->Internal, Indices->{Index[Generation],Index[Generation]}, ComplexParameter->False, Value->{EPS[i_, j_]->vev^2/(2*MSigma^2) ySigma[i] ySigma[j]} },
|
|---|
| 116 |
|
|---|
| 117 | (* 4x4 mixing matrices *)
|
|---|
| 118 | U0 == { ParameterType->Internal, Indices->{Index[LepGen],Index[LepGen]}, TeX->Superscript[U,0], ComplexParameter->True, Description->"Neutrino mixing matrix" },
|
|---|
| 119 | UL == { ParameterType->Internal, Indices->{Index[LepGen],Index[LepGen]}, TeX->Subsuperscript[U,L,l], ComplexParameter->True, Description->"LH lepton mixing matrix" },
|
|---|
| 120 | UR == { ParameterType->Internal, Indices->{Index[LepGen],Index[LepGen]}, TeX->Subsuperscript[U,R,l], ComplexParameter->True, Description->"RH lepton mixing matrix" },
|
|---|
| 121 |
|
|---|
| 122 | (* 3x4 blocks of the mixing matrices *)
|
|---|
| 123 | U0lp=={ ParameterType->Internal, Indices->{Index[Generation],Index[LepGen]}, TeX->Superscript[U,0], Description-> "3x4 block of the neutrino mixing matrix" },
|
|---|
| 124 | ULlp=={ ParameterType->Internal, Indices->{Index[Generation],Index[LepGen]}, TeX->Subsuperscript[U,L,l], Description-> "3x4 block of the LH charged lepton mixing matrix" },
|
|---|
| 125 | URlp=={ ParameterType->Internal, Indices->{Index[Generation],Index[LepGen]}, TeX->Subsuperscript[U,R,l], Description-> "3x4 block of the RH charged lepton mixing matrix" }
|
|---|
| 126 | };
|
|---|
| 127 |
|
|---|
| 128 |
|
|---|
| 129 | (* ************************************************************* *)
|
|---|
| 130 | (* ***** Expansion of the mixing matrices at first order ***** *)
|
|---|
| 131 | (* ************************************************************* *)
|
|---|
| 132 | ExpandMixing[exp_] := Block[{resu},
|
|---|
| 133 | (* Cleaning *)
|
|---|
| 134 | resu = Expand[exp] /. {CKM[a_, b_]*Conjugate[CKM[a_, c_]] :> IndexDelta[a, c]};
|
|---|
| 135 |
|
|---|
| 136 | (* LH leptons *)
|
|---|
| 137 | resu = resu /. {
|
|---|
| 138 | ULlp[Index[Generation, aa_], Index[LepGen, b_]] :> KroneckerDelta[aa, b] - EPS[Index[LepGen, aa], Index[LepGen, b]] /; b < 4,
|
|---|
| 139 | ULlp[aa_, Index[LepGen, 4]] :> vev/MSigma ySigma[aa],
|
|---|
| 140 | UL[Index[LepGen, 4], Index[LepGen, aa_]] :> -vev/MSigma Conjugate[ySigma[Index[Generation, aa]]] /; aa < 4,
|
|---|
| 141 | UL[Index[LepGen, 4], Index[LepGen, 4]] :> 1 - Plus@@Table[EPS[Index[LepGen, aa], Index[LepGen, aa]],{aa,1,3}]
|
|---|
| 142 | };
|
|---|
| 143 |
|
|---|
| 144 | (* RH leptons *)
|
|---|
| 145 | resu = resu /. {
|
|---|
| 146 | URlp[Index[Generation, aa_], Index[LepGen, b_]] :> If[aa == b, 1, 0] /; b < 4,
|
|---|
| 147 | URlp[Index[Generation, aa_], Index[LepGen, 4]] :> vev/MSigma^2 Ml[aa] *ySigma[Index[Generation, aa]],
|
|---|
| 148 | UR[Index[LepGen, 4], Index[LepGen, aa_]] :> -vev/MSigma^2 Ml[aa] * Conjugate[ySigma[Index[Generation, aa]]] /; aa < 4,
|
|---|
| 149 | UR[Index[LepGen, 4], Index[LepGen, 4]] :> 1
|
|---|
| 150 | };
|
|---|
| 151 |
|
|---|
| 152 | (* Neutrinos *)
|
|---|
| 153 | resu = resu //. {
|
|---|
| 154 | U0lp[Index[Generation, aa_], Index[LepGen, b_]] :> PMNS[Index[Generation, aa], Index[Generation, b]] - \
|
|---|
| 155 | Plus @@ Table[1/2*EPS[Index[LepGen, aa], Index[LepGen, cc]]*PMNS[Index[Generation, cc], Index[Generation, b]], {cc, 1, 3}] /; b < 4,
|
|---|
| 156 | U0lp[aa_, Index[LepGen, 4]] :> vev/MSigma/Sqrt[2] ySigma[aa],
|
|---|
| 157 | U0[Index[LepGen, 4], Index[LepGen, aa_]] :> Plus @@ Table[
|
|---|
| 158 | -vev/MSigma/Sqrt[2] Conjugate[ySigma[Index[Generation, cc]]]*U0lp[Index[Generation, cc], Index[LepGen, aa]],
|
|---|
| 159 | {cc, 1, 3}] /; aa < 4,
|
|---|
| 160 | U0[Index[LepGen, 4], Index[LepGen, 4]] :> 1 - Plus@@Table[EPS[Index[LepGen, aa], Index[LepGen, aa]]/2,{aa,1,3}]
|
|---|
| 161 | };
|
|---|
| 162 |
|
|---|
| 163 | (* Simplifications *)
|
|---|
| 164 | resu = Expand[resu] //. {
|
|---|
| 165 | Conjugate[ySigma[ii_]] -> ySigma[ii], HC[ySigma[ii_]] -> ySigma[ii],
|
|---|
| 166 | yl[Index[_, ii_], Index[_, ii_]] -> Sqrt[2] Ml[ii]/vev,
|
|---|
| 167 | ySigma[Index[Generation, aa_]]*ySigma[Index[Generation, bb_]] -> EPS[Index[LepGen, aa], Index[LepGen, bb]]*MSigma^2/vev^2*2,
|
|---|
| 168 | ySigma[Index[Generation, aa_]]^2 -> EPS[Index[LepGen, aa], Index[LepGen, aa]]*MSigma^2/vev^2*2,
|
|---|
| 169 | ySigma[Index[Generation, aa_]]^3 -> EPS[Index[LepGen, aa], Index[LepGen, aa]]*MSigma^2/vev^2*2*ySigma[Index[Generation, aa]]
|
|---|
| 170 | };
|
|---|
| 171 | resu = Expand[resu] /. {
|
|---|
| 172 | EPS[__]/MSigma -> 0, EPS[__]/MSigma^2 -> 0,
|
|---|
| 173 | Power[EPS[__], 2] -> 0, Power[EPS[__], 3] -> 0, EPS[ii__] EPS[jj__] -> 0,
|
|---|
| 174 | EPS[inds__] :> EPS[Sequence @@ Sort[{inds}]]
|
|---|
| 175 | };
|
|---|
| 176 | resu = OptimizeIndex /@ Expand[resu];
|
|---|
| 177 |
|
|---|
| 178 | (* Output *)
|
|---|
| 179 | resu];
|
|---|
| 180 |
|
|---|
| 181 | (* ************************** *)
|
|---|
| 182 | (* ***** Lagrangian ***** *)
|
|---|
| 183 | (* ************************** *)
|
|---|
| 184 | LFermions := Block[{ii,ff,mu, Lleptons, Lquarks, Ltot},
|
|---|
| 185 |
|
|---|
| 186 | (* leptons *)
|
|---|
| 187 | Lleptons = I/2 * (LLwbar[sp1,ii,ff].DC[LLw[sp2,ii,ff],mu] - DC[LLwbar[sp1,ii,ff],mu].LLw[sp2,ii,ff]) * sibar[mu,sp1,sp2] \
|
|---|
| 188 | + I/2 * (ERwbar[sp1,ff].DC[ERw[sp2,ff],mu] - DC[ERwbar[sp1,ff],mu].ERw[sp2,ff]) * sibar[mu,sp1,sp2] \
|
|---|
| 189 | + I/2 * (Sigwbar[sp1,ii].DC[Sigw[sp2,ii],mu] - DC[Sigwbar[sp1,ii],mu].Sigw[sp2,ii]) * sibar[mu,sp1,sp2] \
|
|---|
| 190 | - 1/2 MSigma (Sigw[sp1,ii].Sigw[sp1,ii] + Sigwbar[sp1,ii].Sigwbar[sp1,ii]);
|
|---|
| 191 | Lleptons = ExpandIndices[Lleptons, FlavorExpand -> {SU2W, SU2D}];
|
|---|
| 192 | Lleptons = OptimizeIndex /@ Expand[WeylToDirac[Lleptons]];
|
|---|
| 193 |
|
|---|
| 194 | (* quarks *)
|
|---|
| 195 | Lquarks = I*QLbar.Ga[mu].DC[QL, mu] + I*uRbar.Ga[mu].DC[uR, mu] + I*dRbar.Ga[mu].DC[dR, mu];
|
|---|
| 196 | Lquarks = ExpandIndices[Lquarks, FlavorExpand -> {SU2W, SU2D}];
|
|---|
| 197 |
|
|---|
| 198 | (* output *)
|
|---|
| 199 | Ltot = ExpandIndices /@ Expand[Lquarks+Lleptons];
|
|---|
| 200 | Ltot = ExpandMixing /@ Expand[Ltot];
|
|---|
| 201 | Return[Ltot];
|
|---|
| 202 | ];
|
|---|
| 203 |
|
|---|
| 204 |
|
|---|
| 205 | LYukawa := Block[{sp,hh,ii,jj,ll,cc,ff1,ff2,ff3,Lleptons,Lquarks,Ltot},
|
|---|
| 206 |
|
|---|
| 207 | (* leptons *)
|
|---|
| 208 | Lleptons = yl[ff1,ff2]*LLw[sp,ii,ff1].ERw[sp,ff2]*Phibar[ii] \
|
|---|
| 209 | + 2*ySigma[ff1]*Eps[ii, jj]*Phi[jj]*Ta[hh,ii,ll]*Sigw[sp,hh].LLw[sp, ll, ff1];
|
|---|
| 210 | Lleptons = ExpandIndices[Lleptons, FlavorExpand -> {SU2W, SU2D}] /. ySigma[ii_?(Head[#] =!= Index &)] -> ySigma[Index[Generation, ii]];
|
|---|
| 211 | Lleptons = OptimizeIndex /@ Expand[WeylToDirac[Lleptons]];
|
|---|
| 212 |
|
|---|
| 213 | (* quarks *)
|
|---|
| 214 | Lquarks = -yd[ff2,ff3] CKM[ff1,ff2] QLbar[sp,ii,ff1,cc].dR [sp,ff3,cc] Phi[ii] \
|
|---|
| 215 | - yu[ff1,ff2] QLbar[sp,ii,ff1,cc].uR [sp,ff2,cc] Phibar[jj] Eps[ii,jj];
|
|---|
| 216 | Lquarks = ExpandIndices[Lquarks, FlavorExpand -> {SU2W, SU2D}]/.{CKM[a_,b_]*Conjugate[CKM[a_,c_]] :> IndexDelta[a,c]};
|
|---|
| 217 |
|
|---|
| 218 | (* output *)
|
|---|
| 219 | Ltot = ExpandMixing /@ Expand[ExpandIndices /@ (Lleptons+Lquarks+ HC[Lleptons+Lquarks])];
|
|---|
| 220 | Return[Ltot];
|
|---|
| 221 | ];
|
|---|
| 222 |
|
|---|
| 223 |
|
|---|
| 224 | LTypeIII := {ExpandIndices[LGauge], LFermions, ExpandIndices[LHiggs], LYukawa, ExpandIndices[LGhost]};
|
|---|
| 225 |
|
|---|