Below are some code examples of photon-induced processes in proton-proton collisions. See for example this CMS observation of γγ → ττ and the constrains on the τ anomalous electromagnetic moments, which I worked on. I presented some of the diagrams below in this seminar talk (UZH, 2024) and this conference talk (ICHEP, 2024).
Click on a diagram to jump to the code & download links below:
\documentclass[11pt,border=4pt]{standalone} \usepackage{feynmp-auto} \usepackage{xcolor} \definecolor{collep}{rgb}{.1,.6,.1} % lepton (green) \begin{document} \begin{fmffile}{feyngraph} \fmfframe(-4,10)(8,10){ % padding (L,T)(R,B) \begin{fmfgraph*}(110,80) % 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{o2,o1} % photons \fmf{photon}{i1,v1} \fmf{photon}{i2,v2} % taus \fmf{fermion,t=0.9,label=\color{collep}$\tau$,l.s=right,f=(.1,,.6,,.1)}{v1,v2} % t channel \fmf{fermion,f=(.1,,.6,,.1)}{o1,v1} % outgoing top lepton \fmf{fermion,f=(.1,,.6,,.1)}{v2,o2} % outgoing bottom lepton % labels \fmfv{l=$\gamma$,l.a=160,l.d=5}{i1} \fmfv{l=$\gamma$,l.a=-158,l.d=6}{i2} \fmfv{l=\strut\color{collep}$\tau^+$,l.a=12,l.d=5}{o1} \fmfv{l=\strut\color{collep}$\tau^-$\vspace{-7pt},l.a=-12,l.d=5}{o2} \fmfv{decor.shape=circle,f=(.1,,.45,,.1),decor.filled=full,decor.size=4}{v1} \fmfv{decor.shape=circle,f=(.1,,.45,,.1),decor.filled=full,decor.size=4}{v2} \end{fmfgraph*} } % close \fmfframe \end{fmffile} \end{document}
\documentclass[11pt,border=4pt]{standalone} \usepackage{feynmp-auto} \usepackage{xcolor} \definecolor{collep}{rgb}{.1,.6,.1} % lepton (green) \definecolor{colbl}{rgb}{.1,.1,.7} % vertex (dark blue) \begin{document} \begin{fmffile}{feyngraph} \fmfframe(-4,10)(8,10){ % padding (L,T)(R,B) \begin{fmfgraph*}(110,80) % 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{o2,o1} % photons \fmf{photon}{i1,v1} \fmf{photon}{i2,v2} % taus \fmf{fermion,t=0.9,label=\color{collep}$\tau$,l.s=right,f=(.1,,.6,,.1)}{v1,v2} % t channel \fmf{fermion,f=(.1,,.6,,.1)}{o1,v1} % outgoing top lepton \fmf{fermion,f=(.1,,.6,,.1)}{v2,o2} % outgoing bottom lepton % labels \fmfv{l=$\gamma$,l.a=160,l.d=5}{i1} \fmfv{l=$\gamma$,l.a=-158,l.d=6}{i2} \fmfv{l=\strut\color{collep}$\tau^+$,l.a=12,l.d=5}{o1} \fmfv{l=\strut\color{collep}$\tau^-$\vspace{-7pt},l.a=-12,l.d=5}{o2} \fmfv{decor.shape=circle,decor.filled=empty,decor.size=15, f=(.1,,.1,,.7),b=(.92,,.92,,.98),l=\large\color{colbl}$g$,l.a=0,l.d=0}{v1} \fmfv{decor.shape=circle,decor.filled=empty,decor.size=15, f=(.1,,.1,,.7),b=(.92,,.92,,.98),l=\large\color{colbl}$g$,l.a=0,l.d=0}{v2} \end{fmfgraph*} } % close \fmfframe \end{fmffile} \end{document}
\documentclass[11pt,border=4pt]{standalone} \usepackage{feynmp-auto} \usepackage{xcolor} \definecolor{collep}{rgb}{.1,.6,.1} % lepton (green) \begin{document} \begin{fmffile}{feyngraph} \fmfframe(-4,10)(8,10){ % padding (L,T)(R,B) \begin{fmfgraph*}(110,80) % 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{o2,o1} % photons \fmf{photon}{i1,v1} \fmf{photon}{i2,v2} % taus \fmf{fermion,t=0.9,label=\color{collep}$\ell$,l.s=right,f=(.1,,.6,,.1)}{v1,v2} % t channel \fmf{fermion,f=(.1,,.6,,.1)}{o1,v1} % outgoing top lepton \fmf{fermion,f=(.1,,.6,,.1)}{v2,o2} % outgoing bottom lepton % labels \fmfv{l=$\gamma$,l.a=160,l.d=5}{i1} \fmfv{l=$\gamma$,l.a=-158,l.d=6}{i2} \fmfv{l=\strut\color{collep}$\ell^+$,l.a=12,l.d=5}{o1} \fmfv{l=\strut\color{collep}$\ell^-$\vspace{-7pt},l.a=-20,l.d=5}{o2} \fmfv{decor.shape=circle,f=(.1,,.45,,.1),decor.filled=full,decor.size=4}{v1} \fmfv{decor.shape=circle,f=(.1,,.45,,.1),decor.filled=full,decor.size=4}{v2} \end{fmfgraph*} } % close \fmfframe \end{fmffile} \end{document}
\documentclass[11pt,border=4pt]{standalone} \usepackage{feynmp-auto} \usepackage{xcolor} \definecolor{coldis}{rgb}{.9,.5,.0} % disassociated (orange) \begin{document} \begin{fmffile}{feyngraph} \fmfframe(-4,10)(8,10){ % padding (L,T)(R,B) \begin{fmfgraph*}(110,80) % 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{o2,o1} % photons \fmf{photon}{i1,v1} \fmf{photon}{i2,v2} % bosons \fmf{boson,t=0.9,label=\color{coldis} W,l.s=right,f=(.9,,.5,,.0)}{v1,v2} % t channel \fmf{boson,f=(.9,,.5,,.0)}{o1,v1} % outgoing top boson \fmf{boson,f=(.9,,.5,,.0)}{v2,o2} % outgoing bottom boson % labels \fmfv{l=$\gamma$,l.a=160,l.d=5}{i1} \fmfv{l=$\gamma$,l.a=-158,l.d=6}{i2} \fmfv{l=\strut\color{coldis} W$^+$,l.a=12,l.d=5}{o1} \fmfv{l=\strut\color{coldis} W$^-$\vspace{-7pt},l.a=-16,l.d=5}{o2} %\fmfv{decor.shape=circle,f=(.9,,.5,,.0),decor.filled=full,decor.size=4}{v1} %\fmfv{decor.shape=circle,f=(.9,,.5,,.0),decor.filled=full,decor.size=4}{v2} \end{fmfgraph*} } % close \fmfframe \end{fmffile} \end{document}
\documentclass[11pt,border=4pt]{standalone} \usepackage{feynmp-auto} \usepackage{xcolor} \definecolor{collep}{rgb}{.1,.6,.1} % lepton (green) \begin{document} \begin{fmffile}{feyngraph} \fmfframe(-4,10)(8,10){ % padding (L,T)(R,B) \begin{fmfgraph*}(150,95) % canvas (W,H) % line style \fmfset{wiggly_len}{12} % boson wavelength \fmfset{wiggly_slope}{65} % boson slope of waves \fmfcmd{ % custom line style: double arrows for protons style_def proton expr p = save oldpen; pen oldpen; oldpen := currentpen; pickup oldpen scaled 1.8; % draw thick line cdraw p; % draw line cfill (arrow p) % draw arrow shifted -center p scaled 1.1 shifted center p; % scale arrow pickup oldpen; % restore line width enddef; } % external vertices \fmfleft{iq,im,ip} \fmfright{oq,t2,om,t1,op} \fmfshift{2 down}{t1} \fmfshift{2 up}{t2} % protons \fmf{proton}{ip,vp,op} \fmf{proton}{iq,vq,oq} % skeleton \fmf{phantom,t=0.4}{ip,vp} % pull to right \fmf{phantom,t=0.4}{iq,vq} % pull to right \fmf{phantom,t=0.2}{vp,vq} % t channel \fmffreeze % mediators \fmf{phantom,t=0.55}{vt1,om,vt2} % pull gtt vertex to left \fmf{fermion,t=0.35,label=\color{collep}$\tau$,l.s=right,f=(.1,,.6,,.1)}{vt1,vt2} % t channel \fmf{boson,t=1,label=$\gamma$,l.d=4,l.s=right}{vp,vt1} \fmf{boson,t=1,label=$\gamma$,l.d=3,l.s=left}{vq,vt2} % taus \fmffreeze \fmf{fermion,f=(.1,,.6,,.1)}{t1,vt1} % outgoing lepton \fmf{fermion,f=(.1,,.6,,.1)}{vt2,t2} % outgoing lepton % labels \fmfblob{15}{vp} \fmfblob{15}{vq} \fmfv{l=p$^+$,l.a=160,l.d=5}{ip} \fmfv{l=p$^+$,l.a=20,l.d=6}{op} \fmfv{l=p$^+$,l.a=-160,l.d=5}{iq} \fmfv{l=p$^+$,l.a=-20,l.d=6}{oq} \fmfv{l=\strut\color{collep}$\tau^+$,l.a=10,l.d=5}{t1} \fmfv{l=\strut\color{collep}$\tau^-$,l.a=-10,l.d=5}{t2} %\fmfv{decor.shape=circle,decor.filled=full,decor.size=5,f=black}{vp} %\fmfv{decor.shape=circle,decor.filled=full,decor.size=5,f=black}{vq} \fmfv{decor.shape=circle,f=(.1,,.45,,.1),decor.filled=full,decor.size=4}{vt1} \fmfv{decor.shape=circle,f=(.1,,.45,,.1),decor.filled=full,decor.size=4}{vt2} \end{fmfgraph*} } % close \fmfframe \end{fmffile} \end{document}
\documentclass[11pt,border=4pt]{standalone} \usepackage{feynmp-auto} \usepackage{xcolor} \definecolor{collep}{rgb}{.1,.6,.1} % lepton (green) \begin{document} \begin{fmffile}{feyngraph} \fmfframe(-4,18)(8,10){ % padding (L,T)(R,B) \begin{fmfgraph*}(150,100) % canvas (W,H) % line style \fmfset{wiggly_len}{12} % boson wavelength \fmfset{wiggly_slope}{65} % boson slope of waves \fmfcmd{ % custom line style: double arrows for protons style_def proton expr p = save oldpen; pen oldpen; oldpen := currentpen; pickup oldpen scaled 1.8; % draw thick line cdraw p; % draw line cfill (arrow p) % draw arrow shifted -center p scaled 1.1 shifted center p; % scale arrow pickup oldpen; % restore line width enddef; } % external vertices \fmfleft{iq,im,ip} \fmfright{oq,t2,om,t1,op} \fmfshift{2 down}{t1} \fmfshift{2 up}{t2} % protons \fmf{proton}{ip,vp} \fmf{phantom}{vp,op} \fmf{proton}{iq,vq,oq} % skeleton \fmf{phantom,t=0.4}{ip,vp} % pull to right \fmf{phantom,t=0.4}{iq,vq} % pull to right \fmf{phantom,t=0.2}{vp,vq} % t channel \fmffreeze % diffracted proton \fmfi{fermion,f=(.9,,.5,,.0)}{vpath (__vp,__op) scaled 1.01 shifted(4, 2.5) rotatedaround(vloc(__vp), 9)} \fmfi{fermion,f=(.9,,.5,,.0)}{vpath (__vp,__op) scaled 1.01 shifted(4, 0.0) rotatedaround(vloc(__vp), 1)} \fmfi{fermion,f=(.9,,.5,,.0)}{vpath (__vp,__op) scaled 1.01 shifted(4,-2.5) rotatedaround(vloc(__vp),-7)} % mediators \fmf{phantom,t=0.55}{vt1,om,vt2} % pull gtt vertex to left \fmf{fermion,t=0.35,label=\color{collep}$\tau$,l.s=right,f=(.1,,.6,,.1)}{vt1,vt2} % t channel \fmf{boson,t=1,label=$\gamma$,l.d=4,l.s=right}{vp,vt1} \fmf{boson,t=1,label=$\gamma$,l.d=3,l.s=left}{vq,vt2} % taus \fmffreeze \fmf{fermion,f=(.1,,.6,,.1)}{t1,vt1} % outgoing lepton \fmf{fermion,f=(.1,,.6,,.1)}{vt2,t2} % outgoing lepton % labels \fmfblob{15}{vp} \fmfblob{15}{vq} \fmfv{l=p$^+$,l.a=160,l.d=5}{ip} %\fmfv{l=$X$,l.a=20,l.d=12}{op} \fmfv{l=p$^+$,l.a=-160,l.d=5}{iq} \fmfv{l=p$^+$,l.a=-20,l.d=6}{oq} \fmfv{l=\strut\color{collep}$\tau^+$,l.a=10,l.d=5}{t1} \fmfv{l=\strut\color{collep}$\tau^-$,l.a=-10,l.d=5}{t2} %\fmfv{decor.shape=circle,decor.filled=full,decor.size=5,f=black}{vq} \fmfv{decor.shape=circle,f=(.1,,.45,,.1),decor.filled=full,decor.size=4}{vt1} \fmfv{decor.shape=circle,f=(.1,,.45,,.1),decor.filled=full,decor.size=4}{vt2} \end{fmfgraph*} } % close \fmfframe \end{fmffile} \end{document}
\documentclass[11pt,border=4pt]{standalone} \usepackage{feynmp-auto} \usepackage{xcolor} \definecolor{collep}{rgb}{.1,.6,.1} % lepton (green) \begin{document} \begin{fmffile}{feyngraph} \fmfframe(-4,18)(8,18){ % padding (L,T)(R,B) \begin{fmfgraph*}(150,100) % canvas (W,H) % line style \fmfset{wiggly_len}{12} % boson wavelength \fmfset{wiggly_slope}{65} % boson slope of waves \fmfcmd{ % custom line style: double arrows for protons style_def proton expr p = save oldpen; pen oldpen; oldpen := currentpen; pickup oldpen scaled 1.8; % draw thick line cdraw p; % draw line cfill (arrow p) % draw arrow shifted -center p scaled 1.1 shifted center p; % scale arrow pickup oldpen; % restore line width enddef; } % external vertices \fmfleft{iq,im,ip} \fmfright{oq,t2,om,t1,op} \fmfshift{2 down}{t1} \fmfshift{2 up}{t2} % protons \fmf{proton}{ip,vp} \fmf{phantom}{vp,op} \fmf{proton}{iq,vq} \fmf{phantom}{vq,oq} % skeleton \fmf{phantom,t=0.4}{ip,vp} % pull to right \fmf{phantom,t=0.4}{iq,vq} % pull to right \fmf{phantom,t=0.2}{vp,vq} % t channel \fmffreeze % diffracted proton \fmfi{fermion,f=(.9,,.5,,.0)}{vpath (__vp,__op) scaled 1.01 shifted(4, 2.5) rotatedaround(vloc(__vp), 9)} \fmfi{fermion,f=(.9,,.5,,.0)}{vpath (__vp,__op) scaled 1.01 shifted(4, 0.0) rotatedaround(vloc(__vp), 1)} \fmfi{fermion,f=(.9,,.5,,.0)}{vpath (__vp,__op) scaled 1.01 shifted(4,-2.5) rotatedaround(vloc(__vp),-7)} \fmfi{fermion,f=(.9,,.5,,.0)}{vpath (__vq,__oq) scaled 1.01 shifted(4,-2.5) rotatedaround(vloc(__vq),-9)} \fmfi{fermion,f=(.9,,.5,,.0)}{vpath (__vq,__oq) scaled 1.01 shifted(4, 0.0) rotatedaround(vloc(__vq),-1)} \fmfi{fermion,f=(.9,,.5,,.0)}{vpath (__vq,__oq) scaled 1.01 shifted(4, 2.5) rotatedaround(vloc(__vq),7)} % mediators \fmf{phantom,t=0.55}{vt1,om,vt2} % pull gtt vertex to left \fmf{fermion,t=0.35,label=\color{collep}$\tau$,l.s=right,f=(.1,,.6,,.1)}{vt1,vt2} % t channel \fmf{boson,t=1,label=$\gamma$,l.d=4,l.s=right}{vp,vt1} \fmf{boson,t=1,label=$\gamma$,l.d=3,l.s=left}{vq,vt2} % taus \fmffreeze \fmf{fermion,f=(.1,,.6,,.1)}{t1,vt1} % outgoing lepton \fmf{fermion,f=(.1,,.6,,.1)}{vt2,t2} % outgoing lepton % labels \fmfblob{15}{vp} \fmfblob{15}{vq} \fmfv{l=p$^+$,l.a=160,l.d=5}{ip} %\fmfv{l=$X$,l.a=20,l.d=12}{op} \fmfv{l=p$^+$,l.a=-160,l.d=5}{iq} %\fmfv{l=p$^+$,l.a=-20,l.d=6}{oq} \fmfv{l=\strut\color{collep}$\tau^+$,l.a=10,l.d=5}{t1} \fmfv{l=\strut\color{collep}$\tau^-$,l.a=-10,l.d=5}{t2} \fmfv{decor.shape=circle,f=(.1,,.45,,.1),decor.filled=full,decor.size=4}{vt1} \fmfv{decor.shape=circle,f=(.1,,.45,,.1),decor.filled=full,decor.size=4}{vt2} \end{fmfgraph*} } % close \fmfframe \end{fmffile} \end{document}
\documentclass[11pt,border=4pt]{standalone} \usepackage{feynmp-auto} \usepackage{xcolor} \definecolor{collep}{rgb}{.1,.6,.1} % lepton (green) \definecolor{colbl}{rgb}{.1,.1,.7} % vertex (dark blue) \begin{document} \begin{fmffile}{feyngraph} \fmfframe(-4,10)(8,10){ % padding (L,T)(R,B) \begin{fmfgraph*}(150,95) % canvas (W,H) % line style \fmfset{wiggly_len}{12} % boson wavelength \fmfset{wiggly_slope}{65} % boson slope of waves \fmfcmd{ % custom line style: double arrows for protons style_def proton expr p = save oldpen; pen oldpen; oldpen := currentpen; pickup oldpen scaled 1.8; % draw thick line cdraw p; % draw line cfill (arrow p) % draw arrow shifted -center p scaled 1.1 shifted center p; % scale arrow pickup oldpen; % restore line width enddef; } % external vertices \fmfleft{iq,im,ip} \fmfright{oq,t2,om,t1,op} \fmfshift{2 down}{t1} \fmfshift{2 up}{t2} % protons \fmf{proton}{ip,vp,op} \fmf{proton}{iq,vq,oq} % skeleton \fmf{phantom,t=0.4}{ip,vp} % pull to right \fmf{phantom,t=0.4}{iq,vq} % pull to right \fmf{phantom,t=0.2}{vp,vq} % t channel \fmffreeze % mediators \fmf{phantom,t=1.5}{vt,om} % pull gtt vertex to left \fmf{boson,t=1.12,label=$\gamma$,l.d=4,l.s=right}{vp,vt} \fmf{boson,t=1.12,label=$\gamma$,l.d=3,l.s=left}{vq,vt} % taus \fmffreeze \fmf{phantom,f=(.1,,.6,,.1)}{t1,vt} % outgoing lepton \fmf{phantom,f=(.1,,.6,,.1)}{vt,t2} % outgoing lepton \fmfi{fermion,f=(.1,,.6,,.1)}{vpath (__t1,__vt) shifted(0,2)} % outgoing lepton \fmfi{fermion,f=(.1,,.6,,.1)}{vpath (__vt,__t2) shifted(0,-2)} % outgoing lepton % labels \fmfblob{15}{vq} \fmfblob{15}{vp} \fmfv{d.s=circle,f=(.1,,.1,,.7),d.f=(.1,,.1,,.7),d.s=4,l.d=12,l.a=0, l=\normalsize\color{colbl}$C_{\tau B}/\Lambda^2$}{vt} \fmfblob{18}{vt} % use \fmfv first to give color \fmfv{l=p$^+$,l.a=160,l.d=5}{ip} \fmfv{l=p$^+$,l.a=20,l.d=6}{op} \fmfv{l=p$^+$,l.a=-160,l.d=5}{iq} \fmfv{l=p$^+$,l.a=-20,l.d=6}{oq} \fmfv{l=\strut\color{collep}$\tau^+$,l.a=22,l.d=5}{t1} \fmfv{l=\strut\color{collep}$\tau^-$,l.a=-22,l.d=5}{t2} \end{fmfgraph*} } % close \fmfframe \end{fmffile} \end{document}
\documentclass[11pt,border=4pt]{standalone} \usepackage{feynmp-auto} \usepackage{xcolor} \definecolor{collep}{rgb}{.1,.6,.1} % lepton (green) \definecolor{colbl}{rgb}{.1,.1,.7} % vertex (dark blue) \begin{document} \begin{fmffile}{feyngraph} \fmfframe(-4,10)(8,10){ % padding (L,T)(R,B) \begin{fmfgraph*}(150,95) % canvas (W,H) % line style \fmfset{wiggly_len}{12} % boson wavelength \fmfset{wiggly_slope}{65} % boson slope of waves \fmfcmd{ % custom line style: double arrows for protons style_def proton expr p = save oldpen; pen oldpen; oldpen := currentpen; pickup oldpen scaled 1.8; % draw thick line cdraw p; % draw line cfill (arrow p) % draw arrow shifted -center p scaled 1.1 shifted center p; % scale arrow pickup oldpen; % restore line width enddef; } % external vertices \fmfleft{iq,im,ip} \fmfright{oq,t2,om,t1,op} \fmfshift{2 down}{t1} \fmfshift{2 up}{t2} % protons \fmf{proton}{ip,vp,op} \fmf{proton}{iq,vq,oq} % skeleton \fmf{phantom,t=0.4}{ip,vp} % pull to right \fmf{phantom,t=0.4}{iq,vq} % pull to right \fmf{phantom,t=0.2}{vp,vq} % t channel \fmffreeze % mediators \fmf{phantom,t=0.55}{vt1,om,vt2} % pull gtt vertex to left \fmf{fermion,t=0.35,label=\color{collep}$\tau$,l.s=right,f=(.1,,.6,,.1)}{vt1,vt2} % t channel \fmf{boson,t=1,label=$\gamma$,l.d=4,l.s=right}{vp,vt1} \fmf{boson,t=1,label=$\gamma$,l.d=3,l.s=left}{vq,vt2} % taus \fmffreeze \fmf{fermion,f=(.1,,.6,,.1)}{t1,vt1} % outgoing lepton \fmf{fermion,f=(.1,,.6,,.1)}{vt2,t2} % outgoing lepton % labels \fmfblob{15}{vp} \fmfblob{15}{vq} \fmfv{l=p$^+$,l.a=160,l.d=5}{ip} \fmfv{l=p$^+$,l.a=20,l.d=6}{op} \fmfv{l=p$^+$,l.a=-160,l.d=5}{iq} \fmfv{l=p$^+$,l.a=-20,l.d=6}{oq} \fmfv{l=\strut\color{collep}$\tau^+$,l.a=10,l.d=5}{t1} \fmfv{l=\strut\color{collep}$\tau^-$,l.a=-10,l.d=5}{t2} \fmfv{decor.shape=circle,decor.filled=empty,decor.size=15, f=(.1,,.1,,.7),b=(.92,,.92,,.98),l=\large\color{colbl}$g$,l.a=0,l.d=0}{vt1} \fmfv{decor.shape=circle,decor.filled=empty,decor.size=15, f=(.1,,.1,,.7),b=(.92,,.92,,.98),l=\large\color{colbl}$g$,l.a=0,l.d=0}{vt2} \end{fmfgraph*} } % close \fmfframe \end{fmffile} \end{document}
Full code
The LaTeX code below collects all the diagrams above into one big file that produces a multipage PDF. Please find download links below, or edit and compile here if you like:
% !TEX program = pdflatexmk % !TEX parameter = -shell-escape % Author: Izaak Neutelings (February 2024) % Description: Anomalous magnetic moment in pp collisions % Sources: https://cms.cern.ch/iCMS/analysisadmin/cadilines?line=EXO-23-005 % Instructions: To compile via command line, run the following twice % pdflatex -shell-escape anomalous_momentum_pp.tex \documentclass[11pt,border=4pt,multi=page,crop]{standalone} \usepackage{feynmp-auto} \usepackage{xcolor} \usepackage{pgffor} % for \foreach % DEFINE TEXT COLORS \definecolor{collep}{rgb}{.1,.6,.1} % lepton (green) %\definecolor{collep}{rgb}{.75,.0,.0} % lepton (red) \definecolor{colvtx}{rgb}{.1,.45,.1} % vertex (dark green) %\definecolor{colvtx}{rgb}{.45,.0,.0} % vertex (dark red) \definecolor{coldis}{rgb}{.9,.5,.0} % disassociated (orange) \definecolor{colbl}{rgb}{.1,.1,.7} % vertex (dark blue) % DEFINE COLOR MACROS % The following loops over the user color names and defines % a handy \<colname> command to set text color, as well as % defines colors in MetaPost of the same and value for lines \usepackage{pgffor} % for \foreach \def\MPcolors{} % MetaPost code importing xcolor names \foreach \colname in {collep,colvtx,coldis,colbl}{ % create command & MetaPost code \expandafter\xdef\csname\colname\endcsname{\noexpand\color{\colname}}% \newcommand\<colname> \convertcolorspec{named}{\colname}{rgb}\tmprgb % get rgb code \xdef\MPcolors{\MPcolors color \colname; \colname := (\tmprgb); } % add color name } % DEFINE fmfpicture ENVIRONMENT % The following defines a custom picture environment that % helps to create standalone pages with common settings, % and correctly padding the diagram with \fmfframe \usepackage{environ} % for \NewEnviron \NewEnviron{fmfpicture}[3]{% \begin{page} % to create standalone page \fmfframe(#1)(#2){ % padding (LT)(RB) \begin{fmffile}{feynmp-#3} % auxiliary files (use unique name!) \fmfset{wiggly_len}{12} % boson wavelength \fmfset{wiggly_slope}{65} % boson slope of waves \fmfcmd\MPcolors % define custom line colors in MetaPost (does not work in \fmfv) \fmfcmd{ % custom line style: double arrows for protons style_def proton expr p = save oldpen; pen oldpen; oldpen := currentpen; pickup oldpen scaled 1.8; % draw thick line cdraw p; % draw line cfill (arrow p) % draw arrow shifted -center p scaled 1.1 shifted center p; % scale arrow pickup oldpen; % restore line width enddef; } \BODY % main code \end{fmffile} } \end{page} } \begin{document} % gamma gamma -> tautau (g-2) \begin{fmfpicture}{-4,10}{8,10}{gammagamma-tautau} % padding (LT)(RB) \begin{fmfgraph*}(110,80) % canvas (W,H) % external vertices \fmfleft{i2,i1} \fmfright{o2,o1} % photons \fmf{photon}{i1,v1} \fmf{photon}{i2,v2} % taus \fmf{fermion,t=0.9,label=\collep$\tau$,l.s=right,f=collep}{v1,v2} % t channel \fmf{fermion,f=collep}{o1,v1} % outgoing top lepton \fmf{fermion,f=collep}{v2,o2} % outgoing bottom lepton % labels \fmfv{l=$\gamma$,l.a=160,l.d=5}{i1} \fmfv{l=$\gamma$,l.a=-158,l.d=6}{i2} \fmfv{l=\strut\collep$\tau^+$,l.a=12,l.d=5}{o1} \fmfv{l=\strut\collep$\tau^-$\vspace{-7pt},l.a=-12,l.d=5}{o2} \fmfv{decor.shape=circle,f=colvtx,decor.filled=full,decor.size=4}{v1} \fmfv{decor.shape=circle,f=colvtx,decor.filled=full,decor.size=4}{v2} \end{fmfgraph*} \end{fmfpicture} % gamma gamma -> tautau (g-2) \begin{fmfpicture}{-4,10}{8,10}{gammagamma-tautau-blob-g} % padding (LT)(RB) \begin{fmfgraph*}(110,80) % canvas (W,H) % external vertices \fmfleft{i2,i1} \fmfright{o2,o1} % photons \fmf{photon}{i1,v1} \fmf{photon}{i2,v2} % taus \fmf{fermion,t=0.9,label=\collep$\tau$,l.s=right,f=collep}{v1,v2} % t channel \fmf{fermion,f=collep}{o1,v1} % outgoing top lepton \fmf{fermion,f=collep}{v2,o2} % outgoing bottom lepton % labels \fmfv{l=$\gamma$,l.a=160,l.d=5}{i1} \fmfv{l=$\gamma$,l.a=-158,l.d=6}{i2} \fmfv{l=\strut\collep$\tau^+$,l.a=12,l.d=5}{o1} \fmfv{l=\strut\collep$\tau^-$\vspace{-7pt},l.a=-12,l.d=5}{o2} \fmfv{decor.shape=circle,decor.filled=empty,decor.size=15, f=colbl,b=(.92,,.92,,.98),l=\large\colbl$g$,l.a=0,l.d=0}{v1} \fmfv{decor.shape=circle,decor.filled=empty,decor.size=15, f=colbl,b=(.92,,.92,,.98),l=\large\colbl$g$,l.a=0,l.d=0}{v2} \end{fmfgraph*} \end{fmfpicture} % gamma gamma -> ellell (g-2) \begin{fmfpicture}{-4,10}{8,10}{gammagamma-ellell} % padding (LT)(RB) \begin{fmfgraph*}(110,80) % canvas (W,H) % external vertices \fmfleft{i2,i1} \fmfright{o2,o1} % photons \fmf{photon}{i1,v1} \fmf{photon}{i2,v2} % taus \fmf{fermion,t=0.9,label=\collep$\ell$,l.s=right,f=collep}{v1,v2} % t channel \fmf{fermion,f=collep}{o1,v1} % outgoing top lepton \fmf{fermion,f=collep}{v2,o2} % outgoing bottom lepton % labels \fmfv{l=$\gamma$,l.a=160,l.d=5}{i1} \fmfv{l=$\gamma$,l.a=-158,l.d=6}{i2} \fmfv{l=\strut\collep$\ell^+$,l.a=12,l.d=5}{o1} \fmfv{l=\strut\collep$\ell^-$\vspace{-7pt},l.a=-20,l.d=5}{o2} \fmfv{decor.shape=circle,f=colvtx,decor.filled=full,decor.size=4}{v1} \fmfv{decor.shape=circle,f=colvtx,decor.filled=full,decor.size=4}{v2} \end{fmfgraph*} \end{fmfpicture} % gamma gamma -> WW \begin{fmfpicture}{-4,10}{8,10}{gammagamma-WW} % padding (LT)(RB) \begin{fmfgraph*}(110,80) % canvas (W,H) % external vertices \fmfleft{i2,i1} \fmfright{o2,o1} % photons \fmf{photon}{i1,v1} \fmf{photon}{i2,v2} % bosons \fmf{boson,t=0.9,label=\coldis W,l.s=right,f=coldis}{v1,v2} % t channel \fmf{boson,f=coldis}{o1,v1} % outgoing top boson \fmf{boson,f=coldis}{v2,o2} % outgoing bottom boson % labels \fmfv{l=$\gamma$,l.a=160,l.d=5}{i1} \fmfv{l=$\gamma$,l.a=-158,l.d=6}{i2} \fmfv{l=\strut\coldis W$^+$,l.a=12,l.d=5}{o1} \fmfv{l=\strut\coldis W$^-$\vspace{-7pt},l.a=-16,l.d=5}{o2} %\fmfv{decor.shape=circle,f=coldis,decor.filled=full,decor.size=4}{v1} %\fmfv{decor.shape=circle,f=coldis,decor.filled=full,decor.size=4}{v2} \end{fmfgraph*} \end{fmfpicture} % pp -> tautau (g-2) \begin{fmfpicture}{-4,10}{8,10}{pp-tautau} % padding (LT)(RB) \begin{fmfgraph*}(150,95) % canvas (W,H) % external vertices \fmfleft{iq,im,ip} \fmfright{oq,t2,om,t1,op} \fmfshift{2 down}{t1} \fmfshift{2 up}{t2} % protons \fmf{proton}{ip,vp,op} \fmf{proton}{iq,vq,oq} % skeleton \fmf{phantom,t=0.4}{ip,vp} % pull to right \fmf{phantom,t=0.4}{iq,vq} % pull to right \fmf{phantom,t=0.2}{vp,vq} % t channel \fmffreeze % mediators \fmf{phantom,t=0.55}{vt1,om,vt2} % pull gtt vertex to left \fmf{fermion,t=0.35,label=\collep$\tau$,l.s=right,f=collep}{vt1,vt2} % t channel \fmf{boson,t=1,label=$\gamma$,l.d=4,l.s=right}{vp,vt1} \fmf{boson,t=1,label=$\gamma$,l.d=3,l.s=left}{vq,vt2} % taus \fmffreeze \fmf{fermion,f=collep}{t1,vt1} % outgoing lepton \fmf{fermion,f=collep}{vt2,t2} % outgoing lepton % labels \fmfblob{15}{vp} \fmfblob{15}{vq} \fmfv{l=p$^+$,l.a=160,l.d=5}{ip} \fmfv{l=p$^+$,l.a=20,l.d=6}{op} \fmfv{l=p$^+$,l.a=-160,l.d=5}{iq} \fmfv{l=p$^+$,l.a=-20,l.d=6}{oq} \fmfv{l=\strut\collep$\tau^+$,l.a=10,l.d=5}{t1} \fmfv{l=\strut\collep$\tau^-$,l.a=-10,l.d=5}{t2} %\fmfv{decor.shape=circle,decor.filled=full,decor.size=5,f=black}{vp} %\fmfv{decor.shape=circle,decor.filled=full,decor.size=5,f=black}{vq} \fmfv{decor.shape=circle,f=colvtx,decor.filled=full,decor.size=4}{vt1} \fmfv{decor.shape=circle,f=colvtx,decor.filled=full,decor.size=4}{vt2} \end{fmfgraph*} \end{fmfpicture} % pp -> tautau (g-2), single diffractive \begin{fmfpicture}{-4,18}{8,10}{pp-tautau-SD} % padding (LT)(RB) \begin{fmfgraph*}(150,100) % canvas (W,H) % external vertices \fmfleft{iq,im,ip} \fmfright{oq,t2,om,t1,op} \fmfshift{2 down}{t1} \fmfshift{2 up}{t2} % protons \fmf{proton}{ip,vp} \fmf{phantom}{vp,op} \fmf{proton}{iq,vq,oq} % skeleton \fmf{phantom,t=0.4}{ip,vp} % pull to right \fmf{phantom,t=0.4}{iq,vq} % pull to right \fmf{phantom,t=0.2}{vp,vq} % t channel \fmffreeze % diffracted proton \fmfi{fermion,f=coldis}{vpath (__vp,__op) scaled 1.01 shifted(4, 2.5) rotatedaround(vloc(__vp), 9)} \fmfi{fermion,f=coldis}{vpath (__vp,__op) scaled 1.01 shifted(4, 0.0) rotatedaround(vloc(__vp), 1)} \fmfi{fermion,f=coldis}{vpath (__vp,__op) scaled 1.01 shifted(4,-2.5) rotatedaround(vloc(__vp),-7)} % mediators \fmf{phantom,t=0.55}{vt1,om,vt2} % pull gtt vertex to left \fmf{fermion,t=0.35,label=\collep$\tau$,l.s=right,f=collep}{vt1,vt2} % t channel \fmf{boson,t=1,label=$\gamma$,l.d=4,l.s=right}{vp,vt1} \fmf{boson,t=1,label=$\gamma$,l.d=3,l.s=left}{vq,vt2} % taus \fmffreeze \fmf{fermion,f=collep}{t1,vt1} % outgoing lepton \fmf{fermion,f=collep}{vt2,t2} % outgoing lepton % labels \fmfblob{15}{vp} \fmfblob{15}{vq} \fmfv{l=p$^+$,l.a=160,l.d=5}{ip} %\fmfv{l=$X$,l.a=20,l.d=12}{op} \fmfv{l=p$^+$,l.a=-160,l.d=5}{iq} \fmfv{l=p$^+$,l.a=-20,l.d=6}{oq} \fmfv{l=\strut\collep$\tau^+$,l.a=10,l.d=5}{t1} \fmfv{l=\strut\collep$\tau^-$,l.a=-10,l.d=5}{t2} %\fmfv{decor.shape=circle,decor.filled=full,decor.size=5,f=black}{vq} \fmfv{decor.shape=circle,f=colvtx,decor.filled=full,decor.size=4}{vt1} \fmfv{decor.shape=circle,f=colvtx,decor.filled=full,decor.size=4}{vt2} \end{fmfgraph*} \end{fmfpicture} % pp -> tautau (g-2), double diffractive \begin{fmfpicture}{-4,18}{8,18}{pp-tautau-DD} % padding (LT)(RB) \begin{fmfgraph*}(150,100) % canvas (W,H) % external vertices \fmfleft{iq,im,ip} \fmfright{oq,t2,om,t1,op} \fmfshift{2 down}{t1} \fmfshift{2 up}{t2} % protons \fmf{proton}{ip,vp} \fmf{phantom}{vp,op} \fmf{proton}{iq,vq} \fmf{phantom}{vq,oq} % skeleton \fmf{phantom,t=0.4}{ip,vp} % pull to right \fmf{phantom,t=0.4}{iq,vq} % pull to right \fmf{phantom,t=0.2}{vp,vq} % t channel \fmffreeze % diffracted proton \fmfi{fermion,f=coldis}{vpath (__vp,__op) scaled 1.01 shifted(4, 2.5) rotatedaround(vloc(__vp), 9)} \fmfi{fermion,f=coldis}{vpath (__vp,__op) scaled 1.01 shifted(4, 0.0) rotatedaround(vloc(__vp), 1)} \fmfi{fermion,f=coldis}{vpath (__vp,__op) scaled 1.01 shifted(4,-2.5) rotatedaround(vloc(__vp),-7)} \fmfi{fermion,f=coldis}{vpath (__vq,__oq) scaled 1.01 shifted(4,-2.5) rotatedaround(vloc(__vq),-9)} \fmfi{fermion,f=coldis}{vpath (__vq,__oq) scaled 1.01 shifted(4, 0.0) rotatedaround(vloc(__vq),-1)} \fmfi{fermion,f=coldis}{vpath (__vq,__oq) scaled 1.01 shifted(4, 2.5) rotatedaround(vloc(__vq),7)} % mediators \fmf{phantom,t=0.55}{vt1,om,vt2} % pull gtt vertex to left \fmf{fermion,t=0.35,label=\collep$\tau$,l.s=right,f=collep}{vt1,vt2} % t channel \fmf{boson,t=1,label=$\gamma$,l.d=4,l.s=right}{vp,vt1} \fmf{boson,t=1,label=$\gamma$,l.d=3,l.s=left}{vq,vt2} % taus \fmffreeze \fmf{fermion,f=collep}{t1,vt1} % outgoing lepton \fmf{fermion,f=collep}{vt2,t2} % outgoing lepton % labels \fmfblob{15}{vp} \fmfblob{15}{vq} \fmfv{l=p$^+$,l.a=160,l.d=5}{ip} %\fmfv{l=$X$,l.a=20,l.d=12}{op} \fmfv{l=p$^+$,l.a=-160,l.d=5}{iq} %\fmfv{l=p$^+$,l.a=-20,l.d=6}{oq} \fmfv{l=\strut\collep$\tau^+$,l.a=10,l.d=5}{t1} \fmfv{l=\strut\collep$\tau^-$,l.a=-10,l.d=5}{t2} \fmfv{decor.shape=circle,f=colvtx,decor.filled=full,decor.size=4}{vt1} \fmfv{decor.shape=circle,f=colvtx,decor.filled=full,decor.size=4}{vt2} \end{fmfgraph*} \end{fmfpicture} % pp -> tautau blob (g-2) \begin{fmfpicture}{-4,10}{8,10}{pp-tautau-blob} % padding (LT)(RB) \begin{fmfgraph*}(150,95) % canvas (W,H) % external vertices \fmfleft{iq,im,ip} \fmfright{oq,t2,om,t1,op} \fmfshift{2 down}{t1} \fmfshift{2 up}{t2} % protons \fmf{proton}{ip,vp,op} \fmf{proton}{iq,vq,oq} % skeleton \fmf{phantom,t=0.4}{ip,vp} % pull to right \fmf{phantom,t=0.4}{iq,vq} % pull to right \fmf{phantom,t=0.2}{vp,vq} % t channel \fmffreeze % mediators \fmf{phantom,t=1.5}{vt,om} % pull gtt vertex to left \fmf{boson,t=1.12,label=$\gamma$,l.d=4,l.s=right}{vp,vt} \fmf{boson,t=1.12,label=$\gamma$,l.d=3,l.s=left}{vq,vt} % taus \fmffreeze \fmf{phantom,f=collep}{t1,vt} % outgoing lepton \fmf{phantom,f=collep}{vt,t2} % outgoing lepton \fmfi{fermion,f=collep}{vpath (__t1,__vt) shifted(0,2)} % outgoing lepton \fmfi{fermion,f=collep}{vpath (__vt,__t2) shifted(0,-2)} % outgoing lepton % labels \fmfblob{15}{vq} \fmfblob{15}{vp} \fmfv{d.s=circle,f=colbl,d.f=full,d.s=4,l.d=12,l.a=0, l=\normalsize\colbl$C_{\tau B}/\Lambda^2$}{vt} \fmfblob{18}{vt} % use \fmfv first to give color \fmfv{l=p$^+$,l.a=160,l.d=5}{ip} \fmfv{l=p$^+$,l.a=20,l.d=6}{op} \fmfv{l=p$^+$,l.a=-160,l.d=5}{iq} \fmfv{l=p$^+$,l.a=-20,l.d=6}{oq} \fmfv{l=\strut\collep$\tau^+$,l.a=22,l.d=5}{t1} \fmfv{l=\strut\collep$\tau^-$,l.a=-22,l.d=5}{t2} \end{fmfgraph*} \end{fmfpicture} % pp -> tautau (g-2) \begin{fmfpicture}{-4,10}{8,10}{pp-tautau-blob-g} % padding (LT)(RB) \begin{fmfgraph*}(150,95) % canvas (W,H) % external vertices \fmfleft{iq,im,ip} \fmfright{oq,t2,om,t1,op} \fmfshift{2 down}{t1} \fmfshift{2 up}{t2} % protons \fmf{proton}{ip,vp,op} \fmf{proton}{iq,vq,oq} % skeleton \fmf{phantom,t=0.4}{ip,vp} % pull to right \fmf{phantom,t=0.4}{iq,vq} % pull to right \fmf{phantom,t=0.2}{vp,vq} % t channel \fmffreeze % mediators \fmf{phantom,t=0.55}{vt1,om,vt2} % pull gtt vertex to left \fmf{fermion,t=0.35,label=\collep$\tau$,l.s=right,f=collep}{vt1,vt2} % t channel \fmf{boson,t=1,label=$\gamma$,l.d=4,l.s=right}{vp,vt1} \fmf{boson,t=1,label=$\gamma$,l.d=3,l.s=left}{vq,vt2} % taus \fmffreeze \fmf{fermion,f=collep}{t1,vt1} % outgoing lepton \fmf{fermion,f=collep}{vt2,t2} % outgoing lepton % labels \fmfblob{15}{vp} \fmfblob{15}{vq} \fmfv{l=p$^+$,l.a=160,l.d=5}{ip} \fmfv{l=p$^+$,l.a=20,l.d=6}{op} \fmfv{l=p$^+$,l.a=-160,l.d=5}{iq} \fmfv{l=p$^+$,l.a=-20,l.d=6}{oq} \fmfv{l=\strut\collep$\tau^+$,l.a=10,l.d=5}{t1} \fmfv{l=\strut\collep$\tau^-$,l.a=-10,l.d=5}{t2} \fmfv{decor.shape=circle,decor.filled=empty,decor.size=15, f=colbl,b=(.92,,.92,,.98),l=\large\colbl$g$,l.a=0,l.d=0}{vt1} \fmfv{decor.shape=circle,decor.filled=empty,decor.size=15, f=colbl,b=(.92,,.92,,.98),l=\large\colbl$g$,l.a=0,l.d=0}{vt2} \end{fmfgraph*} \end{fmfpicture} \end{document}
Click to download: g-2_pp_tautau.tex • g-2_pp_tautau.pdf
Open in Overleaf: g-2_pp_tautau.tex.