Code snippets
Some code snippets that can be useful.
Print lstchain version used to produce a file
The lstchain version is stored in the file metadata. You can print it with the following command:
In python:
import tables
filename = 'dl1_file.h5'
file = tables.open_file(filename)
print(file.root._v_attrs['LSTCHAIN_VERSION'])
In bash:
h5dump -a /LSTCHAIN_VERSION dl1_file.h5
Note
ctapipe and ctapipe_io_lst versions are also stored in the metadata. You can print them with the same commands, replacing LSTCHAIN_VERSION by CTAPIPE_VERSION or CTAPIPE_IO_LST_VERSION.
Print configuration parameters used by the script/tool
The configuration file used by a given script/tool is stored in the metadata of the output file. Note that the configuration file can contain more parameters than the ones used in a given analysis stage as the same configuration file can be used for several stages.
import tables
import yaml
filename = 'dl1_file.h5'
with tables.open_file(filename) as file:
config = yaml.safe_load(file.root.dl1.event.telescope.parameters.LST_LSTCam.attrs["config"])
print(config)
# Or for a given parameter section e.g.:
print(config['tailcut_clean_with_pedestal_threshold'])
Print calibration and auxiliary files used by the script/tool
For observed data, the calibration and auxiliary files used to produce DL1 data are stored in the metadata of the DL1 files. You can print them with the following command:
import tables
import yaml
filename = 'dl1_file.h5'
with tables.open_file(filename) as file:
config = yaml.safe_load(file.root.dl1.event.telescope.monitoring.calibration.attrs["config"])
# Drive log with pointing information
print(config['source_config']['LSTEventSource']['PointingSource'])
# Run summary file with reference timestamps and counters for timestamp calculation
print(config['source_config']['LSTEventSource']['EventTimeCalculator'])
# Calibration files (DRS4 baseline corrections, calibration coefficients, time calibration, etc)
print(config['source_config']['LSTEventSource']['LSTR0Corrections'])
print(config['LSTCalibrationCalculator']['systematic_correction_path'])
All these metadata information can be accessed interactively using ViTables.