Matchete example for SMEFT meets χEFT

Install Matchete

Import["https://gitlab.com/matchete/matchete/-/raw/master/install.m"]

Load Matchete

PrependTo[$Path,FileNameJoin[{$HomeDirectory,"Desktop"}]];
<<Matchete`

We encourage you to give a look at the built-in documentation

Definition of the Standard Model

Definition of the gauge groups

Gauge fields and couplings and fundamental and adjoint representations are automatically generated (other representations can also be defined)

?DefineGaugeGroup

DefineGaugeGroup[SU3c, SU@3, gs, G, FundAlphabet -> {"a","b","c","d","e","f"},AdjAlphabet ->{"A","B","C","D","E","F"}];		DefineGaugeGroup[SU2L, SU@2, gL, W, FundAlphabet -> {"i","j","k","l","m","n"}, AdjAlphabet -> {"I","J","K","L","M","N"}];
DefineGaugeGroup[U1Y,   U1, gY, B];

Definition of flavor index

DefineFlavorIndex[Flavor,3,IndexAlphabet-> {"p","r","s","t","u","v"}];

Definition of fields

DefineField[q,Fermion,Indices->{SU3c[fund],SU2L[fund],Flavor},Charges->{U1Y[1/6]},Chiral-> LeftHanded,Mass->0];
DefineField[u,Fermion,Indices->{SU3c[fund],Flavor},Charges->{U1Y[2/3]},Chiral-> RightHanded,Mass->0];
DefineField[d,Fermion,Indices->{SU3c[fund],Flavor},Charges->{U1Y[-1/3]},Chiral-> RightHanded,Mass->0];
DefineField[l,Fermion,Indices->{SU2L[fund],Flavor},Charges->{U1Y[-1/2]},Chiral-> LeftHanded,Mass->0];
DefineField[e,Fermion,Indices->{Flavor},Charges->{U1Y[-1]},Chiral-> RightHanded,Mass->0];
(* Mass added as an interaction because it is tachyonic *)
DefineField[H,Scalar,Indices->{SU2L[fund]}, Charges->{U1Y[1/2]},Mass->0];

Definition of couplings

DefineCoupling[Yu,Indices->{Flavor,Flavor}];
DefineCoupling[Yd,Indices->{Flavor,Flavor}];
DefineCoupling[Ye,Indices->{Flavor,Flavor}];
DefineCoupling[μ,SelfConjugate->True,EFTOrder->1];
DefineCoupling[λ,SelfConjugate->True,EFTOrder->0];

Definition of couplings

YukawaLag =  Yu[p,r] Bar@q[α,i,p]**u[α,r] CG[eps[SU2L],{i,j}]Bar@H[j] + Yd[p,r] Bar@q[α,i,p]**d[α,r]H[i] + Ye[p,r] Bar@l[i,p]**e[r]H[i];
HiggsPotential = -μ[]^2 Bar@H[i]H[i] + λ[]/2 Bar@H[i]H[i]Bar@H[j]H[j];
LSM=FreeLag[] - PlusHc[YukawaLag] - HiggsPotential //RelabelIndices;

Printing the Lagrangian

HiggsPotential//NiceForm

HiggsPotential

LSM//NiceForm

Scalar-singlet extension

ResetAll[]

Definition of the model

Loading the SM

The Higgs potential parameters are relabeled to mH and λH.

LSM=LoadModel["SM"];
LSM//NiceForm

New field and couplings

Define new field

DefineField[EE, Fermion, Charges-> U1Y[-1], Mass-> {Heavy, ME}, NiceForm-> {"ℰ", "\!\(\*SubscriptBox[\(M\), \(ℰ\)]\)"}];

Define new couplings

DefineCoupling[yE, EFTOrder-> 0, Indices-> Flavor];

Lagrangian

Define Lagrangian extension

Lext=FreeLag[EE]-PlusHc[yE[p] Bar@l[i,p]**EE[] H[i]]//NiceForm

Define full UV Lagrangian

LUV=LSM+Lext//NiceForm

CheckLagrangian@LUV

CheckLagrangian[LUV,DetailedOutput->True]

Matching to the effective Lagrangian

Tree-level

Matching

LEFT0=Match[LUV,LoopOrder->0,EFTOrder->6];
LEFT0-LSM//NiceForm

Removing redundant operators off-shell

Apply IBP and other identities to reduce the output to a Green’s basis.

LEFT0OffShell=LEFT0//GreensSimplify;
LEFT0OffShell-LSM //GreensSimplify//NiceForm

Removing redundant operators on-shell

Simplify to the physical basis using field redefinitions.

LEFT0OnShell=LEFT0//EOMSimplify;
LEFT0OnShell -LSM //CollectOperators//HcSimplify//NiceForm

One-loop

Matching

LEFT=EchoTiming@Match[LUV,LoopOrder->1,EFTOrder->6]/.(ϵ^(-1))->0//NiceForm

Removing redundant operators off-shell

Apply IBP and other identities to reduce the output to a Green’s basis.

LEFTOffShell=LEFT//GreensSimplify//NiceForm

Removing redundant operators on-shell

Simplify to the physical basis using field redefinitions.

LEFTOnShell=EchoTiming@EOMSimplify[LEFT]//NiceForm

Print the effective coupling that was introduced

PrintEffectiveCouplings[LEFTOnShell]

Selecting specific operator classes

SelectOperatorClass[LEFTOnShell,{Bar@H,H,Bar@q,q},1]//GreensSimplify//NiceForm

Evanescent operators from Fierz identities

ResetAll[]

Definition of the model

LSM=LoadModel["SM"];
LSM//NiceForm

New EFT coupling

DefineCoupling[cle,Indices->{Flavor,Flavor,Flavor,Flavor},SelfConjugate->{4,3,2,1}]

Lagrangian

LEFT=LSM+cle[p,r,s,t]Bar@l[i,p]**e[r]Bar@e[s]**l[i,t]//NiceForm

Fierz simplification

GreensSimplify[LEFT,ReductionIdentities->Evanescent]-LSM//CollectOperators//NiceForm
GreensSimplify[LEFT,ReductionIdentities->EvanescenceFree]-LSM//CollectOperators//NiceForm

BMHV counterterms (private version)

PrependTo[$Path,FileNameJoin[{$HomeDirectory,"Desktop"}]];
<<MatcheteBMHV`

Lagrangian

LSM=LoadModel["SM"];
DefineCoupling[ceH, Indices-> {Flavor, Flavor}, NiceForm-> "\!\(\*SubscriptBox[\(𝒞\), \(eH\)]\)"];

LEFT=LSM+ PlusHc[ceH[p,r] Bar@H[i] H[i] H[j] Bar@l[j,p]**e[r]]//NiceForm

BMHV counterterms

LSp=SpurionCounterterms[LEFT];
LSp6=EchoTiming@SeriesEFT[LSp,EFTOrder->{6}]//GreensSimplify//NiceForm

LSp6OnShell=EchoTiming@EOMSimplify[LSM+LSp6]-LSM//GreensSimplify//NiceForm

IdentityLimit[LSp6OnShell]//GreensSimplify//NiceForm