From f6cc45a2c7fcd648f0b62de2c9671acba4f2bb0d Mon Sep 17 00:00:00 2001
From: Laurent Mercadier <laurent.mercadier@xfel.eu>
Date: Thu, 19 Sep 2019 16:10:22 +0200
Subject: [PATCH] Shows average trace in checkTimApdWindow() even when it is
 not loaded

---
 xgm.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/xgm.py b/xgm.py
index 3758721..bac0317 100644
--- a/xgm.py
+++ b/xgm.py
@@ -839,10 +839,11 @@ def checkTimApdWindow(data, mcp=1, use_apd=True, intstart=None, intstop=None):
     tid = data['npulses_sase3'].where(data['npulses_sase3'] == npulses_max,
                                       drop=True).trainId.values
     if 'MCP{}raw'.format(mcp) not in data:
-        ntid, data_from_train = data.attrs['run'].train_from_id(tid[0])
-        trace = data_from_train['SCS_UTC1_ADQ/ADC/1:network']['digitizers.channel_1_'
-                                +'{}.raw.samples'.format(mcpToChannel[mcp])]
-        print('no raw data for MCP{}. Loading trace from MCP{}'.format(mcp, mcp))
+        print('no raw data for MCP{}. Loading average trace from MCP{}'.format(mcp, mcp))
+        trace = data.attrs['run'].get_array(
+                'SCS_UTC1_ADQ/ADC/1:network',
+                'digitizers.channel_1_{}.raw.samples'.format(mcpToChannel[mcp])
+                ).sel({'trainId':tid}).mean(dim='trainId')
     else:
         trace = data['MCP{}raw'.format(mcp)].sel({'trainId':tid}).mean(dim='trainId')
     if use_apd:
-- 
GitLab