Constructing an event Hypothesis

The Event-Generator framework allows to train Neural Networks (NNs) to model the expected light yield for a given event hypothesis. The event hypothesis can be completely defined by the user. In its simplest form, this event hypothesis consists of a list of parameters. During the training process, these parameters are linked to the expected light yield in the detector with the help of annotated training data that includes the measured pulses as well as the true parameters for the given event hypothesis.

Within the Event-Generator framework, event hypotheses are set up in a nested structure. This allows the user to construct arbitrary complex event hypotheses from simple, elementary building blocks. These elementary building blocks could be a single energy deposition and a track segment, for instance. This setup then only requires training of one NN for each of these elementary building blocks. However, there is no necessity for this decomposition. One could also directly train a model for a more complex event hypothesis.

Internally, event hypotheses are defined via classes that inherit from the Source base class. The Source class itself is a daughter class of the more general Model and BaseComponent classes. These are abstract classes defined in the Event-Generator framework that keep track of all configured settings. This enables complete reproducibility and serialization/deserialization of trained models and ensures their correct usage once trained. All of this is done in the background, such that the user does not have to keep track of this.