DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
trgtools.HDF5Reader.HDF5Reader Class Reference
Inheritance diagram for trgtools.HDF5Reader.HDF5Reader:
[legend]
Collaboration diagram for trgtools.HDF5Reader.HDF5Reader:
[legend]

Public Member Functions

None __init__ (self, str filename, int verbosity=0, bool batch_mode=False)
 
list[str] get_fragment_paths (self)
 
None set_fragment_paths (self, list[str] fragment_paths)
 
None read_fragment (self, str fragment_path)
 
None read_all_fragments (self)
 
None clear_data (self)
 
None reset_fragment_paths (self)
 

Public Attributes

 run_id = self._h5_file.get_int_attribute('run_number')
 
 file_index = self._h5_file.get_int_attribute('file_index')
 

Protected Member Functions

None _filter_fragment_paths (self)
 

Protected Attributes

 _h5_file = HDF5RawDataFile(filename)
 
 _fragment_paths = self._h5_file.get_all_fragment_dataset_paths()
 
 _verbosity = verbosity
 
int _num_empty = 0
 
 _batch_mode = batch_mode
 

Static Protected Attributes

str _FAIL_TEXT_COLOR = '\033[91m'
 
str _WARNING_TEXT_COLOR = '\033[93m'
 
str _BOLD_TEXT = '\033[1m'
 
str _END_TEXT_COLOR = '\033[0m'
 

Detailed Description

Abstract reader class for HDF5 files.

Derived classes must complete all methods
decorated with @abc.abstractmethod.

Definition at line 10 of file HDF5Reader.py.

Constructor & Destructor Documentation

◆ __init__()

None trgtools.HDF5Reader.HDF5Reader.__init__ ( self,
str filename,
int verbosity = 0,
bool batch_mode = False )
Loads a given HDF5 file.

Parameters:
    filename (str): HDF5 file to open.
    verbosity (int): Verbose level. 0: Only errors. 1: Warnings. 2: All.

Returns nothing.

Reimplemented in trgtools.TAReader.TAReader, trgtools.TCReader.TCReader, and trgtools.TPReader.TPReader.

Definition at line 25 of file HDF5Reader.py.

25 def __init__(self, filename: str, verbosity: int = 0, batch_mode: bool = False) -> None:
26 """
27 Loads a given HDF5 file.
28
29 Parameters:
30 filename (str): HDF5 file to open.
31 verbosity (int): Verbose level. 0: Only errors. 1: Warnings. 2: All.
32
33 Returns nothing.
34 """
35 # Generic loading
36 self._h5_file = HDF5RawDataFile(filename)
37 self._fragment_paths = self._h5_file.get_all_fragment_dataset_paths()
38 self.run_id = self._h5_file.get_int_attribute('run_number')
39 self.file_index = self._h5_file.get_int_attribute('file_index')
40
41 self._verbosity = verbosity
42
43 self._filter_fragment_paths() # Derived class must define this.
44
45 self._num_empty = 0 # Counts the number of empty fragments.
46
47 self._batch_mode = batch_mode
48
49 return None
50

Member Function Documentation

◆ _filter_fragment_paths()

None trgtools.HDF5Reader.HDF5Reader._filter_fragment_paths ( self)
protected
Filter the fragment paths of interest.

This should be according to the derived reader's
data type of interest, e.g., filter for TriggerActivity.

Reimplemented in trgtools.TAReader.TAReader, trgtools.TCReader.TCReader, and trgtools.TPReader.TPReader.

Definition at line 52 of file HDF5Reader.py.

52 def _filter_fragment_paths(self) -> None:
53 """
54 Filter the fragment paths of interest.
55
56 This should be according to the derived reader's
57 data type of interest, e.g., filter for TriggerActivity.
58 """
59 ...
60

◆ clear_data()

None trgtools.HDF5Reader.HDF5Reader.clear_data ( self)
 Clear the contents of the member data. 

Reimplemented in trgtools.TAReader.TAReader, trgtools.TCReader.TCReader, and trgtools.TPReader.TPReader.

Definition at line 93 of file HDF5Reader.py.

93 def clear_data(self) -> None:
94 """ Clear the contents of the member data. """
95 ...
96

◆ get_fragment_paths()

list[str] trgtools.HDF5Reader.HDF5Reader.get_fragment_paths ( self)
 Return the list of fragment paths. 

Definition at line 61 of file HDF5Reader.py.

61 def get_fragment_paths(self) -> list[str]:
62 """ Return the list of fragment paths. """
63 return list(self._fragment_paths)
64

◆ read_all_fragments()

None trgtools.HDF5Reader.HDF5Reader.read_all_fragments ( self)
 Read all fragments. 

Definition at line 75 of file HDF5Reader.py.

75 def read_all_fragments(self) -> None:
76 """ Read all fragments. """
77 for fragment_path in tqdm(self._fragment_paths, desc='Reading all the fragments', disable=self._batch_mode):
78 _ = self.read_fragment(fragment_path)
79
80 # self.read_fragment should increment self._num_empty.
81 # Print how many were empty as a debug.
82 if self._verbosity >= 1 and self._num_empty != 0:
83 print(
84 self._FAIL_TEXT_COLOR
85 + self._BOLD_TEXT
86 + f"WARNING: Skipped {self._num_empty} frags."
87 + self._END_TEXT_COLOR
88 )
89
90 return None
91

◆ read_fragment()

None trgtools.HDF5Reader.HDF5Reader.read_fragment ( self,
str fragment_path )
 Read one fragment from :fragment_path:. 

Reimplemented in trgtools.TAReader.TAReader, trgtools.TCReader.TCReader, and trgtools.TPReader.TPReader.

Definition at line 71 of file HDF5Reader.py.

71 def read_fragment(self, fragment_path: str) -> None:
72 """ Read one fragment from :fragment_path:. """
73 ...
74

◆ reset_fragment_paths()

None trgtools.HDF5Reader.HDF5Reader.reset_fragment_paths ( self)
 Reset the fragment paths to the initialized state. 

Definition at line 97 of file HDF5Reader.py.

97 def reset_fragment_paths(self) -> None:
98 """ Reset the fragment paths to the initialized state. """
99 self._fragment_paths = self._h5_file.get_all_fragment_dataset_paths()
100 self._filter_fragment_paths()

◆ set_fragment_paths()

None trgtools.HDF5Reader.HDF5Reader.set_fragment_paths ( self,
list[str] fragment_paths )
 Set the list of fragment paths. 

Definition at line 65 of file HDF5Reader.py.

65 def set_fragment_paths(self, fragment_paths: list[str]) -> None:
66 """ Set the list of fragment paths. """
67 self._fragment_paths = fragment_paths
68 return None
69

Member Data Documentation

◆ _batch_mode

trgtools.HDF5Reader.HDF5Reader._batch_mode = batch_mode
protected

Definition at line 47 of file HDF5Reader.py.

◆ _BOLD_TEXT

str trgtools.HDF5Reader.HDF5Reader._BOLD_TEXT = '\033[1m'
staticprotected

Definition at line 21 of file HDF5Reader.py.

◆ _END_TEXT_COLOR

str trgtools.HDF5Reader.HDF5Reader._END_TEXT_COLOR = '\033[0m'
staticprotected

Definition at line 22 of file HDF5Reader.py.

◆ _FAIL_TEXT_COLOR

str trgtools.HDF5Reader.HDF5Reader._FAIL_TEXT_COLOR = '\033[91m'
staticprotected

Definition at line 19 of file HDF5Reader.py.

◆ _fragment_paths

trgtools.HDF5Reader.HDF5Reader._fragment_paths = self._h5_file.get_all_fragment_dataset_paths()
protected

Definition at line 37 of file HDF5Reader.py.

◆ _h5_file

trgtools.HDF5Reader.HDF5Reader._h5_file = HDF5RawDataFile(filename)
protected

Definition at line 36 of file HDF5Reader.py.

◆ _num_empty

int trgtools.HDF5Reader.HDF5Reader._num_empty = 0
protected

Definition at line 45 of file HDF5Reader.py.

◆ _verbosity

trgtools.HDF5Reader.HDF5Reader._verbosity = verbosity
protected

Definition at line 41 of file HDF5Reader.py.

◆ _WARNING_TEXT_COLOR

str trgtools.HDF5Reader.HDF5Reader._WARNING_TEXT_COLOR = '\033[93m'
staticprotected

Definition at line 20 of file HDF5Reader.py.

◆ file_index

trgtools.HDF5Reader.HDF5Reader.file_index = self._h5_file.get_int_attribute('file_index')

Definition at line 39 of file HDF5Reader.py.

◆ run_id

trgtools.HDF5Reader.HDF5Reader.run_id = self._h5_file.get_int_attribute('run_number')

Definition at line 38 of file HDF5Reader.py.


The documentation for this class was generated from the following file: