From 42371701be7d9bfc4716573cc7f3faa305234bd3 Mon Sep 17 00:00:00 2001 From: Philipp Schmidt <philipp.schmidt@xfel.eu> Date: Wed, 15 Nov 2023 10:04:25 +0100 Subject: [PATCH] Deprecate functionality in EXtra-remi and move to notebook --- .../REMI/REMI_Digitize_and_Transform.ipynb | 36 +++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/notebooks/REMI/REMI_Digitize_and_Transform.ipynb b/notebooks/REMI/REMI_Digitize_and_Transform.ipynb index 46e73f69d..539f2c019 100644 --- a/notebooks/REMI/REMI_Digitize_and_Transform.ipynb +++ b/notebooks/REMI/REMI_Digitize_and_Transform.ipynb @@ -136,9 +136,26 @@ "\n", "remi = Analysis(calib_config_path, use_hex=not quad_anode)\n", "\n", + "# Collect required sources and keys required.\n", + "sourcekeys = set()\n", + "for det_name in remi['detector'].keys():\n", + " sourcekeys |= remi.get_detector_sourcekeys(det_name)\n", + " \n", + "if not reconstruct_ppt:\n", + " sourcekeys.add((ppt_source, 'data.bunchPatternTable'))\n", + "\n", "with timing('open_run'):\n", - " dc = remi.prepare_dc(RunDirectory(Path(in_folder) / f'r{run:04d}', inc_suspect_trains=True),\n", - " require_ppt=not reconstruct_ppt)" + " # Initial opening of input data.\n", + " base_dc = RunDirectory(Path(in_folder) / f'r{run:04d}', inc_suspect_trains=True)\n", + " \n", + "with timing('select_data'):\n", + " # Filter down to those trains with data for all required sources.\n", + " filter_run = base_dc.select(sourcekeys, require_all=True)\n", + "\n", + "# Re-select entire data collection to the trains with data.\n", + "dc = base_dc.select_trains(by_id[filter_run.train_ids])\n", + "base_dc = None\n", + "filter_run = None" ] }, { @@ -154,15 +171,19 @@ "metadata": {}, "outputs": [], "source": [ - "def print_leaf(leaf, indent=0):\n", + "def print_leaf(leaf, indent=0, ignored_keys={}):\n", " for key, value in leaf.items():\n", + " if key in ignored_keys:\n", + " continue\n", + " \n", " if isinstance(value, dict):\n", " print(indent * 4 * ' ' + key)\n", - " print_leaf(value, indent=indent+1)\n", + " print_leaf(value, indent=indent+1, ignored_keys=ignored_keys)\n", " else:\n", " print(indent * 4 * ' ' + f'{key}: {value}')\n", - " \n", - "print_leaf(remi.tree)" + "\n", + "print(calib_config_path.resolve())\n", + "print_leaf(remi.tree, ignored_keys={'instrument', 'trigger'})" ] }, { @@ -638,7 +659,8 @@ " source_name = remi['digitizer']['source']\n", " bl_start, bl_stop, _ = remi.get_baseline_limits(trace_len)\n", " bl_sym = remi['digitizer']['baseline_symmetry']\n", - " time_cal = remi.get_time_calibration()\n", + " \n", + " time_cal = 1e9 / (2 * remi['digitizer']['clock_factor'] * (1.3e9 / 288))\n", " \n", " traces_corr = np.empty((7, trace_len), dtype=np.float64)\n", " baselines = np.empty(bl_sym, dtype=np.float64)\n", -- GitLab