diff --git a/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb b/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb index e269df26d191f723a0981a9e981ac5ce0b48a89c..bc951eabc7d7abecd12f5e39af73650a355849d1 100644 --- a/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb +++ b/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb @@ -161,9 +161,9 @@ "metadata": {}, "outputs": [], "source": [ - "control_fname = '{}/r{:04d}/RAW-R{:04d}-{}-S00000.h5'.format(in_folder, run_high, \n", - " run_high, karabo_da_control)\n", "gain_names = ['High', 'Medium', 'Low']\n", + "runs = [run_high, run_med, run_low]\n", + "\n", "if \"{\" in h5path_ctrl:\n", " h5path_ctrl = h5path_ctrl.format(karabo_id_control)\n", "\n", @@ -173,7 +173,15 @@ " gain_setting = None\n", " else:\n", " try:\n", - " gain_setting = get_gain_setting(control_fname, h5path_ctrl)\n", + " # extract gain setting and validate that all runs have the same setting\n", + " gsettings = []\n", + " for r in runs:\n", + " control_fname = '{}/r{:04d}/RAW-R{:04d}-{}-S00000.h5'.format(in_folder, r, r,\n", + " karabo_da_control)\n", + " gsettings.append(get_gain_setting(control_fname, h5path_ctrl))\n", + " if not all(g == gsettings[0] for g in gsettings):\n", + " raise ValueError(f\"Different gain settings for the 3 input runs {gsettings}\")\n", + " gain_setting = gsettings[0] \n", " except Exception as e:\n", " print(f'Error while reading gain setting from: \\n{control_fname}')\n", " print(e)\n", @@ -379,14 +387,12 @@ "\n", " \n", "inp = []\n", - "process_files = {}\n", "for gain, mapped_files in gain_mapped_files.items():\n", " dones = []\n", " for i in modules:\n", " qm = f\"Q{i//4+1}M{i%4+1}\"\n", " if qm in mapped_files and not mapped_files[qm].empty():\n", " fname_in = mapped_files[qm].get()\n", - " if \n", " print(\"Process file: \", fname_in)\n", " dones.append(mapped_files[qm].empty())\n", " else:\n", @@ -856,8 +862,8 @@ " l_data_name = ['All bad pixels', 'NOISE_OUT_OF_THRESHOLD', \n", " 'OFFSET_OUT_OF_THRESHOLD', 'OFFSET_NOISE_EVAL_ERROR', 'GAIN_THRESHOLDING_ERROR']\n", "\n", - " l_threshold = ['', f'{thresholds_noise_sigma}' f'{thresholds_offset_hard[gain]}/{thresholds_noise_hard[gain]}', \n", - " f'{thresholds_offset_sigma}' f'{thresholds_offset_hard[gain]}/{thresholds_noise_hard[gain]}',\n", + " l_threshold = ['', f'{thresholds_noise_sigma}' f'{thresholds_noise_hard[gain]}', \n", + " f'{thresholds_offset_sigma}' f'{thresholds_offset_hard[gain]}',\n", " '', f'{thresholds_gain_sigma}']\n", "\n", " for i in range(len(l_data)):\n", @@ -938,6 +944,13 @@ " display(Markdown('### {} [ADU], good pixels only ###'.format(const)))\n", " md = display(Latex(tabulate.tabulate(table, tablefmt='latex', headers=header))) " ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": {