Skip to content
Snippets Groups Projects

Improve fit

Merged Danilo Enoque Ferreira de Lima requested to merge parallelization into main
@@ -116,20 +116,26 @@ def main():
"""
Main entry point. Reads some data, trains and predicts.
"""
run_dir = "/gpfs/exfel/exp/SA3/202121/p002935/raw"
run_id = "r0015"
run_dir = "/gpfs/exfel/exp/SA3/202121/p002935/raw/r0015"
run_dir = "/gpfs/exfel/exp/SQS/202201/p002828/raw/r0206"
# get run
run = RunDirectory(f"{run_dir}/{run_id}")
run = RunDirectory(run_dir)
# get train IDs and match them, so we are sure to have information from all needed sources
# in this example, there is an offset of -2 in the SPEC train ID, so correct for it
spec_offset = -2
spec_tid = spec_offset + run['SA3_XTD10_SPECT/MDL/FEL_BEAM_SPECTROMETER_SQS1:output',
"data.trainId"].ndarray()
pes_tid = run['SA3_XTD10_PES/ADC/1:network',
"digitizers.trainId"].ndarray()
xgm_tid = run['SA3_XTD10_XGM/XGM/DOOCS:output',
"data.trainId"].ndarray()
spec_name = 'SA3_XTD10_SPECT/MDL/FEL_BEAM_SPECTROMETER_SQS1:output'
pes_name = 'SA3_XTD10_PES/ADC/1:network'
xgm_name = 'SA3_XTD10_XGM/XGM/DOOCS:output'
spec_offset = 0
spec_name = 'SA3_XTD10_SPECT/MDL/SPECTROMETER_SQS_NAVITAR:output'
pes_name = 'SA3_XTD10_PES/ADC/1:network'
xgm_name = 'SA3_XTD10_XGM/XGM/DOOCS:output'
spec_tid = spec_offset + run[spec_name, "data.trainId"].ndarray()
pes_tid = run[pes_name, "digitizers.trainId"].ndarray()
xgm_tid = run[xgm_name, "data.trainId"].ndarray()
# these are the train ID intersection
# this could have been done by a select call in the RunDirectory, but it would not correct for the spec_offset
tids = matching_ids(spec_tid, pes_tid, xgm_tid)
@@ -137,19 +143,15 @@ def main():
test_tids = tids[-10:]
# read the spec photon energy and intensity
spec_raw_pe = run['SA3_XTD10_SPECT/MDL/FEL_BEAM_SPECTROMETER_SQS1:output',
"data.photonEnergy"].select_trains(by_id[tids - spec_offset]).ndarray()
spec_raw_int = run['SA3_XTD10_SPECT/MDL/FEL_BEAM_SPECTROMETER_SQS1:output',
"data.intensityDistribution"].select_trains(by_id[tids - spec_offset]).ndarray()
spec_raw_pe = run[spec_name, "data.photonEnergy"].select_trains(by_id[tids - spec_offset]).ndarray()
spec_raw_int = run[spec_name, "data.intensityDistribution"].select_trains(by_id[tids - spec_offset]).ndarray()
# read the PES data for each channel
channels = [f"channel_{i}_{l}"
for i, l in product(range(1, 5), ["A", "B", "C", "D"])]
pes_raw = {ch: run['SA3_XTD10_PES/ADC/1:network',
f"digitizers.{ch}.raw.samples"].select_trains(by_id[tids]).ndarray()
pes_raw = {ch: run[pes_name, f"digitizers.{ch}.raw.samples"].select_trains(by_id[tids]).ndarray()
for ch in channels}
pes_raw_t = {ch: run['SA3_XTD10_PES/ADC/1:network',
f"digitizers.{ch}.raw.samples"].select_trains(by_id[test_tids]).ndarray()
pes_raw_t = {ch: run[pes_name, f"digitizers.{ch}.raw.samples"].select_trains(by_id[test_tids]).ndarray()
for ch in channels}
# read the XGM information
Loading