% !TEX program = pdflatexmk
% !TEX parameter = -shell-escape
% Author: Izaak Neutelings (December 24)
% Instructions: To compile via command line, run the following twice
%   pdflatex -shell-escape extract/HNL$TAG.tex
\documentclass[11pt,border=4pt]{standalone}
\usepackage{feynmp-auto}
\usepackage{xcolor}
\usepackage{scalerel}
\newcommand{\mylbrace}[2]{\vspace{#2pt}\hspace{4pt}\scaleleftright[\dimexpr6pt+#1\dimexpr0.11pt]{\lbrace}{\rule[\dimexpr2pt-#1\dimexpr0.5pt]{-4pt}{#1pt}}{.}}
\newcommand{\myrbrace}[2]{\vspace{#2pt}\scaleleftright[\dimexpr6pt+#1\dimexpr0.11pt]{.}{\rule[\dimexpr2pt-#1\dimexpr0.5pt]{-4pt}{#1pt}}{\rbrace}\hspace{2pt}}
\definecolor{colHNL}{rgb}{.1,.5,.1} % HNL (green)
\begin{document}
\begin{fmffile}{feyngraph}
  \fmfframe(2,-11)(13,10){ % padding (L,T)(R,B)
  \begin{fmfgraph*}(150,140) % canvas (W,H)
    % line style
    \fmfset{wiggly_len}{12} % boson wavelength
    \fmfset{wiggly_slope}{65} % boson slope of waves
    % external vertices
    \fmfstraight
    \fmfleft{d,i2,d,i1,d} % incoming vertices
    \fmfright{o5,o4,o3,o2,o1} % outgoing vertices
    \fmfshift{7 down}{o2,o3}
    \fmfshift{5 down}{o4}
    % skeleton
    \fmf{fermion,t=2.5}{i1,v1} % top incoming particle
    \fmf{boson,t=2.5}{i2,v2} % bottom incoming particle (photon)
    \fmf{fermion,t=2}{v1,p1} % top outgoing particle (quark)
    \fmf{phantom,t=2}{p1,o1} % top outgoing particle (to pull quark)
    \fmf{phantom,t=2}{v2,p2,o5} % bottom outgoing particle
    \fmf{boson,t=2.8,label=W$^\pm$,l.s=right,l.d=3}{v1,v2} % t-channel W boson
    \fmffreeze
    % HNL decay
    \fmf{boson,label=W$^\pm$\!,l.s=right,l.d=4}{v2,N1} % fused W boson
    \fmf{majorana,f=(.1,,.5,,.1),label=\color{colHNL} N,l.s=right,l.d=4}{N1,N2} % HNL
    \fmf{boson,label=W$^\pm$\!,l.s=right,l.d=4}{N2,w} % W boson from HNL decay
    \fmf{fermion}{o5,w} % quark from W decay
    \fmffreeze
    % outgoing leptons
    \fmf{fermion}{l1,N1} % lepton from W decay
    \fmf{fermion}{N2,l2} % lepton from HNL decay
    % outgoing quark
    \fmf{fermion}{w,o4} % quark from W decay
    \fmf{phantom,t=1.7}{l1,o2} % pull
    \fmf{phantom,t=2.4}{l2,o3} % pull
    % labels
    \fmfv{l.d=5,l.a=155,l=q}{i1}
    \fmfv{l.d=5,l.a=-155,l=$\gamma$}{i2}
    \fmfv{l.d=5,l.a=26,l=$\ell^\pm$}{l1}
    \fmfv{l.d=5,l.a=26,l=$\ell^\pm$}{l2}
    \fmfv{l.d=5,l.a=23,l=q$'$}{p1}
    \fmfv{l.d=5,l.a=23,l=q$''$}{o4}
    \fmfv{l.d=5,l.a=-20,l=$\overline{\mathrm{q}}'''$}{o5}
  \end{fmfgraph*}
  } % close \fmfframe
\end{fmffile}
\end{document}