Skip to content
Snippets Groups Projects

Best reco hits events

Merged Zineb Aly requested to merge best-reco-hits-events into master
1 unresolved thread
Files
2
+ 17
23
@@ -11,7 +11,6 @@ BASKET_CACHE_SIZE = 110 * 1024**2
class OfflineKeys:
"""wrapper for offline keys"""
def __init__(self, file_path):
"""OfflineKeys is a class that reads all the available keys in an offline
file and adapts the keys format to Python format.
@@ -61,7 +60,7 @@ class OfflineKeys:
except those found in fake branches.
"""
if self._events_keys is None:
fake_branches = set(['Evt', 'AAObject', 'TObject', 't'])
fake_branches = ['Evt', 'AAObject', 'TObject', 't']
t_baskets = ['t.fSec', 't.fNanoSec']
tree = uproot.open(self._file_path)['E']['Evt']
self._events_keys = [
@@ -81,9 +80,9 @@ class OfflineKeys:
except those found in fake branches.
"""
if self._hits_keys is None:
fake_branches = set([
fake_branches = [
'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()
@@ -104,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 = set([
fake_branches = [
'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()
@@ -125,7 +124,7 @@ class OfflineKeys:
except those found in fake branches.
"""
if self._mc_hits_keys is None:
fake_branches = set(['mc_hits.usr', 'mc_hits.usr_names'])
fake_branches = ['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()
@@ -144,9 +143,9 @@ class OfflineKeys:
except those found in fake branches.
"""
if self._mc_tracks_keys is None:
fake_branches = set(
['mc_trks.usr_data', 'mc_trks.usr',
'mc_trks.usr_names']) # same solution as above can be used
fake_branches = [
'mc_trks.usr_data', 'mc_trks.usr', 'mc_trks.usr_names'
] # 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()
@@ -274,7 +273,6 @@ class OfflineKeys:
class Reader:
"""Reader for one offline ROOT file"""
def __init__(self, file_path):
""" Reader class is an offline ROOT file reader. This class is a
"very" low level I/O.
@@ -315,7 +313,8 @@ class Reader:
do not contain data. Therefore, the keys corresponding to these
fake branches are not read.
"""
if key not in set(self.keys.valid_keys) and not isinstance(key, int):
keys = set(self.keys.valid_keys)
if key not in keys and not isinstance(key, int):
raise KeyError(
"'{}' is not a valid key or is a fake branch.".format(key))
return self._data[key]
@@ -342,7 +341,6 @@ class Reader:
class OfflineReader:
"""reader for offline ROOT files"""
def __init__(self, file_path, data=None):
""" OfflineReader class is an offline ROOT file wrapper
@@ -571,8 +569,10 @@ class OfflineReader:
str(stages)))
else:
fit_data = np.array([
i[k] for i, j, k in zip(fit_info, rec_stages[:, 0],
rec_stages[:, 1]) if k is not None
i[k]
for i, j, k in zip(fit_info, rec_stages[:, 0], rec_stages[:,
1])
if k is not None
])
rec_array = np.core.records.fromarrays(fit_data.transpose(),
names=keys)
@@ -693,8 +693,8 @@ class OfflineReader:
for key in keys:
lazy_d[key] = np.array([
i[k] for i, k in zip(
getattr(self.tracks, key)[mask], rec_stages[:, 1]
[mask])
getattr(self.tracks, key)[mask], rec_stages[:,
1][mask])
])
return lazy_d
@@ -759,7 +759,6 @@ class OfflineReader:
class OfflineEvents:
"""wrapper for offline events"""
def __init__(self, keys, values):
"""wrapper for offline events.
@@ -794,7 +793,6 @@ class OfflineEvents:
class OfflineEvent:
"""wrapper for an offline event"""
def __init__(self, keys, values):
"""wrapper for one offline event.
@@ -822,7 +820,6 @@ class OfflineEvent:
class OfflineHits:
"""wrapper for offline hits"""
def __init__(self, keys, values):
"""wrapper for offline hits.
@@ -857,7 +854,6 @@ class OfflineHits:
class OfflineHit:
"""wrapper for an offline hit"""
def __init__(self, keys, values):
"""wrapper for one offline hit.
@@ -894,7 +890,6 @@ class OfflineHit:
class OfflineTracks:
"""wrapper for offline tracks"""
def __init__(self, keys, values, fitparameters=None):
"""wrapper for offline tracks
@@ -939,7 +934,6 @@ class OfflineTracks:
class OfflineTrack:
"""wrapper for an offline track"""
def __init__(self, keys, values, fitparameters=None):
"""wrapper for one offline track.
Loading