% !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{colBSM}{rgb}{.96,.3,0} % BSM mediator (orange)
\begin{document}
\begin{fmffile}{feyngraph}
  \fmfframe(3,-17)(10,10){ % padding (L,T)(R,B)
  \begin{fmfgraph*}(140,120) % 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{o4,o3,o2,d,o1} % outgoing vertices
    \fmfshift{10 left}{o2}
    \fmfshift{5 up}{o2}
    \fmfshift{5 up}{o3}
    % skeleton
    \fmf{fermion,t=1.0}{i1,v1,i2} % incoming particles
    \fmf{phantom,t=0.35}{o4,v2,o1} % outgoing particles (pull)
    \fmf{boson,t=1.1,f=(.96,,.3,,0),label=\color{colBSM} W$_\mathrm{R}^\pm$,l.s=right,l.d=4}{v2,v1} % s-channel
    \fmffreeze
    % HNL + SM lepton
    \fmf{fermion}{n1,v2} % SM lepton
    \fmf{majorana,f=(.1,,.5,,.1),label=\color{colHNL} N$_\ell$,l.s=right,l.d=4}{v2,n2} % HNL
    \fmf{phantom,t=0.9}{n1,o1} % pull SM lepton
    \fmf{phantom,t=0.6}{n2,o4} % pull HNL
    \fmffreeze
    % HNL decay
    \fmf{fermion}{n2,o2} % outgoing particles
    \fmf{boson,t=1,f=(.96,,.3,,0),label=\color{colBSM} W$_\mathrm{R}^\pm$,l.s=right,l.d=3}{n2,v3} % W/Z boson
    \fmf{fermion}{o4,v3} % outgoing particles
    \fmffreeze
    \fmf{fermion}{v3,o3} % outgoing particles
    % labels
    \fmfv{l.d=5,l.a=155,l=q}{i1}
    \fmfv{l.d=3,l.a=-155,l=$\overline{\mathrm{q}}'$}{i2}
    \fmfv{l.d=2,l.a=40,l=$\ell^\pm$}{n1}
    \fmfv{l.d=3,l.a=26,l=$\ell'^\mp$}{o2}
    \fmfv{l.d=4,l.a=24,l=q$'$}{o3}
    \fmfv{l.d=5,l.a=-20,l=$\overline{\mathrm{q}}''$}{o4}
  \end{fmfgraph*}
  } % close \fmfframe
\end{fmffile}
\end{document}