I'm trying to draw a gg->ttZ Feynman diagram using the TikZ-Fenyman package, and so far here's what I have:
\documentclass[12pt]{article}
\usepackage{tikz}
\usepackage[compat=1.1.0]{tikz-feynman}
\begin{document}
\feynmandiagram[medium, layered layout, vertical=a to c] {
g1 [particle=\(g\)] -- [gluon] a -- [fermion] b [particle=\(t\)],
{ [same layer] c -- [fermion, edge label=\(t\)] e -- [fermion, edge label=\(t\)] a},
e -- [photon, edge label=\(Z\)] f,
g [particle=\(\nu\)] -- [anti fermion] f -- [anti fermion] h [particle=\(\bar{\nu}\)],
g2 [particle=\(g\)] -- [gluon] c -- [anti fermion] d [particle=\(\bar{t}\)],
};
\end{document}
How can I do the following:
- have the external neutrinos and tops lined up?
- have the Z correctly splitting in a pair of neutrinos?
- (extra) make the diagram a bit more compact by reducing the length of the internal top propagators?
Best Answer
Good to see TikZ-Feynman being put to good use!
So, the main issue here is that the
layered layout
(unlike most other algorithms) takes into account the order in which vertices are specified. In particular, it has a notion of layers and with:This tells it that
a
is on the layer aboveb
and is distinct fromb -- a
. So in your example, you haveand as a result, the neutrino at
g
is on the layer abovef
which itself is a layer above the antineutrino ath
, hence why the neutrino is awkwardly sitting at the bottom of the central fermion line.Now as to make it more compact, you can use
sibling distance
andlayer distance
to adjust the separation between vertices on the same layer or across layers respectively.With all this, two of the three dot-points above are addressed:
Finally, if you want even finer control on everything, then the algorithm won't be able to meet all your needs and you'll have to adjust things manually. You can see some example of this being done at: