39 def __init__(self, filename: str, verbosity: int = 0, batch_mode: bool =
False) ->
None:
41 Loads a given HDF5 file.
44 filename (str): HDF5 file to open.
45 verbosity (int): Verbose level. 0: Only errors. 1: Warnings. 2: All.
49 super().
__init__(filename, verbosity, batch_mode)
77 Read from the given data fragment path.
79 Returns a np.ndarray of the TPs that were read and appends to
84 print(f
"INFO: Reading from the path\n{fragment_path}")
86 fragment = self.
_h5_file.get_frag(fragment_path)
87 fragment_data_size = fragment.get_data_size()
89 if fragment_data_size == 0:
95 +
"WARNING: Empty fragment. Returning empty array."
99 return np.array([], dtype=self.
tp_dt)
101 tp_size = trgdataformats.TriggerPrimitive.sizeof()
102 num_tps = fragment_data_size // tp_size
104 print(f
"INFO: Loaded fragment with {num_tps} TPs.")
106 np_tp_data = np.zeros((num_tps,), dtype=self.
tp_dt)
107 for idx, byte_idx
in enumerate(range(0, fragment_data_size, tp_size)):
108 tp_datum = trgdataformats.TriggerPrimitive(fragment.get_data(byte_idx))
110 np_tp_data[idx] = np.array([(
111 tp_datum.adc_integral,
116 tp_datum.samples_over_threshold,
117 tp_datum.samples_to_peak,
124 print(
"INFO: Finished reading.")