Installing Matchete:

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

Toy-model with vector-like fermions

Load Matchete

<<Matchete`

Definition of the model

Lagrangian:

Define: gauge group, fields and coupling

Define symmetries

DefineGaugeGroup[U1e,U1,e,A]

Write field-strength tensors:

FS[A,μ,ν]

Print in readable format

FS[A,μ,ν]//NiceForm

Define fields

Get description of a function:

?DefineField

DefineField[Ψ, Fermion, Charges->{U1e[1]},Mass->{Heavy,M}]
DefineField[ψ, Fermion, Charges->{U1e[1]}, Mass->0]
DefineField[ϕ,Scalar,Mass->Light,SelfConjugate->True]

Write down fields:

Ψ[]
%//NiceForm

Define couplings

DefineCoupling[y]

Write couplings

y[]
%//NiceForm

Lagrangian

Free Lagrangian

FreeLag[]//NiceForm

Interaction Lagrangian

ℒint=-y[] Bar[ψ[]]**PR**Ψ[] ϕ[]//PlusHc;
%//NiceForm

ℒint//HcSimplify//NiceForm

Define Lagrangian

ℒUV=FreeLag[]+ℒint;
%//NiceForm

Check UV Lagrangian for hermiticity, gauge anomalies, ...

CheckLagrangian[ℒUV]

Lagrangian of light fields

ℒlight=FreeLag[ψ,ϕ,A];
%//NiceForm

Matching: deriving the effective Lagrangian

Tree-level

Matching

ℒEFT0=Match[ℒUV,LoopOrder->0,EFTOrder->6];

ℒEFT0-ℒlight//NiceForm

Off-shell simplifications of redundant operators

Apply off-shell identities, such as IBP.

ℒEFT0OffShell=ℒEFT0//GreensSimplify;

ℒEFT0OffShell-ℒlight//NiceForm

GreensSimplify tries to symmetrize its output.

ℒEFT0OffShell-ℒlight//HcSimplify//NiceForm

On-shell simplifications of redundant operators (field redefinitions/EOM)

ℒEFT0OnShell=ℒEFT0//EOMSimplify;

ℒEFT0OnShell-ℒlight//NiceForm

The light fermion is defined massless, thus its EOM read (Subscript[γ, μ])(D^μ)ψ=0.

EOMSimplify uses field redefinitions and not the equations of motion.
Here, for d=6 the two results agree.

One-loop

Matching

ℒEFT=Match[ℒUV,LoopOrder->1,EFTOrder->6]/.(ϵ^(-1))->0//EchoTiming;

ℒEFT-ℒlight//CollectOperators//NiceForm

Off-shell simplifications of redundant operators

Simplify to the Green basis using integration by parts and collect Hermitian conjugate terms in + H.c.

ℒEFTOffShell=ℒEFT //GreensSimplify;
ℒEFTOffShell//HcSimplify //NiceForm

On-shell simplifications of redundant operators (field redefinitions/EOM)

Simplify to the physical basis using field redefinitions. Scalar and fermion kinetic terms are canonically normalized.

ℒEFTOnShell=ℒEFT //EOMSimplify//EchoTiming;

ℒEFTOnShell//NiceForm

Show effective couplings defined in the last step and full expression as a function of the initial couplings

PrintEffectiveCouplings[ℒEFTOnShell]

ReplaceEffectiveCouplings[ℒEFTOnShell]//NiceForm

Select a specific operator

SelectOperatorClass[ℒEFTOnShell,{ϕ,ϕ,ϕ,ϕ},0]//NiceForm