From 2e5918f0912c8a9c90d61732145d92a413dc301e Mon Sep 17 00:00:00 2001
From: ahmedk <karim.ahmed@xfel.eu>
Date: Wed, 4 Oct 2023 11:56:53 +0200
Subject: [PATCH] Change func name to sort_runs_by_gain, fix docstring, use
 sorted runs, and fix high gain run check condition

---
 .../Jungfrau_dark_analysis_all_gains_burst_mode_NBC.ipynb  | 4 ++--
 src/cal_tools/jungfraulib.py                               | 4 ++--
 tests/test_jungfraulib.py                                  | 6 +++---
 tests/test_reference_runs/callab_tests.py                  | 7 ++++---
 4 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/notebooks/Jungfrau/Jungfrau_dark_analysis_all_gains_burst_mode_NBC.ipynb b/notebooks/Jungfrau/Jungfrau_dark_analysis_all_gains_burst_mode_NBC.ipynb
index c636a9ce7..a630399b4 100644
--- a/notebooks/Jungfrau/Jungfrau_dark_analysis_all_gains_burst_mode_NBC.ipynb
+++ b/notebooks/Jungfrau/Jungfrau_dark_analysis_all_gains_burst_mode_NBC.ipynb
@@ -167,7 +167,7 @@
     "\n",
     "ctrl_src = ctrl_source_template.format(karabo_id_control)\n",
     "\n",
-    "jungfraulib.validate_dark_runs_order(\n",
+    "run_nums = jungfraulib.sort_runs_by_gain(\n",
     "    raw_folder=in_folder,\n",
     "    runs=run_nums,\n",
     "    ctrl_src=ctrl_src,\n",
@@ -178,7 +178,7 @@
     "    gain_runs[run_n] = [gain, run_dc]\n",
     "    ctrl_data = jungfraulib.JungfrauCtrl(run_dc, ctrl_src)\n",
     "    # Read control data for the high gain run only.\n",
-    "    if run_n == run_high:\n",
+    "    if gain == 0:\n",
     "\n",
     "        run_mcells, sc_start = ctrl_data.get_memory_cells()\n",
     "\n",
diff --git a/src/cal_tools/jungfraulib.py b/src/cal_tools/jungfraulib.py
index 8ca256dd6..f76bec238 100644
--- a/src/cal_tools/jungfraulib.py
+++ b/src/cal_tools/jungfraulib.py
@@ -142,7 +142,7 @@ EXPECTED_RUN_ORDER = [
 ]
 
 
-def validate_dark_runs_order(
+def sort_runs_by_gain(
     raw_folder,
     runs,
     ctrl_src,
@@ -153,7 +153,7 @@ def validate_dark_runs_order(
 
     Args:
         raw_folder (str): RAW folder for the validated dark runs.
-        runs (list, optional): [High run, Medium run, Low run]. Defaults to [].
+        runs (list, optional): [High run, Medium run, Low run].
         ctrl_src (str): Control source path for slow data.
         modes_order (dict): Gain modes order to sort the runs by.
         expected_run_order (list):Expected dark runs order to process.
diff --git a/tests/test_jungfraulib.py b/tests/test_jungfraulib.py
index fe781afcb..c7fb5258b 100644
--- a/tests/test_jungfraulib.py
+++ b/tests/test_jungfraulib.py
@@ -1,7 +1,7 @@
 import pytest
 from extra_data import RunDirectory
 
-from cal_tools.jungfraulib import JungfrauCtrl, validate_dark_runs_order
+from cal_tools.jungfraulib import JungfrauCtrl, sort_runs_by_gain
 
 # TODO: replace with mocked RAW data as in tests/test_agipdlib.py
 JF = JungfrauCtrl(
@@ -57,9 +57,9 @@ def test_get_gain_mode(mode, result):
 )
 # TODO: missing fixed gain dark runs for JUNGFRAU from test proposal.
 # TODO: missing fixed and adaptive runs after the JF control updated.
-def test_validate_dark_runs_order(original_runs, sorted_runs):
+def test_sort_runs_by_gain(original_runs, sorted_runs):
     raw_folder = "/gpfs/exfel/exp/CALLAB/202130/p900203/raw"
-    validated_runs = validate_dark_runs_order(
+    validated_runs = sort_runs_by_gain(
         raw_folder=raw_folder,
         runs=original_runs,
         ctrl_src="FXE_XAD_JF1M/DET/CONTROL")
diff --git a/tests/test_reference_runs/callab_tests.py b/tests/test_reference_runs/callab_tests.py
index e24e48639..9e41d4c77 100644
--- a/tests/test_reference_runs/callab_tests.py
+++ b/tests/test_reference_runs/callab_tests.py
@@ -379,9 +379,10 @@ automated_test_config = {
             "out-folder": "{}/{}/{}",
             # "/gpfs/exfel/exp/HED/202102/p002656/raw"
             "in-folder": "/gpfs/exfel/exp/CALLAB/202130/p900203/raw",
-            "run-high": "9039",  # Original run: "219",
-            "run-med": "9040",  # Original run: "220",
-            "run-low": "9041",  # Original run: "221",
+            # The 3 runs are arranged in a wrong way on purpose.
+            "run-high": "9040",  # Original run: "219",
+            "run-med": "9041",  # Original run: "220",
+            "run-low": "9039",  # Original run: "221",
             "karabo-id": "HED_IA1_JF500K2",
             "karabo-da": "JNGFR02",
         },
-- 
GitLab