diff --git a/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb b/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb index 80b69f21e2ef3848fb843bc273927fb09a91e8e5..cdb7b42b8c142b13762a542dd515d60393e68036 100644 --- a/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb +++ b/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb @@ -143,11 +143,9 @@ "ctrl_src = ctrl_source_template.format(karabo_id_control)\n", "\n", "runs_dict = OrderedDict()\n", + "run_numbers = [run_high, run_med, run_low]\n", "\n", - "for gain_idx, (run_name, run_number) in enumerate(zip(\n", - " [\"high\", \"med\", \"low\"],\n", - " [run_high, run_med, run_low]\n", - ")):\n", + "for gain_idx, (run_name, run_number) in enumerate(zip([\"high\", \"med\", \"low\"], run_numbers)):\n", " runs_dict[run_name] = {\n", " \"number\": run_number,\n", " \"gain\": gain_idx,\n", @@ -182,7 +180,6 @@ " nmods = 8\n", "\n", "instrument_src = instrument_source_template.format(karabo_id, receiver_template)\n", - "run_numbers = [run_high, run_med, run_low]\n", "\n", "def create_karabo_da_list(modules):\n", " return([\"AGIPD{:02d}\".format(i) for i in modules])\n", @@ -298,16 +295,26 @@ " gm == AgipdGainMode.ADAPTIVE_GAIN for gm in gain_modes\n", " ):\n", " fixed_gain_mode = False\n", + " # Some runs are adaptive by mistake.\n", " elif any(\n", " gm == AgipdGainMode.ADAPTIVE_GAIN for gm in gain_modes\n", " ):\n", " raise ValueError(\n", - " f\"ERROR: Given runs {self.read_conditions['run_number']}\"\n", + " f\"ERROR: Given runs {run_numbers}\"\n", " \" have a mix of ADAPTIVE and FIXED gain modes: \"\n", - " f\"{self.read_conditions['gain_mode']}.\"\n", + " f\"{gain_modes}.\"\n", " )\n", - " else:\n", + " elif list(gain_modes) == [\n", + " AgipdGainMode.FIXED_HIGH_GAIN,\n", + " AgipdGainMode.FIXED_MEDIUM_GAIN,\n", + " AgipdGainMode.FIXED_LOW_GAIN\n", + " ]:\n", " fixed_gain_mode = True\n", + " else:\n", + " raise ValueError(\n", + " \"ERROR: Wrong arrangment of given dark runs. \"\n", + " f\"Given runs' gain_modes are {gain_modes} for runs: {run_numbers}.\"\n", + " )\n", " return fixed_gain_mode" ] }, @@ -344,7 +351,7 @@ " continue\n", " elif cond == \"gain_mode\":\n", " fixed_gain_mode = validate_gain_modes(cond_dict[\"gain_mode\"])\n", - " if not all(x == vlist[0] for x in vlist):\n", + " elif not all(x == vlist[0] for x in vlist):\n", " # TODO: raise ERROR??\n", " print(\n", " f\"WARNING: {cond} is not the same for the runs \"\n", @@ -369,26 +376,14 @@ "if operation_mode not in (\"ADAPTIVE_GAIN\", \"FIXED_GAIN\"):\n", " print(f\"WARNING: unknown operation_mode \\\"{operation_mode}\\\" parameter set\")\n", "\n", - "if (\n", - " gain_mode == [\n", - " AgipdGainMode.FIXED_HIGH_GAIN,\n", - " AgipdGainMode.FIXED_MEDIUM_GAIN,\n", - " AgipdGainMode.FIXED_LOW_GAIN\n", - " ] and\n", - " operation_mode == \"ADAPTIVE_GAIN\"\n", - "):\n", + "if fixed_gain_mode and operation_mode == \"ADAPTIVE_GAIN\":\n", " print(\n", - " \"WARNING: operation_mode parameter is ADAPTIVE_GAIN, \"\n", - " \"slow data indicates FIXED_GAIN.\")\n", + " \"WARNING: Operation_mode parameter is ADAPTIVE_GAIN, but\"\n", + " \"slow data indicates FIXED_GAIN. Processing fixed gain constants.\")\n", "elif not fixed_gain_mode and operation_mode == \"FIXED_GAIN\":\n", " print(\n", - " \"WARNING: operation_mode parameter is FIXED_GAIN, \"\n", - " \"slow data indicates ADAPTIVE_GAIN\")\n", - "elif not all(gm == AgipdGainMode.ADAPTIVE_GAIN for gm in gain_mode):\n", - " raise ValueError(\n", - " \"ERROR: Wrong arrangment of given dark runs. \"\n", - " f\"Given runs' gain_modes are {gain_mode} for runs: {runs}.\"\n", - " )" + " \"WARNING: Operation_mode parameter is FIXED_GAIN, \"\n", + " \"slow data indicates ADAPTIVE_GAIN. Processing adaptive gain constants.\")" ] }, {