Skip to content
Snippets Groups Projects

WIP: L2SS-1091: Expose TileBeam in HDF5 statistics files.

Closed Jan David Mol requested to merge add-tilebeam-to-statistics into master
Files
3
@@ -118,7 +118,12 @@ def _create_receiver(filename, host, port):
@@ -118,7 +118,12 @@ def _create_receiver(filename, host, port):
def _create_writer(
def _create_writer(
mode, interval, output_dir, decimation, antennafield_device: DeviceProxy = None
mode,
 
interval,
 
output_dir,
 
decimation,
 
antennafield_device: DeviceProxy = None,
 
tilebeam_device: DeviceProxy = None,
):
):
"""Create the writer"""
"""Create the writer"""
if mode == "XST":
if mode == "XST":
@@ -127,6 +132,7 @@ def _create_writer(
@@ -127,6 +132,7 @@ def _create_writer(
file_location=output_dir,
file_location=output_dir,
decimation_factor=decimation,
decimation_factor=decimation,
antennafield_device=antennafield_device,
antennafield_device=antennafield_device,
 
tilebeam_device=tilebeam_device,
)
)
elif mode == "SST":
elif mode == "SST":
return SstHdf5Writer(
return SstHdf5Writer(
@@ -134,6 +140,7 @@ def _create_writer(
@@ -134,6 +140,7 @@ def _create_writer(
file_location=output_dir,
file_location=output_dir,
decimation_factor=decimation,
decimation_factor=decimation,
antennafield_device=antennafield_device,
antennafield_device=antennafield_device,
 
tilebeam_device=tilebeam_device,
)
)
elif mode == "BST":
elif mode == "BST":
return BstHdf5Writer(
return BstHdf5Writer(
@@ -229,23 +236,31 @@ def main():
@@ -229,23 +236,31 @@ def main():
logger.setLevel(logging.DEBUG)
logger.setLevel(logging.DEBUG)
logger.debug("Setting loglevel to DEBUG")
logger.debug("Setting loglevel to DEBUG")
 
antennafield_device = None
 
tilebeam_device = None
 
if args.antennafield:
if args.antennafield:
antennafield_device = _get_tango_device(
antennafield_device = _get_tango_device(
tango_disabled, host, f"STAT/AntennaField/{args.antennafield}"
tango_disabled, host, f"STAT/AntennaField/{args.antennafield}"
)
)
 
if args.antennafield != "LBA": # LBA fields do not have a TileBeam
 
tilebeam_device = _get_tango_device(
 
tango_disabled, host, f"STAT/TileBeam/{args.antennafield}"
 
)
 
if antennafield_device and filename:
if antennafield_device and filename:
logger.warning(
logger.warning(
"Combining live metadata from AntennaField device with statistics read from disk."
"Combining live metadata from AntennaField device with statistics read from disk."
)
)
else:
antennafield_device = None
# creates the TCP receiver that is given to the writer
# creates the TCP receiver that is given to the writer
receiver = _create_receiver(filename, host, port)
receiver = _create_receiver(filename, host, port)
# create the writer
# create the writer
writer = _create_writer(mode, interval, output_dir, decimation, antennafield_device)
writer = _create_writer(
 
mode, interval, output_dir, decimation, antennafield_device, tilebeam_device
 
)
# start looping
# start looping
_start_loop(receiver, writer, reconnect, filename)
_start_loop(receiver, writer, reconnect, filename)
Loading