diff --git a/km3io/offline.py b/km3io/offline.py index a9326d901a538b83b7d8322a7fc7e63e251d48ec..0333684b5e9de408c7525fe9e24a286d7856fcb2 100644 --- a/km3io/offline.py +++ b/km3io/offline.py @@ -60,7 +60,7 @@ class OfflineKeys: except those found in fake branches. """ if self._events_keys is None: - fake_branches = ['Evt', 'AAObject', 'TObject', 't'] + fake_branches = set(['Evt', 'AAObject', 'TObject', 't']) t_baskets = ['t.fSec', 't.fNanoSec'] tree = uproot.open(self._file_path)['E']['Evt'] self._events_keys = [ @@ -80,9 +80,9 @@ class OfflineKeys: except those found in fake branches. """ if self._hits_keys is None: - fake_branches = [ + fake_branches = set([ 'hits.usr', 'hits.usr_names' - ] # to be treated like trks.usr and trks.usr_names + ]) # to be treated like trks.usr and trks.usr_names tree = uproot.open(self._file_path)['E']['hits'] self._hits_keys = [ key.decode('utf8') for key in tree.keys() @@ -103,9 +103,9 @@ class OfflineKeys: if self._tracks_keys is None: # a solution can be tree['trks.usr_data'].array( # uproot.asdtype(">i4")) - fake_branches = [ + fake_branches = set([ 'trks.usr_data', 'trks.usr', 'trks.usr_names' - ] # can be accessed using tree['trks.usr_names'].array() + ]) # can be accessed using tree['trks.usr_names'].array() tree = uproot.open(self._file_path)['E']['Evt']['trks'] self._tracks_keys = [ key.decode('utf8') for key in tree.keys() @@ -124,7 +124,7 @@ class OfflineKeys: except those found in fake branches. """ if self._mc_hits_keys is None: - fake_branches = ['mc_hits.usr', 'mc_hits.usr_names'] + fake_branches = set(['mc_hits.usr', 'mc_hits.usr_names']) tree = uproot.open(self._file_path)['E']['Evt']['mc_hits'] self._mc_hits_keys = [ key.decode('utf8') for key in tree.keys() @@ -143,9 +143,9 @@ class OfflineKeys: except those found in fake branches. """ if self._mc_tracks_keys is None: - fake_branches = [ + fake_branches = set([ 'mc_trks.usr_data', 'mc_trks.usr', 'mc_trks.usr_names' - ] # same solution as above can be used + ]) # same solution as above can be used tree = uproot.open(self._file_path)['E']['Evt']['mc_trks'] self._mc_tracks_keys = [ key.decode('utf8') for key in tree.keys() @@ -313,7 +313,7 @@ class Reader: do not contain data. Therefore, the keys corresponding to these fake branches are not read. """ - if key not in self.keys.valid_keys and not isinstance(key, int): + if key not in set(self.keys.valid_keys) and not isinstance(key, int): raise KeyError( "'{}' is not a valid key or is a fake branch.".format(key)) return self._data[key]