From bcf62f111a5c70948a2123e509ddbc91a48f9150 Mon Sep 17 00:00:00 2001
From: Tamas Gal <tgal@km3net.de>
Date: Wed, 9 Sep 2020 10:54:22 +0200
Subject: [PATCH] Preliminary transition

---
 km3io/offline.py |  4 ++--
 km3io/online.py  | 43 +++++++++++++++++++------------------------
 km3io/rootio.py  | 14 ++++----------
 3 files changed, 25 insertions(+), 36 deletions(-)

diff --git a/km3io/offline.py b/km3io/offline.py
index ea98609..570e92c 100644
--- a/km3io/offline.py
+++ b/km3io/offline.py
@@ -133,13 +133,13 @@ class Usr:
 
         self._usr_names = [
             n.decode("utf-8")
-            for n in self._branch[self._usr_key + "_names"].lazyarray()[0]
+            for n in self._branch[self._usr_key + '_names'].array()[0]
         ]
         self._usr_idx_lookup = {
             name: index for index, name in enumerate(self._usr_names)
         }
 
-        data = self._branch[self._usr_key].lazyarray()
+        data = self._branch[self._usr_key].array()
 
         if self._index_chain:
             data = unfold_indices(data, self._index_chain)
diff --git a/km3io/online.py b/km3io/online.py
index 4e711fd..106dc55 100644
--- a/km3io/online.py
+++ b/km3io/online.py
@@ -214,9 +214,9 @@ class SummarySlices:
         return self._rates
 
     def _read_summaryslices(self):
-        """Reads a lazyarray of summary slices"""
+        """Reads the summary slices"""
         tree = self._fobj[b'KM3NET_SUMMARYSLICE'][b'KM3NET_SUMMARYSLICE']
-        return tree[b'vector<KM3NETDAQ::JDAQSummaryFrame>'].lazyarray(
+        return tree[b'vector<KM3NETDAQ::JDAQSummaryFrame>'].array(
             uproot.asjagged(uproot.astable(
                 uproot.asdtype([("dom_id", "i4"), ("dq_status", "u4"),
                                 ("hrv", "u4"), ("fifo", "u4"),
@@ -227,11 +227,11 @@ class SummarySlices:
                 SUMMARYSLICE_FRAME_BASKET_CACHE_SIZE))
 
     def _read_headers(self):
-        """Reads a lazyarray of summary slice headers"""
-        tree = self._fobj[b"KM3NET_SUMMARYSLICE"][b"KM3NET_SUMMARYSLICE"]
-        return tree[b"KM3NETDAQ::JDAQSummarysliceHeader"].lazyarray(
-            uproot.interpret(tree[b"KM3NETDAQ::JDAQSummarysliceHeader"], cntvers=True)
-        )
+        """Reads the summary slice headers"""
+        tree = self._fobj[b'KM3NET_SUMMARYSLICE'][b'KM3NET_SUMMARYSLICE']
+        return tree[b'KM3NETDAQ::JDAQSummarysliceHeader'].array(
+            uproot.interpret(tree[b'KM3NETDAQ::JDAQSummarysliceHeader'],
+                             cntvers=True))
 
     def __str__(self):
         return "Number of summaryslices: {}".format(len(self.headers))
@@ -264,7 +264,7 @@ class Timeslices:
             superframes = tree[b"vector<KM3NETDAQ::JDAQSuperFrame>"]
             hits_dtype = np.dtype([("pmt", "u1"), ("tdc", "<u4"), ("tot", "u1")])
             hits_buffer = superframes[
-                b'vector<KM3NETDAQ::JDAQSuperFrame>.buffer'].lazyarray(
+                b'vector<KM3NETDAQ::JDAQSuperFrame>.buffer'].array(
                     uproot.asjagged(uproot.astable(uproot.asdtype(hits_dtype)),
                                     skipbytes=6),
                     basketcache=uproot.cache.LRUArrayCache(
@@ -289,7 +289,7 @@ class Timeslices:
 
 class TimesliceStream:
     def __init__(self, headers, superframes, hits_buffer):
-        # self.headers = headers.lazyarray(
+        # self.headers = headers.array(
         #     uproot.asjagged(uproot.astable(
         #         uproot.asdtype(
         #             np.dtype([('a', 'i4'), ('b', 'i4'), ('c', 'i4'),
@@ -303,10 +303,10 @@ class TimesliceStream:
 
     # def frames(self):
     #     n_hits = self._superframe[
-    #         b'vector<KM3NETDAQ::JDAQSuperFrame>.numberOfHits'].lazyarray(
+    #         b'vector<KM3NETDAQ::JDAQSuperFrame>.numberOfHits'].array(
     #             basketcache=BASKET_CACHE)[self._idx]
     #     module_ids = self._superframe[
-    #         b'vector<KM3NETDAQ::JDAQSuperFrame>.id'].lazyarray(basketcache=BASKET_CACHE)[self._idx]
+    #         b'vector<KM3NETDAQ::JDAQSuperFrame>.id'].array(basketcache=BASKET_CACHE)[self._idx]
     #     idx = 0
     #     for module_id, n_hits in zip(module_ids, n_hits):
     #         self._frames[module_id] = hits_buffer[idx:idx + n_hits]
@@ -335,18 +335,15 @@ class Timeslice:
         """Populate a dictionary of frames with the module ID as key"""
         hits_buffer = self._hits_buffer[self._idx]
         n_hits = self._superframe[
-            b"vector<KM3NETDAQ::JDAQSuperFrame>.numberOfHits"
-        ].lazyarray(basketcache=BASKET_CACHE)[self._idx]
+            b'vector<KM3NETDAQ::JDAQSuperFrame>.numberOfHits'].array(
+                basketcache=BASKET_CACHE)[self._idx]
         try:
             module_ids = self._superframe[
-                b"vector<KM3NETDAQ::JDAQSuperFrame>.id"
-            ].lazyarray(basketcache=BASKET_CACHE)[self._idx]
+                b'vector<KM3NETDAQ::JDAQSuperFrame>.id'].array(
+                    basketcache=BASKET_CACHE)[self._idx]
         except KeyError:
-            module_ids = (
-                self._superframe[
-                    b"vector<KM3NETDAQ::JDAQSuperFrame>.KM3NETDAQ::JDAQModuleIdentifier"
-                ]
-                .lazyarray(
+            module_ids = self._superframe[
+                b'vector<KM3NETDAQ::JDAQSuperFrame>.KM3NETDAQ::JDAQModuleIdentifier'].array(
                     uproot.asjagged(
                         uproot.astable(uproot.asdtype([("dom_id", ">i4")]))
                     ),
@@ -363,10 +360,8 @@ class Timeslice:
     def __len__(self):
         if self._n_frames is None:
             self._n_frames = len(
-                self._superframe[b"vector<KM3NETDAQ::JDAQSuperFrame>.id"].lazyarray(
-                    basketcache=BASKET_CACHE
-                )[self._idx]
-            )
+                self._superframe[b'vector<KM3NETDAQ::JDAQSuperFrame>.id'].
+                array(basketcache=BASKET_CACHE)[self._idx])
         return self._n_frames
 
     def __str__(self):
diff --git a/km3io/rootio.py b/km3io/rootio.py
index 4086d24..c64730a 100644
--- a/km3io/rootio.py
+++ b/km3io/rootio.py
@@ -108,9 +108,7 @@ class Branch:
     def _initialise_keys(self):
         """Create the keymap and instance attributes for branch keys"""
         # TODO: this could be a cached property
-        keys = set(k.decode("utf-8") for k in self._branch.keys()) - set(
-            self._mapper.exclude
-        )
+        keys = set(self._branch.keys()) - set(self._mapper.exclude)
         self._keymap = {
             **{self._mapper.attrparser(k): k for k in keys},
             **self._mapper.extra,
@@ -154,9 +152,8 @@ class Branch:
                 6,
             )
 
-        out = self._branch[self._keymap[key]].lazyarray(
-            interpretation=interpretation, basketcache=BASKET_CACHE
-        )
+        out = self._branch[self._keymap[key]].array(
+            interpretation=interpretation)
         if self._index_chain is not None and key in self._mapper.toawkward:
             cache_key = self._mapper.name + "/" + key
             if cache_key not in self._awkward_cache:
@@ -199,10 +196,7 @@ class Branch:
         else:
             return len(
                 unfold_indices(
-                    self._branch[self._keymap["id"]].lazyarray(
-                        basketcache=BASKET_CACHE
-                    ),
-                    self._index_chain,
+                    self._branch[self._keymap['id']].array(), self._index_chain))
                 )
             )
 
-- 
GitLab