Source code for graphnet.data.extractors.i3tumextractor

"""I3Extractor class(es) for extracting TUM DNN reconstruction."""

from typing import TYPE_CHECKING, Dict

from graphnet.data.extractors.i3extractor import I3Extractor

if TYPE_CHECKING:
    from icecube import icetray  # pyright: reportMissingImports=false


[docs] class I3TUMExtractor(I3Extractor): """Class for extracting TUM DNN predictions.""" def __init__(self, name: str = "tum_dnn"): """Construct I3TUMExtractor.""" # Base class constructor super().__init__(name) def __call__(self, frame: "icetray.I3Frame") -> Dict[str, float]: """Extract TUM DNN recoconstruction and associated variables.""" output = {} if "TUM_dnn_energy_hive" in frame: output.update( { "tum_dnn_energy_hive": 10 ** frame["TUM_dnn_energy_hive"]["mu_E_on_entry"], "tum_dnn_energy_dst": 10 ** frame["TUM_dnn_energy_dst"]["mu_E_on_entry"], "tum_bdt_sigma": frame["TUM_bdt_sigma"].value, } ) return output