|
|
---
|
|
|
title: Vertices
|
|
|
permalink: /Vertices/
|
|
|
---
|
|
|
|
|
|
[Category:Calculations](/Category:Calculations "wikilink")
|
|
|
|
|
|
Calculation of vertices
|
|
|
-----------------------
|
|
|
|
|
|
Vertices are not automatically calculated during the initialization of a model like this is done for mass matrices and tadpole equations. However, the calculation can be started very easily. In general, SARAH is optimized for the extraction of three- and four-point interactions with renormalizable operators. That means, usually only the following generic interactions are taken into account in the calculations: interactions of two fermions or two ghosts with one scalar or vector bosons (`FFS`, `FFV`, `GGS`, `GGV` ), interactions of three or four scalars or vector bosons (`SSS`, `SSSS`, `VVV`, `VVVV` ), as well as interactions of two scalars with one or two vector bosons (`SSV`, `SSVV` ) or two vector bosons with one scalar (`SVV` ).
|
|
|
In this context, vertices not involving fermions are calculated by
|
|
|
|
|
|
$\\begin{aligned}
|
|
|
V(\\eta_a,\\eta_b,\\eta_c) \\equiv & i \\frac{\\partial^3 \\mathfrak{L}}{\\partial \\eta_a \\partial \\eta_b \\partial \\eta_c} = C \\Gamma \\\\
|
|
|
V(\\eta_a,\\eta_b,\\eta_c, \\eta_d) \\equiv= & i \\frac{\\partial^4 \\mathfrak{L}}{\\partial \\eta_a \\partial \\eta_b \\partial \\eta_c \\partial \\eta_d} = C \\Gamma\\end{aligned}$
|
|
|
|
|
|
Here,*η*<sub>*i*</sub> are either scalars, vector bosons, or ghosts. The results are expressed by a coefficient*C* which is a Lorentz invariant and a Lorentz factor*Γ* which involves*γ*<sub>*μ*</sub>,*p*<sub>*μ*</sub>, or*g*<sup>*μ**ν*</sup>. Vertices for Dirac fermions are first expressed in terms of Weyl fermions. The two vertices are then calculated separately. Taking two Dirac fermions*F*<sub>*a*</sub> = (*Ψ*<sub>*a*</sub><sup>1</sup>, *Ψ*<sub>*a*</sub><sup>2\*</sup>),*F*<sub>*b*</sub> = (*Ψ*<sub>*b*</sub><sup>1</sup>, *Ψ*<sub>*b*</sub><sup>2\*</sup>) and distinguishing the two cases for fermion–vector and fermion–scalar couplings, the vertices are calculated and expressed by
|
|
|
|
|
|
$\\begin{aligned}
|
|
|
V(\\bar F_a,F_b,V_c) &= \\{V(\\Psi_a^{1 \*},\\Psi_b^1,V_c), V(\\Psi_a^2,\\Psi_b^{2\*},V_c)\\} \\equiv \\{C^L \\gamma_\\mu P_L, C^R \\gamma_\\mu P_R\\} \\\\
|
|
|
V(\\bar F_a,F_b,S_c) &= \\{V(\\Psi_a^2,\\Psi_b^1,S_c), V(\\Psi_a^{1\*},\\Psi_b^{2\*},V_c)\\} \\equiv \\{C^L P_L, C^R P_R\\}\\end{aligned}$
|
|
|
|
|
|
Here, the polarization operators*P*<sub>*L*, *R*</sub> are used.
|
|
|
The user can either calculate specific vertices for a particular set of external states or call functions that SARAH derives all existing interactions from the Lagrangian. The first option might be useful to check the exact structure of single vertices, while the second one is needed to get all vertices to write model files for other tools.
|
|
|
|
|
|
Calculating specific vertices with SARAH
|
|
|
----------------------------------------
|
|
|
|
|
|
Vertices are calculated by
|
|
|
|
|
|
Vertex[ParticleList,Options]
|
|
|
|
|
|
`ParticleList` is a list containing the involved fields.
|
|
|
The following `Options` are supported by the `Vertex` command:
|
|
|
|
|
|
1. `Eigenstates`, Value: `$EIGENSTATES`, Default: Last entry in `NameOfState`
|
|
|
Fixes the considered eigenstates
|
|
|
2. `UseDependences`: Value `True` or `False`, Default: `False`
|
|
|
Optional relations between the parameters (see section \[parameterFile\]) will be used, if `UseDependences` is set to `True`.
|
|
|
|
|
|
The output of `Vertex` is an array:
|
|
|
|
|
|
{{ParticleList},{{Coefficient 1, Lorentz 1},{Coefficient 2, Lorentz 2},...}
|
|
|
|
|
|
First, the list of the involved particles is given and the indices are inserted. The second part consists of the value of the vertex and can be also a list, if different Lorentz structures are possible. In the part independent of any Lorentz index the following symbols can appear
|
|
|
|
|
|
1. `Delta[a,b]`: Kronecker delta*δ*<sub>*α**β*</sub>
|
|
|
2. `ThetaStep[i,j]`: Step function*Θ*<sub>*i**j*</sub>
|
|
|
3. `Lam[t,a,b]`: Gell-Mann matrix*λ*<sub>*α**β*</sub><sup>*t*</sup>
|
|
|
4. `LambdaProd[x,y][a,b]`: Matrix product of two Gell-Mann matrices(*λ*<sup>*x*</sup>*λ*<sup>*y*</sup>)<sub>*α**β*</sub>
|
|
|
5. `Sig[t,a,b]`: Pauli matrix*σ*<sub>*α**β*</sub><sup>*t*</sup>
|
|
|
6. `SigmaProd[x,y][a,b]`: Matrix product of two Pauli matrices(*σ*<sup>*x*</sup>*σ*<sup>*y*</sup>)<sub>*α**β*</sub>
|
|
|
7. `fSU3[i,j,k]`: Structure constants of*S**U*(3)
|
|
|
*f*<sup>*i**j**k*</sup>
|
|
|
8. `fSU2[i,j,k]`: Structure constants of*S**U*(2)
|
|
|
*ϵ*<sup>*i**j**k*</sup>
|
|
|
9. `FST[SU[N]][i,j,k]`: Structure constants of*S**U*(*N*)
|
|
|
*f*<sub>*N*</sub><sup>*i**j**k*</sup>
|
|
|
10. `TA[SU[N]][a,i,j]`: Generator of*S**U*(*N*)
|
|
|
*T*<sub>*i**j*</sub><sup>*a*</sup>
|
|
|
11. Couplings, e.g. `g1`, `g2`, `g3`, `Ye[a,b]`, `Yd[a,b]`, `Yu[a,b]`, …
|
|
|
12. Mixing matrices, e.g. `ZD[a,b]`, …
|
|
|
|
|
|
The part transforming under the Lorentz group can consist of
|
|
|
|
|
|
1. `gamma[lor]`: Gamma matrix*γ*<sub>*μ*</sub>
|
|
|
2. `g[lor1,lor2]`: Metric tensor*g*<sub>*μ**ν*</sub>
|
|
|
3. `Mom[particle,lor]`: Momentum*p*<sub>*P*</sub><sup>*μ*</sup> of particle*P*
|
|
|
4. `PL`, `PR`: Polarization operators$P_L = \\frac{1 - \\gamma_5}{2}$,$P_R = \\frac{1+\\gamma_5}{2}$
|
|
|
5. `1`: If the vertex is a Lorentz scalar.
|
|
|
6. `LorentzProduct[_,_]:` A non commutative product of terms transforming under the Lorentz group
|
|
|
|
|
|
#### Examples
|
|
|
|
|
|
Some examples to clarify the usage and output of `Vertex`:
|
|
|
|
|
|
1. <span>**One possible Lorentz structure:**</span> `Vertex[{hh,Ah,Z}]` leads to the vertex of scalar and a pseudo scalar Higgs with a*Z*-boson
|
|
|
{{hh[{gt1}], Ah[{gt2}], VZ[{lt3}]},
|
|
|
{((MA[gt2,1]*MH[gt1,1] - MA[gt2,2]*MH[gt1,2])*(g2*Cos[ThetaW]+g1*Sin[ThetaW]))/2,
|
|
|
Mom[Ah[{gt2}], lt3] - Mom[hh[{gt1}],lt3]}}
|
|
|
|
|
|
The output is divided in two parts. First, the involved particles are given, second, the value of the vertex is given. This second part is again split in two parts: one is the Lorentz independent part and the second part defines the transformation under the Lorentz group.
|
|
|
|
|
|
2. <span>**Several possible Lorentz structures**</span> `Vertex[{bar[Fd],Fd,hh}]` is the interaction between d-quarks and a Higgs:
|
|
|
{{bar[Fd[{gt1, ct1}]], Fd[{gt2, ct2}], hh[{gt3}]},
|
|
|
{((-I)*Delta[ct1,ct2]*Delta[gt1,gt2]*MH[gt3,2]*Yd[gt2,gt1])/Sqrt[2],PL},
|
|
|
{((-I)*Delta[ct1,ct2]*Delta[gt1,gt2]*MH[gt3,2]*Yd[gt1,gt2])/Sqrt[2],PR}}
|
|
|
|
|
|
Obviously, there are three parts: one for the involved particles and two for the different Lorentz structures. `PL` and `PR` are the polarization projectors$P_L = \\frac{1}{2} (1 - \\gamma_5), P_R = \\frac{1}{2} (1 + \\gamma_5)$.
|
|
|
|
|
|
3. <span>**Changing the considered eigenstates and using Weyl fermions**</span> It is also possible to calculate the vertices for Weyl fermions and/or to consider the gauge eigenstates. For instance,
|
|
|
Vertex[{fB, FdL, conj[SdL]}, Eigenstates -> GaugeES]
|
|
|
|
|
|
returns
|
|
|
|
|
|
{{fB, FdL[{gt2, ct2}], conj[SdL[{gt3, ct3}]]},
|
|
|
{((-I/3)*g1*Delta[ct2, ct3]*Delta[gt2, gt3])/Sqrt[2],1}}
|
|
|
|
|
|
4. <span>**Using dependences**</span> With `Vertex[{conj[Se], Se, VP}, UseDependences -> True]`*g*<sub>1</sub> and*g*<sub>2</sub> are replaced by the electric charge*e*. This and similar relations can be defined in [parameters.m](/parameters.m "wikilink")).
|
|
|
{{conj[Se[{gt1}]], Se[{gt2}], VP[{lt3}]},
|
|
|
{(-I)*e*Delta[gt1,gt2],-Mom[conj[Se[{gt1}]],lt3]+Mom[Se[{gt2}],lt3]}}
|
|
|
|
|
|
5. <span>**Fixing the generations**</span> It is possible to give the indices of the involved particles already as input
|
|
|
Vertex[{hh[{1}], hh[{1}], Ah[{2}], Ah[{2}]}]
|
|
|
|
|
|
leads to
|
|
|
|
|
|
{{hh[{1}], hh[{1}], Ah[{2}], Ah[{2}]},
|
|
|
{(-I/4)*(g1^2 + g2^2)*Cos[2*\[Alpha]]*Cos[2*\[Beta]], 1}}
|
|
|
|
|
|
Obviously, the given definition of the mixing matrices for the Higgs fields were automatically inserted. If the indices are fixed by a replacement, the definition of the mixing matrix wouldn’t be used
|
|
|
|
|
|
Vertex[{hh, hh, Ah, Ah}] /. {gt1->1, gt2->1,gt3->2, gt3->2}
|
|
|
|
|
|
returns
|
|
|
|
|
|
{{hh[{1}], hh[{1}], Ah[{2}], Ah[{gt4}]},
|
|
|
{(-I/4)*(g1^2 + g2^2)*(conj[ZA[2, 1]]*conj[ZA[gt4, 1]] -
|
|
|
conj[ZA[2, 2]]*conj[ZA[gt4, 2]])*(conj[ZH[1, 1]]^2 - conj[ZH[1, 2]]^2), 1}}
|
|
|
|
|
|
However,
|
|
|
|
|
|
Vertex[{hh, hh, Ah, Ah}] /. {gt1->1, gt2->1,gt3->2, gt3->2} /.subAlways
|
|
|
|
|
|
leads to the former expression using the mixing angle*β*.
|
|
|
|
|
|
6. <span>**Effective operators**</span> In effective theories also interactions between two fermions and two scalars are possible. As example an effective vertex for a model in which the gluino was integrated out:
|
|
|
Vertex[{Fd, Fd, conj[Sd], conj[Sd]}]
|
|
|
|
|
|
Returns
|
|
|
|
|
|
{{Fd[{gt1, ct1}], Fd[{gt2, ct2}], conj[Sd[{gt3, ct3}]], conj[Sd[{gt4, ct4}]]},
|
|
|
{-(g3^2*(sum[j1, 1, 8, (Lam[j1, ct3, ct2]*Lam[j1, ct4, ct1])/Mass[fG][j1]]*
|
|
|
ZD[gt3, gt2]*ZD[gt4, gt1] +
|
|
|
sum[j1, 1, 8, (Lam[j1, ct3, ct1]*Lam[j1, ct4, ct2])/Mass[fG][j1]]*
|
|
|
ZD[gt3, gt1]*ZD[gt4, gt2])),
|
|
|
LorentzProduct[PL, PL]}, {0, LorentzProduct[PR, PL]},
|
|
|
{g3^2*(sum[j1, 1, 8, (Lam[j1, ct2, ct3]*Lam[j1, ct4, ct1])/Mass[fG][j1]]*
|
|
|
ZD[gt3, 3 + gt2]*ZD[gt4, gt1] +
|
|
|
sum[j1, 1, 8, (Lam[j1, ct2, ct4]*Lam[j1, ct3, ct1])/Mass[fG][j1]]*
|
|
|
ZD[gt3, gt1]*ZD[gt4, 3 + gt2]),
|
|
|
LorentzProduct[PL, PR]}, {0, LorentzProduct[PR, PR]},
|
|
|
{0, LorentzProduct[gamma,PL, PL]}, {0, LorentzProduct[gamma, PR, PL]},
|
|
|
{0, LorentzProduct[gamma, PL, PR]}, {0, LorentzProduct[gamma,PR, PR]}}
|
|
|
|
|
|
Obviously, SARAH checks the eight possible operators (4 different combination of polarization operators with and without a*γ* matrix) and returns the result for each operator.
|
|
|
|
|
|
Calculating all vertices at once
|
|
|
--------------------------------
|
|
|
|
|
|
To calculate all vertices at once for a given model, use
|
|
|
|
|
|
MakeVertexList[Eigenstates,Options]
|
|
|
|
|
|
First, the name of the eigenstates has to be given. The possible options are:
|
|
|
|
|
|
1. `effectiveOperators`, Values: `True` or `False`, Default: `False`
|
|
|
If also higher dimensional operators should be calculated. By default, this concerns only four point interactions.
|
|
|
2. `SixParticleInteractions`, Values: `True` or `False`, Default: `False`
|
|
|
If also the six-point interactions should be calculated.
|
|
|
3. `GenericClasses`, Values: `All` or a list of generic types, Default: `All`
|
|
|
Calculates the vertices only for the given types of interaction
|
|
|
|
|
|
The results are saved in list named
|
|
|
|
|
|
SA`VertexList[Type]
|
|
|
|
|
|
with `Type` = { `SSS`, `SSSS`, `SSVV`, `SSV`, `SVV`, `FFS`, `FFV`, `VVV`, `VVVV`, `GGS`, `GGV`, `ASS`}.
|
|
|
|
|
|
Output
|
|
|
------
|
|
|
|
|
|
The vertices are exported into many different formats. They are saved in the SARAH internal format and they can be written to [LaTeX](/LaTeX "wikilink") files. The main purpose is the export into formats which can be used with other tools. SARAH writes model files for
|
|
|
|
|
|
- [FeynArts](/FeynArts "wikilink")
|
|
|
- [WHIZARD](/WHIZARD "wikilink")
|
|
|
- [CalcHep/CompHep](/CalcHep/CompHep "wikilink")
|
|
|
- in the [UFO](/UFO "wikilink") format.
|
|
|
|
|
|
The UFO format is supported by MadGraph, Herwigg+ and Sherpa. Thus, by the output of the vertices into these different format, SARAH provides an implementation of a given model in a wide range of HEP tools. In addition, SARAH generates also Fortran-code to implement all vertices in SPheno.
|
|
|
|
|
|
See also
|
|
|
-------- |
|
|
\ No newline at end of file |