Skip to content
Snippets Groups Projects

WIP: Resolve "Slicing of tracks"

Closed Tamas Gal requested to merge 15-slicing-of-tracks into master
2 files
+ 13
5
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 8
5
import uproot
import numpy as np
# 110 MB based on the size of the largest basket found so far in km3net
BASKET_CACHE_SIZE = 110 * 1024**2
@@ -573,12 +574,14 @@ class OfflineTracks:
if isinstance(item, int):
return OfflineTrack(self._keys, [v[item] for v in self._values],
fit_keys=self._fit_keys)
elif isinstance(item, list) and all(isinstance(i, str) for i in item):
cols = item
data = [getattr(self, c) for c in cols]
dtype = dict(names=cols, formats=[d.dtype for d in data])
return np.rec.fromarrays(data, dtype=dtype)
else:
return OfflineTracks(
self._keys,
[v[item] for v in self._values],
fit_keys=self._fit_keys
)
return OfflineTracks(self._keys, [v[item] for v in self._values],
fit_keys=self._fit_keys)
def __len__(self):
try:
Loading