Quickstart manual
This section provides a brief overview over the most useful routines provided by Matchete and highlights the standard workflow used in an analysis. As an example, the one-loop matching of the singlet scalar extension of the Standard Model is discussed. The corresponding model file can be found here.
After the installation, Matchete can be loaded in a Mathematica kernel using:
<< Matchete`Model definition
The easiest way to load a UV model is to use the LoadModel routine that loads a predefined model file. For example, we can load the Standard Model definitions that are distributed with the Matchete package by evaluating:
LSM = LoadModel["SM"];Alternatively, "SM" can be replaced by the name of any other predefined model file, or by the path to a custom model file. A variety of model files are provided in the model database.
Next, the BSM fields have to be defined using DefineField. For example, a heavy scalar singlet $S$ with mass $M$ can be defined using
DefineField[S, Scalar,
SelfConjugate -> True,
Mass -> {Heavy, M}
];Note: For fields that carry gauge indices (and similarly for flavor indices), these can be added by including the option Indices. For example, Indices->{SU2L[fund]} would add a fundemanetal $SU(2)_L$ gauge index to the field. In this case, the fields has to be defiend as complex of course (SelfConjugate->False).
The BSM couplings can be defined next using DefineCoupling
DefineCoupling[A, SelfConjugate -> True];
DefineCoupling[kap, SelfConjugate -> True];
DefineCoupling[mu, SelfConjugate -> True];
DefineCoupling[lam, SelfConjugate -> True];where in this model we introduce four real coupling constants.
Finally, we can build the BSM Lagrangian. The free part can be automatically obtained with FreeLag, whereas the interaction Lagrangian can be written as:
Lint = - A[] (Bar@H[i] H[i]) S[] -
1/2 kap[] (Bar@H[i] H[i]) S[]^2 -
1/3! mu[] S[]^3 -
1/4! lam[] S[]^4;
LBSM = FreeLag[S] + Lint //RelabelIndices;where Bar denotes the bar for fermions and complex conjugation for other fields. RelabelIndices is used to assign canonical index labels to all dummy indices in the expression. Here, LBSM is the BSM part of the Lagragian, which can be displayed using NiceForm:
LBSM //NiceForm
Matching
In the next step, the heavy degree of freedom, i.e., the heavy scalar $S$, can be integrated out using Match:
LEFT = Match[LSM + LBSM,
EFTOrder -> 6,
LoopOrder -> 1
];where EFTOrder controls the order in the EFT power expansion and LoopOrder determines whether the mathing should be performed at tree level (0) or at one-loop level (1).
Redundant operator reduction
The EFT Lagrangian thus obtained contains many redundant operators. These can be reduced using off-shell relations, such as integration-by-parts identities, using GreensSimplify:
LEFToff = GreensSimplify[LEFT];This will reduce the EFT Lagrangian to an off-shell Green’s basis, denoted by LEFToff.
This reduced all redundancies due to off-shell relations, while the operators that are redundant only on-shell, that is, operators that can be removed using the equations of motion or field redefinitions, can be reduced using EOMSimplify:
LEFTon = EOMSimplify[LEFToff];where LEFTon is the EFT Lagrangian in a minimal on-shell basis. This basis is determined by the internal routines used by Matchete to reduce the redundant operators and does not agree with, e.g., the Warsaw basis. Note that EOMSimplify internally also applies all off-shell relations. Therefore, GreensSimplify does not have to be applied seperately in advance.
Mapping onto a basis
If the matching conditions should be mapped onto a specific basis of the EFT, for example, the Warsaw basis of the SMEFT, this can be achieved with the MapEffectiveCouplings routine. First, we need to load the target basis, in our case the Warsaw basis:
LSMEFT = LoadModel["SMEFT_Warsaw"];Next, we can map our Lagrangian LEFT obtained by Match, onto the Warsaw basis Lagrangian LSMEFT using:
mc = MapEffectiveCouplings[LEFT, LSMEFT,
ShiftRenCouplings -> True,
AppendEffectiveCouplingsDefs -> True,
Simplify -> True
];where the option ShiftRenCouplings->True specifies that renormalizable couplings should be shifted in order to absorb their threshold corrections. The option AppendEffectiveCouplingsDefs->True determines that the definition of all effective couplings (the three Yukawas $c_{Hqu}, c_{Hqd}, c_{Hle}$, the Higgs quartic $c_{H^4}$, and the Higgs mass $c_{H^2}$) that have been introduced when shifting the renormalizable SMEFT coupling are included in the output. The last option Simplify->True ensures that the right-hand side of the matching conditions get simplified.
The resulting non-zero matching conditions can then be displayed using:
mc /. Rule[_, 0] -> Nothing //TableForm //NiceForm
The last coupling $C_{H^2}$ is an intermediately defined Higgs mass parameter that absorbed the UV scale correction (reminiscent of the Hierarchy problem) to the Higgs mass. It is replaced by the SMEFT Higgs mass $c_{H^2}$ in the $d \geq 6$ matching conditions.
Note that in Matchete conventions the loop factor is given by $\hbar=\frac{1}{16\pi^2}.$