I am trying to rebuild the following 3D graphic with TikZ. Exact resemblance is not required, and I have actually decided to change the geometry and style a bit to increase the clarity of the (confusing) geometrical situation, but I've run into problems.
Here's my take at making it happen.
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc,3d,positioning}
\begin{document}
\begingroup
\pgfmathsetmacro{\PHIONE}{15}
\pgfmathsetmacro{\PHI}{45}
\pgfmathsetmacro{\THETAONE}{50}
\pgfmathsetmacro{\LLONE}{.5}
\pgfmathsetmacro{\LVONE}{.6}
\pgfmathsetmacro{\THETATWO}{50}
\pgfmathsetmacro{\LLTWO}{.5}
\pgfmathsetmacro{\LVTWO}{.6}
\begin{tikzpicture}[node distance=3.5mm,x={(0.866cm,0.5cm)}, y={(-0.866cm,0.5cm)}, z={(0cm,1cm)}, scale=2]
\coordinate [at={(0,0,0)}] (O);
\coordinate [at={(1.2,-1.2,0)}] (P1);
\coordinate [at={(-1.2,1.2,0)}] (P2);
\coordinate [at={(1,{-cos(\PHIONE)},{-sin(\PHIONE)})}] (refPHIONE);
\coordinate [at={(-1,{-cos(\PHI+\PHIONE)},{-sin(\PHI+\PHIONE)})}] (refPHI);
\coordinate [at={(1,-1,0)}] (refP1);
\coordinate [at={(1,0,0)}] (V1dir);
\coordinate [at={(\LVONE,0,0)}] (V1);
\coordinate [at={({\LVONE+\LLONE *cos(\THETAONE)},{\LLONE *sin(\THETAONE)*-cos(\PHIONE)},{\LLONE *sin(\THETAONE)*-sin(\PHIONE)})}] (l1a);
\coordinate [at={({\LVONE-\LLONE *cos(\THETAONE)},{\LLONE *sin(\THETAONE)* cos(\PHIONE)},{\LLONE *sin(\THETAONE)* sin(\PHIONE)})}] (l1b);
\coordinate [at={(-\LVTWO,0,0)}] (V2);
\coordinate [at={({-\LVTWO+\LLTWO *cos(\THETATWO)},{\LLTWO *sin(\THETATWO)*-cos(\PHI+\PHIONE)},{\LLTWO *sin(\THETATWO)*-sin(\PHI+\PHIONE)})}] (l2a);
\coordinate [at={({-\LVTWO-\LLTWO *cos(\THETATWO)},{\LLTWO *sin(\THETATWO)* cos(\PHI+\PHIONE)},{\LLTWO *sin(\THETATWO)* sin(\PHI+\PHIONE)})}] (l2b);
\draw[-,dashed] (O) -- (V1dir) -- (refP1) -- cycle;
\draw[-,blue,dashed] (refPHIONE) -- (1,{cos(\PHIONE)},{sin(\PHIONE)}) -- (0,{cos(\PHIONE)},{sin(\PHIONE)}) -- (0,{-cos(\PHIONE)},{-sin(\PHIONE)}) -- cycle;
\begin{scope}[canvas is yz plane at x=1]
\draw[->] (-1,0) arc(0:\PHIONE:-1) node[midway,right] {$\Phi_1$};
\end{scope}
\draw[-,red,dashed] (refPHI) -- (-1,{cos(\PHI+\PHIONE)},{sin(\PHI+\PHIONE)}) -- (0,{cos(\PHI+\PHIONE)},{sin(\PHI+\PHIONE)}) -- (0,{-cos(\PHI+\PHIONE)},{-sin(\PHI+\PHIONE)}) -- cycle;
\begin{scope}[canvas is yz plane at x=0]
\draw[->] ({-cos(\PHIONE)},{-sin(\PHIONE)}) arc(\PHIONE:\PHI+\PHIONE:-1) node[midway,right] {$\Phi$};
\end{scope}
\draw[->,thick,shorten >=2mm] (P1) -- (O);
\draw[->,thick,shorten >=2mm] (P2) -- (O);
\draw[->] (O) -- (1.5,0,0);
\draw[->] (O) -- (-1.5,0,0);
\draw[->,thick,blue] (O) -- (V1);
\draw[->,blue] (V1) -- (l1a);
\draw[->,blue] (V1) -- (l1b);
\draw[->,thick,red] (O) -- (V2);
\draw[->,red] (V2) -- (l2a);
\draw[->,red] (V2) -- (l2b);
\node[above of = V1] {$V_1$};
\node[below of = V2] {$V_2$};
\node[right of = P1] {$p$};
\node[left of = P2] {$p$};
\draw[->] (0.25,0) arc (0:-45:0.25) node[midway,above right=-2mm and 0mm] {$\theta^*$};
\draw[->] (V1) ++ (.25,0,0) arc (0:-\THETAONE:.25) node[midway,above right=-2mm and 0mm] {$\theta_1$}; % this should be located in the blue plane
\draw[->] (V2) ++ (.25,0,0) arc (0:-\THETATWO:.25) node[midway,above right=-2mm and 0mm] {$\theta_2$}; % this should be located in the red plane
\end{tikzpicture}
\endgroup
\end{document}
Here is what it looks like:
The main graphical problem still left is that the arc
s depicting the angles \theta_1
and \theta_2
are not within their respective planes (red and blue). I have fiddled around with the arc
definitions, but didn't manage to make it work.
The other problem of more aesthetic nature in this case is that the code is a bit clumsy. I've done my very best to make it look as nice as possible, but all those angular calculations are really hard to read.
The solution I would like most would be to define scopes for the red and blue planes each, which would allow defining the points much more elegantly, and also provide an easy way out for the two problematic arc
s, but I can't figure out how to define tilted planes as scopes.
Can somebody help me?
Also, any suggestion on how to increase the clarity of the depiction and make the picture more easily comprehensible is very welcome.
PS: For people interested in what this picture represents: It's used to define angular variables in proton-proton collisions at the LHC that are used to measure Higgs bosons. The spot marked X
is the collision point at which the Higgs boson is produced, Z_1
/V_1
(Z_2
/V_2
) are the primary decay products of the Higgs boson, and e^+
/e^-
and \mu^+
/\mu^-
are the secondary decay products. The real-world scale of the geometry is on the order of femtometers.