Scotogenic model
SMEFT'2022 Physics School

Load MME results

<<"Scotogenic_MM/MatchingResult.dat";

(* Matching in the physical basis *)
matching=MatchingResult[[3]];

Convert MME results to DsixTools format

Start DsixTools

<<DsixTools`

Routines

MMEtoD6[a_]:=Block[{MMEname},
If[MatchQ[a,CG],MMEname=alphaO3G];
If[MatchQ[a,CGtilde],MMEname=alphaO3Gt];
If[MatchQ[a,CW],MMEname=alphaO3W];
If[MatchQ[a,CWtilde],MMEname=alphaO3Wt];
If[MatchQ[a,CH],MMEname=alphaOH];
If[MatchQ[a,CHbox],MMEname=alphaOHBox];
If[MatchQ[a,CHD],MMEname=alphaOHD];
If[MatchQ[a,CHG],MMEname=alphaOHG];
If[MatchQ[a,CHB],MMEname=alphaOHB];
If[MatchQ[a,CHW],MMEname=alphaOHW];
If[MatchQ[a,CHWB],MMEname=alphaOHWB];
If[MatchQ[a,CHGtilde],MMEname=alphaOHGt];
If[MatchQ[a,CHBtilde],MMEname=alphaOHBt];
If[MatchQ[a,CHWtilde],MMEname=alphaOHWt];
If[MatchQ[a,CHWtildeB],MMEname=alphaOHWBt];
If[MatchQ[a,CuH[__]],MMEname=alphaOuH@@a];
If[MatchQ[a,CdH[__]],MMEname=alphaOdH@@a];
If[MatchQ[a,CeH[__]],MMEname=alphaOeH@@a];
If[MatchQ[a,CeW[__]],MMEname=alphaOeW@@a];
If[MatchQ[a,CeB[__]],MMEname=alphaOeB@@a];
If[MatchQ[a,CuG[__]],MMEname=alphaOuG@@a];
If[MatchQ[a,CuW[__]],MMEname=alphaOuW@@a];
If[MatchQ[a,CuB[__]],MMEname=alphaOuB@@a];
If[MatchQ[a,CdG[__]],MMEname=alphaOdG@@a];
If[MatchQ[a,CdW[__]],MMEname=alphaOdW@@a];
If[MatchQ[a,CdB[__]],MMEname=alphaOdB@@a];
If[MatchQ[a,CHl1[__]],MMEname=alphaOHl1@@a];
If[MatchQ[a,CHl3[__]],MMEname=alphaOHl3@@a];
If[MatchQ[a,CHe[__]],MMEname=alphaOHe@@a];
If[MatchQ[a,CHq1[__]],MMEname=alphaOHq1@@a];
If[MatchQ[a,CHq3[__]],MMEname=alphaOHq3@@a];
If[MatchQ[a,CHu[__]],MMEname=alphaOHu@@a];
If[MatchQ[a,CHd[__]],MMEname=alphaOHd@@a];
If[MatchQ[a,CHud[__]],MMEname=alphaOHud@@a];
If[MatchQ[a,Cll[__]],MMEname=alphaOll@@a];
If[MatchQ[a,Cqq1[__]],MMEname=alphaOqq1@@a];
If[MatchQ[a,Cqq3[__]],MMEname=alphaOqq3@@a];
If[MatchQ[a,Clq1[__]],MMEname=alphaOlq1@@a];
If[MatchQ[a,Clq3[__]],MMEname=alphaOlq3@@a];
If[MatchQ[a,Cee[__]],MMEname=alphaOee@@a];
If[MatchQ[a,Cuu[__]],MMEname=alphaOuu@@a];
If[MatchQ[a,Cdd[__]],MMEname=alphaOdd@@a];
If[MatchQ[a,Ceu[__]],MMEname=alphaOeu@@a];
If[MatchQ[a,Ced[__]],MMEname=alphaOed@@a];
If[MatchQ[a,Cud1[__]],MMEname=alphaOud1@@a];
If[MatchQ[a,Cud8[__]],MMEname=alphaOud8@@a];
If[MatchQ[a,Cle[__]],MMEname=alphaOle@@a];
If[MatchQ[a,Clu[__]],MMEname=alphaOlu@@a];
If[MatchQ[a,Cld[__]],MMEname=alphaOld@@a];
If[MatchQ[a,Cqe[__]],MMEname=alphaOqe@@a];
If[MatchQ[a,Cqu1[__]],MMEname=alphaOqu1@@a];
If[MatchQ[a,Cqu8[__]],MMEname=alphaOqu8@@a];
If[MatchQ[a,Cqd1[__]],MMEname=alphaOqd1@@a];
If[MatchQ[a,Cqd8[__]],MMEname=alphaOqd8@@a];
If[MatchQ[a,Cledq[__]],MMEname=alphaOledq@@a];
If[MatchQ[a,Cquqd1[__]],MMEname=alphaOquqd1@@a];
If[MatchQ[a,Cquqd8[__]],MMEname=alphaOquqd8@@a];
If[MatchQ[a,Clequ1[__]],MMEname=alphaOlequ1@@a];
If[MatchQ[a,Clequ3[__]],MMEname=alphaOlequ3@@a];
(* If[MatchQ[a,Cduql[__]],MMEname=alphaOduql@@a];
If[MatchQ[a,Cqque[__]],MMEname=alphaOqque@@a];
If[MatchQ[a,Cqqql[__]],MMEname=alphaOqqql@@a];
If[MatchQ[a,Cduue[__]],MMEname=alphaOduue@@a]; *)
If[MatchQ[a,Cduql[__]],MMEname=0];
If[MatchQ[a,Cqque[__]],MMEname=0];
If[MatchQ[a,Cqqql[__]],MMEname=0];
If[MatchQ[a,Cduue[__]],MMEname=0];
If[MatchQ[a,CllHH[__]],MMEname=alphaWeinberg@@a];

Return[MMEname/.matching ]
]

(* Routine to sum over repeated indices *)
SumRepeated[x_]:=Block[{indices,list,res},

indices={};
list={MIF1,MIF2,MIF3,MIF4,MIF5,fl1,fl2,fl3,fl93,fl95,fl97,fl99,mif1,mif2,mif3,mif4,mif5};

Do[
If[MemberQ[x,list[[k]],Infinity],AppendTo[indices,{list[[k]],3}]];
,{k,Length[list]}];

If[indices=={},res=x,res=Sum[x,##]&@@indices];

Return[res];
]

lam5bar:=Conjugate[lam5];
Ynu1bar[a_]:=Conjugate[Ynu1[a]];
Ynu2bar[a_]:=Conjugate[Ynu2[a]];
Ynu3bar[a_]:=Conjugate[Ynu3[a]];
ylbar[a_,b_]:=Conjugate[yl[a,b]];
yubar[a_,b_]:=Conjugate[yu[a,b]];
ydbar[a_,b_]:=Conjugate[yd[a,b]];

Ynu={{0.1,-0.5,0.2},{-0.06,0.2,0.1},{-0.6,0.8,0.02}};

Num={MN1->10000,MN2->10100,MN3->10200,muEta->10500,lam2->0.1,lam3->0.1,lam4->0.1,lam5->10^(-7),Ynu1[a_]:>Ynu[[1,a]],Ynu2[a_]:>Ynu[[2,a]],Ynu3[a_]:>Ynu[[3,a]]};

SM values

NewInput[{CG->0},HIGHSCALE->10000];

SMEFTRunRGEs;

SMgauge={g1->D6run[gp],g2->D6run[g],g3->D6run[gs],muH->Sqrt[D6run[m2]],lam->D6run[λ]}/.μ->HIGHSCALE;
SMHiggs={muH->Sqrt[D6run[m2]],lam->D6run[λ]}/.μ->HIGHSCALE;
SMGe=Table[yl[i,j]->D6run[Ge[i,j]]/.μ->HIGHSCALE,{i,3},{j,3}];
SMGu=Table[yu[i,j]->D6run[Gu[i,j]]/.μ->HIGHSCALE,{i,3},{j,3}];
SMGd=Table[yd[i,j]->D6run[Gd[i,j]]/.μ->HIGHSCALE,{i,3},{j,3}];

SM=Join[SMgauge,SMHiggs,SMGe,SMGu,SMGd]//Flatten;

Conversion

tol=20;

D6Input=Chop[Simplify[(#->SumRepeated[MMEtoD6[#]])&/@SMEFTParametersTotal[[36;;-1]]/.onelooporder->1/.Num/.SM],10^(-tol)];

CHe[1,2]/.D6Input

CeB[1,2]/.D6Input

MCllHH/.D6Input

MCll/.D6Input

Run DsixTools

NewInput[D6Input]

(* The error messages can be ignored: they are due to tiny numerical errors *)

MCllHH/.InputValues

MCll/.InputValues

RunDsixTools

D6run[CeB[1,2]]/.μ->EWSCALE
D6run[CeW[1,2]]/.μ->EWSCALE

Table[D6run[Leγ[i,j]]/.μ->LOWSCALE,{i,3},{j,3}]

D6run[eQED]/.μ->LOWSCALE
D6run[gQCD]/.μ->LOWSCALE
D6run[LeeVLL[1,1,1,1]]/.μ->LOWSCALE
D6run[LuuS1RR[1,1,1,1]]/.μ->LOWSCALE
D6run[Leγ[2,2]]/.μ->LOWSCALE

D6run[MMν]/.μ->LOWSCALE

Observables

mμ=0.10566 GeV;
τμ=2.197*10^(-6)s;
conv=6.58*10^(-25)s GeV;
Γμ=1/τμ*conv;
L12=Abs[D6run[Leγ[1,2]]/.μ->LOWSCALE]/GeV;
L21=Abs[D6run[Leγ[2,1]]/.μ->LOWSCALE]/GeV;

L12
L21

BRMEG=mμ^3/(4Pi Γμ)(L12^2+L21^2)

Export to WCxf output file

LEFTrunnerExport["YAML","Scotogenic"]