## 2 Materials and Methods
### Training and Testing Using ANN4 FLES and PyTorch  
The C++ package ANN4 FLES is designed for the fast and efficient creation of various neural network architectures and will be optimized for its usage within the full event reconstruction chain of the CBM experiment. In its current state, ANN4 FLES includes architectures such as fully connected multi-layer perceptrons, convolutional neural networks, recurrent neural networks, graph neural networks, and more. Furthermore, it provides a graphical user interface for training, testing and fine-tuning of various hyperparameters without the need for additional programming, such that pre-trained neural networks can be easily exported to be used in CBM's FLES package.  
In the present work, a Multi-Layer Perceptron (MLP) [26; 27] is used to solve a classification problem between two possible mother particles in a competition based on their reconstructed properties. The ANN4 FLES standalone package is used to create the neural networks for training and testing. Then, the chosen pre-trained network is included into the KF Particle Finder package and used in the particle competition to classify the competitors.  
Since the previous work [15] already showed that a neural network can perform comparably to the existing competition of the KF Particle Finder, ANN4 FLES is used for the first time within the KF Particle Finder package to implement a more complex neural network for this classification task (see Figure 1). ANN4 FLES was tested on multiple well-known data sets and it was shown that ANN4 FLES offered comparable results to other neural network packages, which makes one confident that the implemented mathematics in ANN4 FLES are correct [24]. However, for comparison with a reference network implemented in PyTorch [28], the weights are initialized by the same uniform distribution method [29]. ADAM [30], with a learning rate of \(\alpha=0.003\) and default \(\beta_{1},\beta_{2}\), was chosen as a weight optimizer, whereas the selected activation functions are Leaky-ReLU for all hidden neurons and Softmax for the output layer. The loss was calculated using binary cross entropy and the training and testing phase was repeated over 100 epochs with a batch size of 50.  
To find a well performing model and settings, different learning rates in the range of 0.001 and 0.005 were tested. The final results are accomplished by a network that was trained with a learning rate of 0.003, whereas lower learning rates performed almost equally, but larger learning rates tend to perform slightly worse. It is assumed that a larger learning rate does not allow for moving as deep into a minimum as with using lower rates, since it might overshoot the minimum slightly.  
Besides the learning rates, different layer sizes and network depths were tested. Here, the main focus was set on finding a balance between network size and results. On the one hand, a more complex structure could lead to an even better performance. However, the raw classification performance is already good, such that much deeper networks were not tested yet. A deep neural network increases the amount of parameters and calculations, slowing the classification process and, therefore, has to be balanced with the fast algorithms required for the real-time event reconstruction in CBM. On the other hand, simpler architectures than the chosen one seem to perform worse, which indicates a less complex model is not capable of learning the patterns.