From 3cb0d7e8611116edf36a5cfacdcf4f2d3e8635fb Mon Sep 17 00:00:00 2001 From: Tamas Gal <tgal@km3net.de> Date: Sun, 8 Mar 2020 21:10:22 +0100 Subject: [PATCH] CLeanup --- km3io/offline.py | 57 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 38 insertions(+), 19 deletions(-) diff --git a/km3io/offline.py b/km3io/offline.py index c358220..bb72662 100644 --- a/km3io/offline.py +++ b/km3io/offline.py @@ -1,7 +1,6 @@ from collections import namedtuple import uproot import numpy as np -import awkward as ak import warnings from .definitions import mc_header @@ -9,10 +8,11 @@ MAIN_TREE_NAME = "E" # 110 MB based on the size of the largest basket found so far in km3net BASKET_CACHE_SIZE = 110 * 1024**2 BASKET_CACHE = uproot.cache.ThreadSafeArrayCache(BASKET_CACHE_SIZE) +EXCLUDE_KEYS = set(["AAObject", "t", "fBits", "fUniqueID"]) BranchMapper = namedtuple( "BranchMapper", - ['name', 'key', 'extra', 'exclude', 'update', 'attrparser', 'flat']) + ['name', 'key', 'extra', 'exclude', 'update', 'attrparser']) def _nested_mapper(key): @@ -20,8 +20,6 @@ def _nested_mapper(key): return '_'.join(key.split('.')[1:]) -EXCLUDE_KEYS = set(["AAObject", "t", "fBits", "fUniqueID"]) - EVENTS_MAP = BranchMapper("events", "Evt", { 't_sec': 't.fSec', 't_ns': 't.fNanoSec' @@ -30,18 +28,42 @@ EVENTS_MAP = BranchMapper("events", "Evt", { 'n_mc_hits': 'mc_hits', 'n_tracks': 'trks', 'n_mc_tracks': 'mc_trks' -}, lambda a: a, True) +}, lambda a: a) SUBBRANCH_MAPS = [ - BranchMapper("tracks", "trks", {}, ['trks.usr_data', 'trks.usr'], {}, - _nested_mapper, False), - BranchMapper("mc_tracks", "mc_trks", {}, - ['mc_trks.usr_data', 'mc_trks.usr'], {}, _nested_mapper, - False), - BranchMapper("hits", "hits", {}, ['hits.usr'], {}, _nested_mapper, False), - BranchMapper("mc_hits", "mc_hits", {}, - ['mc_hits.usr', 'mc_hits.dom_id', 'mc_hits.channel_id'], {}, - _nested_mapper, False), + BranchMapper(name="tracks", + key="trks", + extra={}, + exclude=['trks.usr_data', 'trks.usr'], + update={}, + attrparser=_nested_mapper), + BranchMapper(name="mc_tracks", + key="mc_trks", + extra={}, + exclude=[ + 'mc_trks.usr_data', 'mc_trks.usr', 'mc_trks.rec_stages', + 'mc_trks.fitinf' + ], + update={}, + attrparser=_nested_mapper), + BranchMapper(name="hits", + key="hits", + extra={}, + exclude=[ + 'hits.usr', 'hits.pmt_id', 'hits.origin', 'hits.a', + 'hits.pure_a' + ], + update={}, + attrparser=_nested_mapper), + BranchMapper(name="mc_hits", + key="mc_hits", + extra={}, + exclude=[ + 'mc_hits.usr', 'mc_hits.dom_id', 'mc_hits.channel_id', + 'mc_hits.tdc', 'mc_hits.tot', 'mc_hits.trig' + ], + update={}, + attrparser=_nested_mapper), ] @@ -463,7 +485,7 @@ class OfflineReader: class Usr: - """Helper class to access AAObject usr stuff""" + """Helper class to access AAObject `usr`` stuff""" def __init__(self, name, tree, index=None): # Here, we assume that every event has the same names in the same order # to massively increase the performance. This needs triple check if it's @@ -522,7 +544,7 @@ def _to_num(value): class Header: - """The online header""" + """The header""" def __init__(self, header): self._data = {} for attribute, fields in mc_header.items(): @@ -552,7 +574,6 @@ class Branch: tree, mapper, index=None, - subbranches=None, subbranchmaps=None, keymap=None): self._tree = tree @@ -567,8 +588,6 @@ class Branch: else: self._keymap = keymap - if subbranches is not None: - self._subbranches = subbranches if subbranchmaps is not None: for mapper in subbranchmaps: subbranch = Branch(self._tree, -- GitLab