From 4a63c004a7c9d565f9b579924c630b6a384826b6 Mon Sep 17 00:00:00 2001
From: Ivana Klackova <klackova@max-exfl046.desy.de>
Date: Tue, 26 Sep 2023 14:27:13 +0200
Subject: [PATCH] Removed integration time from conditions, acq_rate, mem_cells
 injection with deviations.

---
 ...haracterization_unequalClockStep_NBC.ipynb |  4 ---
 ...cterization_unequalClockStep_Summary.ipynb | 34 ++++++++++++-------
 2 files changed, 22 insertions(+), 16 deletions(-)

diff --git a/notebooks/AGIPD/CS_Characterization_unequalClockStep_NBC.ipynb b/notebooks/AGIPD/CS_Characterization_unequalClockStep_NBC.ipynb
index f2504afb5..62976688b 100644
--- a/notebooks/AGIPD/CS_Characterization_unequalClockStep_NBC.ipynb
+++ b/notebooks/AGIPD/CS_Characterization_unequalClockStep_NBC.ipynb
@@ -65,7 +65,6 @@
     "mem_cells = -1  # number of memory cells used, use -1 to use value stored in slow data.\n",
     "acq_rate = -1. # the detector acquisition rate, use -1. to use value stored in slow data.\n",
     "gain_setting = -1 # the gain setting, use -1 to use value stored in slow data.\n",
-    "integration_time = -1 # integration time, use -1 to use value stored in slow data.\n",
     "\n",
     "sigma_dev_cut = 5 # parameters outside the range median +- sigma_dev_cut*MAD are replaced with the median\n",
     "chi2_lim = 7 # limit of chi2 of the fit\n",
@@ -206,14 +205,11 @@
     "    gain_setting = agipd_cond.get_gain_setting(creation_time)\n",
     "if bias_voltage == -1:\n",
     "    bias_voltage = agipd_cond.get_bias_voltage(karabo_id_control)\n",
-    "if integration_time == -1:\n",
-    "    integration_time = agipd_cond.get_integration_time()\n",
     "\n",
     "print(f\"Bias voltage: {bias_voltage} V\")\n",
     "print(f\"Acquisition rate: {acq_rate} MHz\")\n",
     "print(f\"Memory cells: {mem_cells}\")\n",
     "print(f\"Gain setting: {gain_setting}\")\n",
-    "print(f\"Integration time: {integration_time}\")\n",
     "print(f\"Using {creation_time} as creation time of constant.\")"
    ]
   },
diff --git a/notebooks/AGIPD/CS_Characterization_unequalClockStep_Summary.ipynb b/notebooks/AGIPD/CS_Characterization_unequalClockStep_Summary.ipynb
index 926adb278..61d5cb8b7 100644
--- a/notebooks/AGIPD/CS_Characterization_unequalClockStep_Summary.ipynb
+++ b/notebooks/AGIPD/CS_Characterization_unequalClockStep_Summary.ipynb
@@ -35,8 +35,7 @@
     "bias_voltage = -1 # detector bias voltage, use -1 to use value stored in slow data.\n",
     "mem_cells = -1  # number of memory cells used, use -1 to use value stored in slow data.\n",
     "acq_rate = -1. # the detector acquisition rate, use -1. to use value stored in slow data.\n",
-    "gain_setting = -1 # the gain setting, use -1 to use value stored in slow data.\n",
-    "integration_time = -1 # integration time, use -1 to use value stored in slow data."
+    "gain_setting = -1 # the gain setting, use -1 to use value stored in slow data."
    ]
   },
   {
@@ -103,7 +102,9 @@
   {
    "cell_type": "code",
    "execution_count": null,
-   "metadata": {},
+   "metadata": {
+    "scrolled": true
+   },
    "outputs": [],
    "source": [
     "# Evaluate creation time\n",
@@ -129,8 +130,6 @@
     "    gain_setting = agipd_cond.get_gain_setting(creation_time)\n",
     "if bias_voltage == -1:\n",
     "    bias_voltage = agipd_cond.get_bias_voltage(karabo_id_control)\n",
-    "if integration_time -1:\n",
-    "    integration_time = agipd_cond.get_integration_time()\n",
     "\n",
     "# Evaluate detector instance for mapping\n",
     "instrument = karabo_id.split(\"_\")[0]\n",
@@ -138,7 +137,7 @@
     "\n",
     "print(f\"Using {creation_time} as creation time\")\n",
     "print(f\"Operating conditions are:\\n• Bias voltage: {bias_voltage}\\n• Memory cells: {mem_cells}\\n\"\n",
-    "      f\"• Acquisition rate: {acq_rate}\\n• Gain setting: {gain_setting}\\n• Integration time: {integration_time}\\n\"\n",
+    "      f\"• Acquisition rate: {acq_rate}\\n• Gain setting: {gain_setting}\"\n",
     ")"
    ]
   },
@@ -276,14 +275,24 @@
     "condition = Conditions.Dark.AGIPD(memory_cells=mem_cells, \n",
     "                                  bias_voltage=bias_voltage,\n",
     "                                  acquisition_rate=acq_rate, \n",
-    "                                  gain_setting=gain_setting,\n",
-    "                                  integration_time=integration_time)\n",
+    "                                  gain_setting=gain_setting\n",
+    "                                 )\n",
     "\n",
     "db_modules = get_pdu_from_db(karabo_id, karabo_da, Constants.AGIPD.SlopesCS(),\n",
     "                             condition, cal_db_interface,\n",
     "                             snapshot_at=creation_time)\n",
     "\n",
+    "cond_dev = {\"Memory cells\": [352, 352], \n",
+    "            \"Acquisition rate\": [4.5, 4.5]\n",
+    "           }\n",
+    "        \n",
     "if db_output:\n",
+    "    for parm in condition.parameters:\n",
+    "        if parm.name in cond_dev:\n",
+    "            parm.lower_deviation = cond_dev[parm.name][0]\n",
+    "            parm.upper_deviation = cond_dev[parm.name][1]\n",
+    "            print(f'Condition for {parm.name} deviation updated to {cond_dev[parm.name]}.')\n",
+    "            \n",
     "    for mod, pdu in zip(modules, db_modules):\n",
     "        for const in [\"SlopesCS\", \"BadPixelsCS\"]:\n",
     "            dbconst = getattr(Constants.AGIPD, const)()\n",
@@ -298,10 +307,11 @@
     "                            creation_time=creation_time)\n",
     "\n",
     "    print(\"Constants parameter conditions are:\\n\")\n",
-    "    print(f\"• memory_cells: {mem_cells}\\n• bias_voltage: {bias_voltage}\\n\"\n",
-    "      f\"• acquisition_rate: {acq_rate}\\n• gain_setting: {gain_setting}\\n\"\n",
-    "      f\"• integration_time: {integration_time}\\n\"\n",
-    "      f\"• creation_time: {md.calibration_constant_version.begin_at if md is not None else creation_time}\\n\")"
+    "    print(f\"• memory_cells: {np.diff(cond_dev['Memory cells'])[0]}-{cond_dev['Memory cells'][0]}\\n\"\n",
+    "          f\"• bias_voltage: {bias_voltage}\\n\"\n",
+    "          f\"• acquisition_rate: {np.diff(cond_dev['Acquisition rate'])[0]}-{cond_dev['Acquisition rate'][0]}\\n\"\n",
+    "          f\"• gain_setting: {gain_setting}\\n\"\n",
+    "          f\"• creation_time: {md.calibration_constant_version.begin_at if md is not None else creation_time}\\n\")"
    ]
   },
   {
-- 
GitLab