Beamspot profile in the CMS detector with pileup vertices & tracks. Made for this CMS paper on the measurement of the γγ → ττ process in proton-proton collisions and the measurement of the anomalous magnetic moment of the τ lepton (g-2).






Edit and compile if you like:
% Author: Izaak Neutelings (June 2023)
% Description:
% Beamspot profile in the CMS detector with pileup vertices & tracks
\documentclass[border=3pt,tikz]{standalone}
\usepackage{amsmath}
\usepackage[outline]{contour} % glow around text
\contourlength{1.1pt}
\usetikzlibrary{arrows.meta} % for arrow size
\pgfdeclarelayer{back} % to draw on background
\pgfdeclarelayer{front} % to draw on foreground
\pgfsetlayers{back,main,front} % set order
% COLORS
\colorlet{myred}{red!80!black}
\colorlet{myblue}{blue!85!black}
\colorlet{mydarkred}{myred!75!black}
\colorlet{mygreen}{green!75!black}
\colorlet{mydarkgreen}{green!40!black}
\colorlet{mygreygreen}{green!40!black!50}
\colorlet{mylightgreygreen}{green!40!black!10}
\colorlet{trackcol1}{blue!60!black!26}
\colorlet{trackcol2}{red!60!black!26}
\colorlet{trackcol3}{orange!50!yellow!70!black!36}
\colorlet{vertexcol}{yellow!80!orange!100!black!95}
% TIKZ
\tikzset{
>=latex, % for LaTeX arrow head
window/.style={#1,fill=#1!20,line width=0.1,rounded corners=0.2pt},
dashed curve/.style={curve,thick,dashed},
track/.style={#1,thin,line cap=round},
vertex/.style={draw=orange,fill=#1,ultra thin},
muon/.style={track=myred,thick},
thinarr/.style={-{Latex[length=2.0,width=2.8]},line width=0.4},
thinleftarr/.style={{Latex[length=2.0,width=2.3]}-,line width=0.30},
ultrathindashed/.style={dash pattern=on 0.5pt off 0.5pt,line width=0.1},
verythindashed/.style={dash pattern=on 1pt off 0.9pt,line width=0.2},
thindashed/.style={dash pattern=on 1.6pt off 1.4pt,line width=0.3},
track/.default=trackcol1,
vertex/.default=vertexcol
}
% FUNCTIONS
\tikzset{
declare function={
norm(\x,\s) = {1/(\s*sqrt(2*pi))*exp(-((\x)^2)/(2*\s^2))};
gaus(\x,\s) = {exp(-((\x)^2)/(2*\s^2))};
gausBS(\x) = {\cBS+\ABS*gaus(\x-\xBS,\wBS)}; % gaussian distribution for BS
}
}
% MACROS
\def\drawvertices#1{ % PU vertices
\message{^^JDraw pileup vertices}
\foreach \x [
count=\i from 1,
evaluate={\x=\xBS+\wBS/(3.3*\wT)*(\x*\wT-\xBS)}
] in {%
-7.45,-4.62,-2.82,-1.62,-0.76,-0.26,0.48,1.08,2.18,3.84,5.17,6.6
}{
\coordinate (V\i#1) at (\x,0); % track vertex
\begin{pgfonlayer}{front} % TICKS LABELS (draw on front)
\draw[vertex] (V\i#1) circle(14.3*\Rv pt);
\end{pgfonlayer}
}
}
\def\drawtracks#1{ % PU tracks
\message{^^JDraw pileup tracks}
\drawvertices{}
\begin{scope}
%\draw (\xmin,-\ltrk) rectangle (\xmax,\ltrk);
\draw[track=trackcol1!#1]
(V1) to[bend left=5]++ ( 50:\ltrk)
(V1) to[bend left=2]++ ( 110:\ltrk)
(V1) to[bend left=3]++ (-120:0.9*\ltrk);
\draw[track=trackcol2!#1]
(V2) to[bend left=5]++ ( 40:\ltrk)
(V2) to[bend left=2]++ ( 115:\ltrk)
(V2) to[bend left=5]++ ( 145:1.3*\ltrk)
(V2) to[bend left=4]++ ( -50:\ltrk)
(V2) to[bend left=3]++ (-140:1.2*\ltrk);
\draw[track=trackcol3!#1]
(V3) to[bend left=5]++ ( 55:\ltrk)
(V3) to[bend left=3]++ ( 22:\ltrk)
(V3) to[bend left=5]++ ( 105:\ltrk)
(V3) to[bend left=5]++ ( 135:1.1*\ltrk)
(V3) to[bend left=2]++ ( -34:1.2*\ltrk)
(V3) to[bend left=5]++ (-112:0.9*\ltrk)
(V3) to[bend left=4]++ (-160:1.3*\ltrk);
\draw[track=trackcol1!#1]
(V4) to[bend left= 5]++ ( 30:\ltrk)
(V4) to[bend left=-6]++ ( 150:1.4*\ltrk)
(V4) to[bend left= 2]++ (-135:1.1*\ltrk)
(V4) to[bend left= 3]++ ( -45:\ltrk);
\draw[track=trackcol2!#1]
(V5) to[bend left=5]++ ( 65:\ltrk)
(V5) to[bend left=4]++ ( 110:\ltrk)
(V5) to[bend left=6]++ (-110:\ltrk);
\draw[track=trackcol3!#1]
(V6) to[bend left=5]++ ( 115:\ltrk)
(V6) to[bend left=4]++ (-125:\ltrk);
\draw[track=trackcol1!#1]
(V7) to[bend left=4]++ ( -40:\ltrk)
(V7) to[bend left=5]++ (-100:0.8*\ltrk)
(V7) to[bend left=3]++ ( 65:\ltrk);
\draw[track=trackcol2!#1]
(V8) to[bend left=4]++ ( 35:\ltrk)
(V8) to[bend left=7]++ ( 150:1.6*\ltrk)
(V8) to[bend left=7]++ (-122:\ltrk);
\draw[track=trackcol3!#1]
(V9) to[bend left= 5]++ ( 30:\ltrk)
(V9) to[bend left=-6]++ ( 158:1.7*\ltrk)
(V9) to[bend left= 4]++ ( -45:\ltrk)
(V9) to[bend left= 3]++ (-147:1.2*\ltrk);
\draw[track=trackcol1!#1]
(V10) to[bend left=5]++ ( 30:\ltrk)
(V10) to[bend left=3]++ ( 58:\ltrk)
(V10) to[bend left=5]++ ( 110:\ltrk)
(V10) to[bend left=3]++ (-134:1.2*\ltrk)
(V10) to[bend left=6]++ ( -28:1.1*\ltrk);
\draw[track=trackcol2!#1]
(V11) to[bend left=4]++ ( -50:\ltrk)
(V11) to[bend left=5]++ (-110:0.8*\ltrk)
(V11) to[bend left=3]++ ( 55:\ltrk);
\draw[track=trackcol3!#1]
(V12) to[bend left=4]++ ( 50:\ltrk)
(V12) to[bend left=5]++ ( 110:\ltrk)
(V12) to[bend left=3]++ (-145:\ltrk)
(V12) to[bend left=5]++ ( -28:1.1*\ltrk);
\end{scope}
}
\def\drawgaus{ % BEAMSPOT GAUSSIAN DISTRIBUTION
\message{^^JDraw BS gaussians}
\fill[mylightgreygreen,samples=200,domain=\xmin:\xmax]
plot(\x,{gausBS(\x)}) |- (\xmin,0);
\draw[mygreygreen,samples=200,domain=\xmin:\xmax]
plot(\x,{gausBS(\x)});
}
\def\drawaxis#1{ % DRAW AXIS WITH TICKS
\draw[->,thick]
(\xmin-0.2,0) -- (\xmax+0.4,0)
node[below right=-3pt] {$z$ [cm]};
\foreach \i [evaluate={\x=\wT*\i; \t=int(\i);}] in {-\NnT,...,\NpT}{
\draw[thick] (\x,\hT/2) --++ (0,-\hT) coordinate(T\i);
}
\ifnum#1>0 % half ticks
\foreach \i [evaluate={\x=\wT*\i; \t=int(\i);},parse=true] in {-\NnT,...,\NpT-1}{
\draw[thick] (\x+\wT/2,\hHT/2) --++ (0,-\hHT);
}
\fi
\begin{pgfonlayer}{front} % TICKS LABELS (draw on front)
\foreach \i [evaluate={\x=\wT*\i; \t=int(\i);}] in {-\NnT,...,\NpT}{
\ifnum\i<0
\node[left=3pt,below=0pt,scale=0.8] at (T\i) {\contour{white}{$\t$}};
\else
\node[below=0pt,scale=0.8] at (T\i) {\contour{white}{$\t$}};
\fi
}
\end{pgfonlayer}
}
\def\drawwindows{ % DRAW WINDOWS
\pgfmathsetmacro\Npw{int(round(\xmax/\ww))} % number of windows on positive side
\pgfmathsetmacro\Nnw{int(round(-\xmin/\ww))} % number of windows on negative side
\message{^^JNumber of windows: Nnw=\Nnw, Npw=\Npw}
\foreach \i [evaluate={\x=\ww*\i;},parse=true] in {-\Nnw,...,\Npw-1}{
\edef\c{\ifodd \i myred\else myblue\fi} % color
\draw[window=\c] (\x,-\hw/2) rectangle++ (\ww-0.003,\hw);
}
}
\begin{document}
% BEAMSPOT - before corrections
\def\xmin{-4.7} % x axis minimum
\def\xmax{ 4.7} % x axis maximum
\def\NpT{9} % number of ticks on positive side
\def\NnT{9} % number of ticks on negative side
\def\hT{0.23} % height tick
\def\ABS{1.50} % BS gaussian amplitude/normalization
\def\cBS{0.1*\hT} % BS gaussian vertical offset
\begin{tikzpicture}[scale=1]
\pgfmathsetmacro\wT{\xmax/\NpT} % distance between tick
\pgfmathsetmacro\Rv{0.2*\hT} % radius of vertex
\pgfmathsetmacro\xBS{0.3*\wT} % z position BS
\pgfmathsetmacro\wBS{3.1*\wT} % z sigma (width) BS
\pgfmathsetmacro\ltrk{1.2*\ABS} % length track
% BEAMSPOT GAUSSIAN DISTRIBUTION
\drawgaus
% AXES & TICKS
\drawaxis{0}
% TRACKS
\drawtracks{80}
% BEAMSPOT MEASURES
\draw[mydarkgreen,dashed]
(\xBS,\cBS+\ABS+0.08) -- (\xBS,-1.8*\hT)
node[right=3pt,below=-1pt]
{\contour{white}{$z_\text{BS}^\text{MC}$}};
\draw[mydarkgreen]
(\xBS-\wBS,{gausBS(\xBS+\wBS)-0.1}) --++ (0,0.2);
\draw[<->,mydarkgreen]
(\xBS,{gausBS(\xBS+\wBS)-0.01}) --++ (-\wBS,0)
node[midway,fill=mylightgreygreen,inner sep=0pt]
{$\sigma_{\!z,\text{BS}}^\text{MC}$};
\end{tikzpicture}
% BEAMSPOT - after corrections
\begin{tikzpicture}[scale=1]
\pgfmathsetmacro\wT{\xmax/\NpT} % distance between tick
\pgfmathsetmacro\xBS{-0.27*\wT} % z position BS
\pgfmathsetmacro\wBS{3.8*\wT} % z sigma (width) BS
\pgfmathsetmacro\xBSmc{0.25*\wT} % z position BS (MC)
\pgfmathsetmacro\wBSmc{3.1*\wT} % z sigma (width) BS (MC)
\pgfmathsetmacro\Rv{0.2*\hT} % radius of vertex
\pgfmathsetmacro\ltrk{1.2*\ABS} % length track
% BEAMSPOT GAUSSIAN DISTRIBUTION
\drawgaus
\draw[mygreygreen,dashed,samples=200,domain=\xmin:\xmax]
plot(\x,{\cBS+\ABS*gaus(\x-0.4*\wT,2.8*\wT)});
% AXES & TICKS
\begin{scope}[vertex/.style={
draw=orange,fill=#1!90!orange,ultrathindashed,opacity=0.5
}]
\def\xBS{\xBSmc} % z position BS
\def\wBS{\wBSmc} % z sigma (width) BS
\drawvertices{-mc}
\end{scope}
\drawaxis{0}
% TRACKS
\drawtracks{80}
\begin{pgfonlayer}{front} % TICKS LABELS (draw on front)
\foreach \i in {1,...,12}{
\draw[thinarr,orange!95!black,shorten >=0.2pt,shorten <=0.3pt]
(V\i-mc) -- (V\i);
}
\end{pgfonlayer}
% BEAMSPOT MEASURES
\draw[mydarkgreen!60,dashed,very thin]
(\xBSmc,\cBS+\ABS+0.08) -- (\xBSmc,-1.2*\hT);
\draw[mydarkgreen,dashed]
(\xBS,\cBS+\ABS+0.08) -- (\xBS,-1.8*\hT)
node[right=3pt,below=-1pt]
{\contour{white}{$z_\text{BS}^\text{Data}$}};
\draw[mydarkgreen]
(\xBS-\wBS,{gausBS(\xBS+\wBS)-0.1}) --++ (0,0.2);
\draw[<->,mydarkgreen]
(\xBS,{gausBS(\xBS+\wBS)-0.01}) --++ (-\wBS,0)
node[midway,fill=mylightgreygreen,inner sep=0pt]
{$\sigma_{\!z,\text{BS}}^\text{Data}$};
\end{tikzpicture}
% BEAMSPOT - WINDOWS
\foreach \NT in {10,8}{
\begin{tikzpicture}[scale=1]
\def\xmin{-6.7} % x axis minimum
\def\xmax{ 6.7} % x axis maximum
\def\NpT{\NT} % number of ticks on positive side
\def\NnT{\NT} % number of ticks on negative side
\def\hw{0.13} % height window
\def\hT{0.23} % height tick
\def\hHT{0.18} % height half tick
\def\ABS{1.50} % BS gaussian amplitude/normalization
\def\cBS{0.4*\hT} % BS gaussian vertical offset
\pgfmathsetmacro\wT{\xmax/\NpT} % distance between tick
\pgfmathsetmacro\ww{\wT*0.1} % width small windows (0.1 cm)
\pgfmathsetmacro\xBS{0.23*\wT} % z position BS
\pgfmathsetmacro\wBS{3.3*\wT} % z sigma (width) BS
\pgfmathsetmacro\xHS{2.62*\wT} % z position signal window
\pgfmathsetmacro\hHS{1.2*\hT} % height signal window
\pgfmathsetmacro\Rv{0.16*\hHS} % radius of vertex
\pgfmathsetmacro\ltrk{1.4*\ABS} % length track
\coordinate (M) at (\xHS,0); % dimuon vertex
% BEAMSPOT GAUSSIAN DISTRIBUTION
\drawgaus
% WINDOWS
\drawwindows
% AXES & TICKS
\drawaxis{1}
% TRACKS
\drawtracks{68}
% MUONS
\draw[muon]
(M) to[bend left=5]++ (50:1.6*\ABS)
node[anchor=-160] {$\mu$};
\draw[muon]
(M) to[bend left=5]++ (-124:1.4*\ABS)
node[anchor=28] {$\mu$};
% WINDOW MEASURE
\pgfmathsetmacro\xL{(-\NnT+1)*\wT+2*\ww}
\pgfmathsetmacro\xR{\xL+\ww}
\draw[verythindashed] (\xL,0) --++ (0,1.34*\hT);
\draw[verythindashed] (\xR,0) --++ (0,1.34*\hT);
\draw[thinleftarr] (\xL,1.24*\hT) --++ (-4*\ww,0);
\draw[thinleftarr] (\xR,1.24*\hT) --++ (4*\ww,0);
\node[above=-1pt,scale=0.65] at (\xL+\ww/2,1.4*\hT) {0.1\,cm};
% BEAMSPOT MEASURES
\draw[mydarkgreen,dashed]
(\xBS,\cBS+\ABS+0.12) -- (\xBS,-2*\hT)
node[right=3pt,below=-1pt]
{\contour{white}{$z_\text{BS}$}};
\draw[mydarkgreen]
(\xBS-\wBS,{gausBS(\xBS+\wBS)-0.1}) --++ (0,0.2);
\draw[<->,mydarkgreen]
(\xBS,{gausBS(\xBS+\wBS)-0.01}) --++ (-\wBS,0)
node[midway,fill=mylightgreygreen,inner sep=0pt]
{\contour{white}{$\sigma_z^\text{BS}$}};
% SIGNAL WINDOW (hard scattering)
\draw[mydarkred,fill=myred!25,fill opacity=0.8,rounded corners=2pt]
(\xHS-\wT,-\hHS/2) rectangle++ (2*\wT,\hHS);
\draw[->,thin,mydarkred]
(\xHS,0.75*\hHS) --++ (-\wT,0)
node[pos=0.45,above,scale=0.65] {1\,cm};
\draw[->,thin,mydarkred]
(\xHS,0.75*\hHS) --++ (\wT,0)
node[pos=0.45,above,scale=0.65] {\contour{mylightgreygreen}{1\,cm}};
\draw[mydarkred,dashed]
(\xHS,0.96*\hHS) -- (\xHS,-2*\hT)
node[right=3pt,below=-1pt] {$z_{\mu\mu}$};
\fill[mydarkred] (M) circle(0.11*\hHS);
\end{tikzpicture}}
% BEAMSPOT - SIGNAL WINDOW
\foreach \addtracks in {0,1}{
\begin{tikzpicture}[scale=1]
\message{^^JBeamspot with signal window (draw track: \addtracks)}
\def\xmin{-5.68} % x axis minimum
\def\xmax{ 7.6} % x axis maximum
\def\NpT{3} % number of ticks on positive side
\def\NnT{2} % number of ticks on negative side
\def\ABS{1.50} % BS gaussian amplitude/normalization
\def\cBS{0.0*\hw} % BS gaussian vertical offset
\def\hw{0.13} % height window
\def\hT{0.23} % height tick
\def\hHT{0.20} % height half tick
\def\tcol{70} % setting to make tracks more lighter
\pgfmathsetmacro\wT{0.95*\xmax/\NpT} % distance between tick ( = 1 cm)
\pgfmathsetmacro\ww{\wT*0.1} % width small windows (0.1 cm)
\pgfmathsetmacro\Npw{int(\xmax/\ww)} % number of windows on positive side
\pgfmathsetmacro\Nnw{int(-\xmin/\ww)} % number of windows on negative side
\pgfmathsetmacro\xBS{0.27*\wT} % z position BS
\pgfmathsetmacro\wBS{2.5*\wT} % z sigma (width) BS
\pgfmathsetmacro\xHS{1.72*\wT} % z position signal window
\pgfmathsetmacro\hHS{1.2*\hT} % height signal window
\pgfmathsetmacro\Rv{0.25*\hHS} % radius of vertex
\pgfmathsetmacro\ltrk{1.4*\ABS} % length track
\coordinate (M) at (\xHS,0); % dimuon vertex
% BEAMSPOT GAUSSIAN DISTRIBUTION
\drawgaus
% WINDOWS
\drawwindows
% AXES & TICKS
\drawaxis{1}
% DRAW PU TRACKS
\ifnum \addtracks=1
\begin{scope}[x=0.45cm,xshift=14]
\drawtracks{70}
\end{scope}
\fi
% MUONS
\draw[muon]
(M) to[bend left=5]++ (30:1.7*\ABS)
node[anchor=-160] {$\mu$};
\draw[muon]
(M) to[bend left=5]++ (-134:1.4*\ABS)
node[anchor=20] {$\mu$};
% WINDOW MEASURE
\pgfmathsetmacro\xL{-1*\wT-7*\ww}
\pgfmathsetmacro\xR{\xL+\ww}
\draw[thindashed] (\xL,0) --++ (0,-1.16*\hT);
\draw[thindashed] (\xR,0) --++ (0,-1.16*\hT);
\draw[thinleftarr] (\xL,-0.95*\hT) --++ (-0.9*\ww,0);
\draw[thinleftarr] (\xR,-0.95*\hT) --++ (0.9*\ww,0);
\node[below=-1pt,scale=0.65] at (\xL+\ww/2,-1.2*\hT) {0.1\,cm};
% SIGNAL WINDOW MEASURE
\pgfmathsetmacro\xL{\xHS-\ww/2} % left x coordinate window
\pgfmathsetmacro\xR{\xHS+\ww/2} % right x coordinate window
\draw[mydarkred,thindashed] (\xL,0) --++ (0,2.29*\hT);
\draw[mydarkred,thindashed] (\xR,0) --++ (0,2.29*\hT);
\draw[mydarkred,thinleftarr] (\xL,1.95*\hT) --++ (-0.9*\ww,0);
\draw[mydarkred,thinleftarr] (\xR,1.95*\hT) --++ (0.9*\ww,0);
\node[mydarkred,above=-1pt,scale=0.72] at (\xL+\ww/2,2.18*\hT) {0.1\,cm};
% BEAMSPOT MEASURES
\draw[mydarkgreen,dashed]
(\xBS,\cBS+\ABS+0.12) -- (\xBS,-2*\hT)
node[right=3pt,below=-1pt]
{\contour{white}{$z_\text{BS}$}};
\draw[mydarkgreen]
(\xBS-\wBS,{gausBS(\xBS+\wBS)-0.1}) --++ (0,0.2);
\draw[<->,mydarkgreen] (\xBS,{gausBS(\xBS+\wBS)-0.03}) --++ (-\wBS,0)
node[midway,fill=mylightgreygreen,inner sep=0pt] {$\sigma_z^\text{BS}$};
% SIGNAL WINDOW (hard scattering)
\draw[mydarkred,fill=myred!25,fill opacity=0.5,rounded corners=1pt]
(\xHS-\ww/2,-\hHS/2) rectangle++ (\ww,\hHS);
%\draw[->,thin,mydarkred]
% (\xHS-\ww,0.75*\hHS) --++ (2*\ww,0)
% node[pos=0.45,above,scale=0.65] {0.1\,cm};
\draw[mydarkred,dashed]
(\xHS,0.96*\hHS) -- (\xHS,-2*\hT)
node[right=3pt,below=-1pt] {$z_{\mu\mu}$};
\fill[mydarkred] (M) circle(0.13*\hHS);
\end{tikzpicture}}
% BEAMSPOT - SIGNAL WINDOW (DITAU)
\begin{tikzpicture}[scale=1]
\message{^^JBeamspot with signal window (ditau)}
\def\xmin{-3.5} % x axis minimum
\def\xmax{ 4.7} % x axis maximum
\def\NpT{3} % number of ticks on positive side
\def\NnT{2} % number of ticks on negative side
\def\ABS{1.50} % BS gaussian amplitude/normalization
\def\cBS{0.0*\hw} % BS gaussian vertical offset
\def\hw{0.13} % height window
\def\hT{0.23} % height tick
\def\hHT{0.20} % height half tick
\def\tcol{70} % setting to make tracks more lighter
\pgfmathsetmacro\wT{1.0*\xmax/\NpT} % distance between tick ( = 1 cm)
\pgfmathsetmacro\ww{\wT*0.1} % width small windows (0.1 cm)
\pgfmathsetmacro\xBS{0.27*\wT} % z position BS
\pgfmathsetmacro\wBS{2.5*\wT} % z sigma (width) BS
\pgfmathsetmacro\xHS{1.32*\wT} % z position signal window
\pgfmathsetmacro\hHS{1.2*\hT} % height signal window
\pgfmathsetmacro\Rv{0.25*\hHS} % radius of vertex
\pgfmathsetmacro\ltrk{1.4*\ABS} % length track
\coordinate (M) at (\xHS,0); % dimuon vertex
% AXES & TICKS
\drawaxis{1}
% DRAW PU TRACKS
\begin{scope}[x=0.45cm,xshift=14]
\drawtracks{70}
\end{scope}
% MUONS
\draw[muon]
(M) to[bend left=5]++ (30:1.7*\ABS)
node[anchor=-160] {$\tau$};
\draw[muon]
(M) to[bend left=5]++ (-134:1.4*\ABS)
node[anchor=20] {$\tau$};
% SIGNAL WINDOW MEASURE
\pgfmathsetmacro\xL{\xHS-\ww/2} % left x coordinate window
\pgfmathsetmacro\xR{\xHS+\ww/2} % right x coordinate window
\draw[mydarkred,thindashed] (\xL,0) --++ (0,2.29*\hT);
\draw[mydarkred,thindashed] (\xR,0) --++ (0,2.29*\hT);
\draw[mydarkred,thinleftarr] (\xL,1.95*\hT) --++ (-1.1*\ww,0);
\draw[mydarkred,thinleftarr] (\xR,1.95*\hT) --++ (1.1*\ww,0);
\node[mydarkred,above=-1pt,scale=0.72] at (\xL+\ww/2,2.18*\hT) {0.1\,cm};
% SIGNAL WINDOW (hard scattering)
\draw[mydarkred,fill=myred!25,fill opacity=0.5,rounded corners=1pt]
(\xHS-\ww/2,-\hHS/2) rectangle++ (\ww,\hHS);
\draw[mydarkred,dashed]
(\xHS,0.96*\hHS) -- (\xHS,-2*\hT)
node[right=3pt,below=-1pt] {$z_{\tau\tau}$};
\fill[mydarkred] (M) circle(0.13*\hHS);
\end{tikzpicture}
\end{document}Click to download: beamspot.tex • beamspot.pdf
Open in Overleaf: beamspot.tex