After the execution of the kernel, results are copied back to the host memory and made accessible to the user. A selective trigger program has been developed, that makes use of the ring fit results to perform basic kinematical analysis on the events.\\

Four conditions are set to check the quality of the identified rings:
\begin{itemize}
\item the radius belongs to a reasonable interval of values: $R_{min} < R < R_{max}$
\item the number of hits on which a single-ring fit was executed exceeds a minimum threshold: $n > n_{th}$
\item the fraction of hits assigned to the ring candidate, compared to the total number of hits in the event, exceeds a minimum threshold: $n / n_{hit} > f_{th}$ 
\item the rings differ from each other: $|R_i - R_j| > \Delta R_{th}$ and the distance $d_{ij}$ between the centres is $d_{ij} > D_{th}$.
\end{itemize}
where:
\begin{align}
&R_{min} = 50~\si{\centi\meter}\\
&R_{max} = 350~\si{\centi\meter}\\
&n_{th} = 5\\
&f_{th} = 1/3
\end{align}
\begin{align}
&\Delta R_{th} = 1~\si{\centi\meter}\\
&D_{th} = 2~\si{\centi\meter}
\end{align}

These numbers have been optimised in order to minimise the number of times signal events are erroneously rejected, while keeping the efficiency of the trigger as high as possible.\\

Rings that do not satisfy the above condition are discarded and not used to produce trigger decisions. The default behaviour is to produce a positive decision, i.e. the current event is forwarded to the next trigger levels unless some conditions, described below, are satisfied. For each event, if at least a ``good'' ring is identified, a negative trigger decision is produced if one of the following conditions holds:
\begin{itemize}
\item at least two different rings are detected, and the following conditions are satisfied:
	\begin{itemize}
	\item the number of hits in the event is compatible with the presence of more than one charged particle: $n_{hit} > 16 + n_{th} \cdot \left( N_{R} -1 \right)$, where $n_{hit}$ is the number of hits of the event and $N_R$ is the number of different rings found;
	\item the rings were found using different hits: $\sum_{i=1}^{N_{R}} {n_i} < 1.3 \cdot n_{hit} $ (a 30\% tolerance is introduced to account for partial rings overlapping).
	\end{itemize}
\item at least one ring is detected whose radius exceeds $R_{th} = 179$~\si{\milli\meter}, according to the simulation results reported in \chaptername~\ref{ch:mc};
\item at least one ring is detected, corresponding to a reconstructed kinematics such that $\delta > 0.002$
\end{itemize}
where $R_{th}$ and $\delta$ are the cut variables introduced in \chaptername~\ref{ch:mc}.\\

If none of the above conditions is satisfied, a positive trigger decision is produced.