% !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}
\definecolor{colHNL}{rgb}{.1,.5,.1} % HNL (green)
\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{colvtx}{rgb}{.9,0,0} % vertex (red)
\begin{document}
\begin{fmffile}{feyngraph}
  \fmfframe(-8,10)(10,10){ % padding (L,T)(R,B)
  \begin{fmfgraph*}(120,100) % canvas (W,H)
    % line style
    \fmfset{wiggly_len}{12} % boson wavelength
    \fmfset{wiggly_slope}{65} % boson slope of waves
    % external vertices
    \fmfleft{i2,i1}
    \fmfright{o4,o3,o2,o1}
    \fmfshift{1 up}{o2}
    \fmfshift{1 down}{o3}
    % VBF process
    \fmf{fermion,t=1.7}{i1,v1} % top incoming quark
    \fmf{fermion,t=1.7}{i2,v2} % bottom incoming quark
    \fmf{phantom,t=0.4}{v1,v2} % t-channel
    \fmf{fermion}{v1,o1} % top outgoing quark
    \fmf{fermion}{v2,o4} % bottom outgoing quark
    \fmffreeze
    % main process
    \fmf{fermion,t=1}{l1,o2} % outgoing lepton
    \fmf{fermion,t=1}{l2,o3} % outgoing lepton
    %\fmf{fermion,t=0.75,f=(.1,,.5,,.1),label=\color{colHNL} N,l.d=4}{l2,l1} % t-channel Majorana
    %\fmf{fermion,t=0.00,f=(.1,,.5,,.1)}{l1,l2} % t-channel Majorana
    \fmf{majorana,t=0.75,f=(.1,,.5,,.1),label=\color{colHNL} N$_\ell$,l.s=left,l.d=4}{l2,l1} % t-channel Majorana
    \fmf{boson,t=1.3,label=W$^\pm$,l.s=left,l.d=2}{l1,v1} % boson
    \fmf{boson,t=1.3,label=W$^\pm$,l.s=right,l.d=1}{l2,v2} % boson
    % vertices highlights
    \fmfv{d.sh=circle,d.si=3,f=(.9,,0,,0),l.d=4,l.a=-50,
          l=\normalsize\color{colvtx}$V_{\ell N}$}{l1} % neutrino
    \fmfv{d.sh=circle,d.si=3,f=(.9,,0,,0),l.d=4,l.a=50,
          l=\normalsize\color{colvtx}$V_{\ell N}$}{l2} % neutrino
    % labels
    \fmfv{l.d=5,l.a=160,l=q}{i1}
    \fmfv{l.d=4,l.a=-160,l=q$'$}{i2}
    \fmfv{l.d=5,l.a=22,l=q$''$}{o1}
    \fmfv{l.d=5,l.a=10,l=$\ell^\pm$}{o2}
    \fmfv{l.d=5,l.a=-10,l=$\ell^\pm$}{o3}
    \fmfv{l.d=5,l.a=-20,l=q$''''$}{o4}
  \end{fmfgraph*}
  } % close \fmfframe
\end{fmffile}
\end{document}