## 3 The Data  
As we mentioned before, the data we used to compare all the classifiers were the same. The main characteristics of the data are described in this section. The data were generated using the simulation tool Pythia [41]. Pythia is a toolkit for the generation of high-energy physics events, simulating, for instance, the proton collisions that occur at the LHC. Given that we use LHCb as the benchmark for our studies, we focused on several \(B\) meson decay modes that were studied in the experiment. These correspond to different generic topologies and final-state particles. Note that we based our studies on the topology of the final states, and ignored any PID variable. LHCb has excellent libraries for PID, many of which rely on ML [42]. We generated the following decays:  
* \(B\to\mu^{+}\mu^{-}\)
* \(B\to\pi^{+}\pi^{-}\)
* \(B\to 3\pi\)
* \(B\to 4\pi\)  
The procedure to generate the signal samples is as follows. We enabled the HardQCD: gg2 bbbard and HardQCD:qqbar2 bbbar processes (which correspond to the production of a \(b\bar{b}\) pair of quarks at the LHC) in Pythia at a collision energy of 14 TeV, and looked for \(B\) mesons. We then recdexed these to our desired final state using the TGenPhaseSpace tool from ROOT. Figure 4 characterizes the usual signal topology, with a \(B\) meson that flights a few mm and then decays to charged particles (such as pions or muons) whose trajectory and momentum can be fully reconstructed. We then applied the set of selection requirements included in Table 1. These are based on the quantities explained on Table 2 and Figure 4. On top of these quantities, we also applied selection requirements based on the pseudo-rapidity (\(\eta\)) of the final state particles. This relates to the angular acceptance of the detector, so that particles not falling in a specific \(\eta\) range fall outside the detector and therefore cannot be reconstructed. Figure 3: Usage of ML at CMS across the years. We show the number of papers published every year (denoted as “Total number” and corresponding to the right axis), as well as the fraction of them reporting the use of TMVA, Sklearn, Keras, PyTorch and Generic NNs (in the left axis). The latter category corresponds to papers mentioning the use of NNs but never referencing any of the aforementioned libraries. \begin{table}
\begin{tabular}{l l l l l l l l l} \hline \hline  & \(\eta\) & \(p_{TB}\) & \(p_{T\mu}\)\(p_{T\pi}\) & \(IP_{B}\) & \(IP_{\mu}\)\(IP_{\pi}\) & **DOCA** & **DoF** \\ \hline \(\mu\) & \(2<\eta<5\) & \(>\)1000 MeV/\(c\) & \(>\)500 MeV/\(c\) & \(<\)0.1 mm & \(>\)0.5 mm & \(<\)0.1 mm & \(>\)3 mm \\ \(\pi\) & \(2<\eta<5\) & \(>\)1000 MeV/\(c\) & \(>\)500 MeV/\(c\) & \(<\)0.5 mm & \(>\)0.5 mm & \(<\)0.1 mm & \(>\)3 mm \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Values for the cuts used in Pythia to generate the signal and background samples for the analysis. The meaning of these variables can be found in Table 2 and Figure 4, as well as in the main text. \begin{table}
\begin{tabular}{l l} \hline \hline \(p_{TB}\) & Transverse momentum of the mother \(B\) meson \\ \(p_{TAug}\) & Transverse momentum of the daughter particles \\ \(p_{\chi},p_{y},p_{z}\) & Momentum components of the daughters \\ \(IP_{B}\) & Closest distance between the \(B\) mother trajectory and the proton–proton collision vertex \\ \(IP_{dang}\) & Closest distance between the daughter particle trajectory and the proton–proton collision vertex \\ DCCA & Distance of Closest Approach between daughter particles \\ DoF & Distance of Flight between the production and decay points of the mother \(B\) meson \\ Isolation \(\mu_{1}\) & Minimum distance between \(\mu_{1}\) and any particle produced by the \(b\bar{b}\) pair, excluding \(\mu_{2}\) \\ Isolation \(\mu_{2}\) & same but for \(\mu_{2}\), excluding \(\mu_{1}\) \\ Daughters\({}_{\text{Ppos}}\) & Position of daughter particles \\ B\({}_{\text{pos}}\) & Position of the \(\bar{B}\) particle \\ \hline \hline \end{tabular}
\end{table} 
Table 2: List of features used to build the classifiers.