From 5ff5e66f34326794ffebbb876c52044b7699fb00 Mon Sep 17 00:00:00 2001 From: Philipp Schmidt <philipp.schmidt@xfel.eu> Date: Tue, 25 Oct 2022 16:53:47 +0200 Subject: [PATCH] Add support for quad anodes to REMI reconstruction --- notebooks/REMI/REMI_Digitize_and_Transform.ipynb | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/notebooks/REMI/REMI_Digitize_and_Transform.ipynb b/notebooks/REMI/REMI_Digitize_and_Transform.ipynb index eaef141a3..dfd153de6 100644 --- a/notebooks/REMI/REMI_Digitize_and_Transform.ipynb +++ b/notebooks/REMI/REMI_Digitize_and_Transform.ipynb @@ -37,6 +37,9 @@ "dataset_compression = 'gzip' # HDF compression method.\n", "dataset_compression_opts = 3 # HDF GZIP compression level.\n", "\n", + "# Detector parameters.\n", + "quad_anode = False # Reconstruction assumes a hex anode by default, change for quad anodes.\n", + "\n", "# Trigger parameters.\n", "ppt_source = 'SQS_RR_UTC/TSYS/TIMESERVER:outputBunchPattern'\n", "ignore_ppl = False # Ignore any PPL entries in the PPT.\n", @@ -74,10 +77,14 @@ "from extra_data import RunDirectory\n", "from extra_remi import Analysis, trigger_dt\n", "from extra_remi.util import timing\n", - "from extra_remi.plots import plot_detector_diagnostics\n", "from extra_remi.rd_resort import signal_dt, hit_dt\n", "from extra_remi.files import DataFile, sequence_pulses\n", "\n", + "if quad_anode:\n", + " from extra_remi.plots import plot_detector_diagnostics_quad as plot_detector_diagnostics\n", + "else:\n", + " from extra_remi.plots import plot_detector_diagnostics_hex as plot_detector_diagnostics\n", + "\n", "%matplotlib inline" ] }, @@ -97,7 +104,7 @@ " # Disallow implicit config file creation.\n", " raise ValueError('calib_config_path not found - neither absolute nor relative to in_folder')\n", "\n", - "remi = Analysis(calib_config_path)\n", + "remi = Analysis(calib_config_path, use_hex=not quad_anode)\n", "\n", "with timing('open_run'):\n", " dc = remi.prepare_dc(RunDirectory(Path(in_folder) / f'r{run:04d}', inc_suspect_trains=True))" @@ -627,7 +634,7 @@ " \n", " sum_shifts = sort.sum_shifts if sort.sum_shifts != (0.0, 0.0, 0.0) else None\n", " \n", - " is_valid = remi.get_presort_mask(edges, edge_idx=0,\n", + " is_valid = remi.get_presort_mask(edges, edge_idx=0, w=not quad_anode,\n", " sum_limit=max(sort.uncorrected_time_sum_half_widths),\n", " sum_shifts=sum_shifts)\n", " signals, sums = remi.get_signals_and_sums(edges, indices=sort.channel_indices, sum_shifts=sum_shifts,\n", -- GitLab