Detector Signal Yield
Several parts of an analysis will require the calculation of the detector signal yield, which is the mean number of expected signal events in the detector for a given source hypothesis, i.e. source flux function \(\Phi(\alpha,\delta,E,t)\).
SkyLLH provides two abstract base classes for creating a detector signal yield
instance, DetSigYieldBuilder and
DetSigYield. The first is the builder
class, which will build a DetSigYield class
instance.
The builder class has the abstract method
construct_detsigyield(),
which will take a Dataset,
DatasetData,
FluxModel instance, and live-time to
construct a DetSigYield class instance,
which will provide an evaluation method to calculate the detector signal yield
for a given source, for the given dataset. Hence, the detector signal yield is
dataset and source model dependent.
The DetSigYield class has two abstract
methods, source_to_array() and
__call__().
The source_to_array() method takes
a sequence of source models and converts it into a numpy record array suitable
for the __call__() method to
evaluate the detector signal yield efficiently for a list of sources.
The __call__() method evaluates
the DetSigYield instance. As arguments it
takes the source record array created by the
source_to_array() method, and the
numpy record array holding the (local) source parameter values.
The record array holding the local source parameter values can be generated
through the
create_src_params_recarray
of the ParameterModelMapper instance of the
analysis. See also the Parameter to Model mapping section.