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.