From d00ed80a3bcd1f9ffac6c5233507ce6d782c5746 Mon Sep 17 00:00:00 2001
From: Thomas Michelat <thomas.michelat@xfel.eu>
Date: Tue, 11 Jul 2023 17:55:10 +0200
Subject: [PATCH] Feat/ppu/number of trains

---
 notebooks/AGIPD/AGIPD_Correct_and_Verify.ipynb | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/notebooks/AGIPD/AGIPD_Correct_and_Verify.ipynb b/notebooks/AGIPD/AGIPD_Correct_and_Verify.ipynb
index 7f4df8a20..7489793dc 100644
--- a/notebooks/AGIPD/AGIPD_Correct_and_Verify.ipynb
+++ b/notebooks/AGIPD/AGIPD_Correct_and_Verify.ipynb
@@ -141,7 +141,7 @@
     "import matplotlib\n",
     "import matplotlib.pyplot as plt\n",
     "import yaml\n",
-    "from extra_data import RunDirectory, stack_detector_data\n",
+    "from extra_data import by_id, RunDirectory, stack_detector_data\n",
     "from extra_geom import AGIPD_1MGeometry, AGIPD_500K2GGeometry\n",
     "from matplotlib import cm as colormap\n",
     "from matplotlib.colors import LogNorm\n",
@@ -304,7 +304,14 @@
     "\n",
     "    # The trains picked are the unique values of trainTrigger.sequenceStart\n",
     "    # minus the first (previous trigger before this run).\n",
-    "    train_ids = np.unique(seq_start)[1:] + ppu_train_offset\n",
+    "    start_train_ids = np.unique(seq_start)[1:] + ppu_train_offset\n",
+    "\n",
+    "    train_ids = []\n",
+    "    for train_id in start_train_ids:\n",
+    "        n_trains = dc[\n",
+    "            use_ppu_device, 'trainTrigger.numberOfTrains'\n",
+    "        ].select_trains(by_id[[train_id]]).ndarray()[0]\n",
+    "        train_ids.extend(list(range(train_id, train_id + n_trains)))\n",
     "\n",
     "    print(f'PPU device {use_ppu_device} triggered for {len(train_ids)} train(s)')\n",
     "\n",
-- 
GitLab