Skip to content
Snippets Groups Projects

Api update

Merged Zineb Aly requested to merge api-update into master

merge request so that you can comment the code ;)

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
2 2
3 3
4 class AanetReader:
4 class AanetKeys:
5 "wrapper for aanet keys"
6
7 def __init__(self, file_path):
8 self._file_path = file_path
9 self._events_keys = None
10 self._hits_keys = None
11 self._tracks_keys = None
12 self._mc_hits_keys = None
13 self._mc_tracks_keys = None
14 self._valid_keys = None
15
16 def __repr__(self):
  • 36 if key.decode('utf-8') not in fake_branches
    37 ] + t_baskets
    38 return self._events_keys
    39
    40 @property
    41 def hits_keys(self):
    42 if self._hits_keys is None:
    43 tree = uproot.open(self._file_path)['E']['hits']
    44 self._hits_keys = [key.decode('utf8') for key in tree.keys()]
    45 return self._hits_keys
    46
    47 @property
    48 def tracks_keys(self):
    49 if self._tracks_keys is None:
    50 fake_branches = ['trks.usr_data',
    51 'trks.usr_names'] # uproot can't read these
  • 78 @property
    79 def valid_keys(self):
    80 """constructs a list of all valid keys to be read from an Aanet event file.
    81 Returns
    82 -------
    83 list
    84 list of all valid keys.
    85 """
    86 if self._valid_keys is None:
    87 self._valid_keys = (self.events_keys + self.hits_keys +
    88 self.tracks_keys + self.mc_tracks_keys +
    89 self.mc_hits_keys)
    90 return self._valid_keys
    91
    92
    93 class Reader(AanetKeys):
  • 46 129 not contain data. Therefore, the keys corresponding to these fake
    47 130 branches are not read.
    48 131 """
    49 if key not in self.keys() and not isinstance(key, int):
    132 if key not in self.valid_keys and not isinstance(key, int):
  • Tamas Gal
  • Tamas Gal
  • 55 return len(self.lazy_data)
    135 return self._lazy_data[key]
    56 136
    57 def __repr__(self):
    58 return '\n'.join([
    59 "Number of events: {}".format(self.__len__()),
    60 "Events keys are:\n\t" + '\n\t'.join(self.events_keys),
    61 "Hits keys are:\n\t" + '\n\t'.join(self.hits_keys),
    62 "Tracks keys are:\n\t" + '\n\t'.join(self.tracks_keys),
    63 "Mc hits keys are:\n\t" + '\n\t'.join(self.mc_hits_keys),
    64 "Mc tracks keys are:\n\t" + '\n\t'.join(self.mc_tracks_keys)
    65 ])
    66 137
    67 def keys(self):
    68 """constructs a list of all valid keys to be read from an Aanet event file.
    138 class AanetReader(AanetKeys):
  • Tamas Gal
  • Tamas Gal
  • Tamas Gal
  • Tamas Gal
  • Tamas Gal
  • Tamas Gal
  • Tamas Gal
  • Tamas Gal
  • 242 "{:15} {:^10} {:>10}".format(k, ':', str(v))
    243 for k, v in zip(self._keys, self._values)
    244 ])
    245
    246 def __repr__(self):
    247 return str(self)
    248
    249
    250 class AanetHits:
    251 "wrapper for Aanet hits, manages the display of all hits in one event"
    252
    253 def __init__(self, keys, values): # values is a list of lists
    254 self._keys = keys # list of keys
    255 self._values = values
    256 for k, v in zip(self._keys, self._values):
    257 setattr(self, k.split('hits.')[1].replace('.', '_'), v)
  • Tamas Gal
  • Tamas Gal
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading