From 0ae0897c7ac501da2d30f0ec77bd64b32cc5800a Mon Sep 17 00:00:00 2001 From: Laurent Mercadier <mercadil@max-exfl042.desy.de> Date: Tue, 30 Apr 2019 22:08:32 +0200 Subject: [PATCH] Adds arguments in matchXgmTimPulseId() for no bunch pattern info case --- xgm.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/xgm.py b/xgm.py index 5f8b0d1..195550c 100644 --- a/xgm.py +++ b/xgm.py @@ -788,7 +788,7 @@ def checkTimApdWindow(data, mcp=1, use_apd=True, intstart=None, intstop=None): def matchXgmTimPulseId(data, use_apd=True, intstart=None, intstop=None, bkgstart=None, bkgstop=None, t_offset=None, - npulses=None): + npulses=None, sase3First=True, stride=1): ''' Function to match XGM pulse Id with TIM pulse Id. Inputs: data: xarray Dataset containing XGM and TIM data @@ -800,18 +800,24 @@ def matchXgmTimPulseId(data, use_apd=True, intstart=None, intstop=None, bkgstart: trace index of background start bkgstop: trace index of background stop t_offset: index separation between two pulses - npulses: number of pulses to compute + npulses: number of pulses to compute. Needed if no bunch + pattern info is available + sase3First: bool, needed if bunch pattern is missing. + stride: int, used to select pulses in the TIM APD array if + no bunch pattern info is available. Output: xr DataSet containing XGM and TIM signals with the share dimension 'pId'. Raw traces, raw XGM and raw APD are dropped. ''' - res = selectSASEinXGM(data, xgm='SCS_XGM').rename({'XGMbunchId':'pId'}).rename('SCS_XGM') + res = selectSASEinXGM(data, xgm='SCS_XGM', npulses=npulses, + sase3First=sase3First).rename({'XGMbunchId':'pId'}).rename('SCS_XGM') dropList = ['SCS_XGM'] mergeList = [res] if 'SA3_XGM' in data: - res2 = selectSASEinXGM(data, xgm='SA3_XGM').rename({'XGMbunchId':'pId'}).rename('SA3_XGM') + res2 = selectSASEinXGM(data, xgm='SA3_XGM', npulses=npulses, + sase3First=sase3First).rename({'XGMbunchId':'pId'}).rename('SA3_XGM') dropList.append('SA3_XGM') mergeList.append(res2) @@ -819,8 +825,8 @@ def matchXgmTimPulseId(data, use_apd=True, intstart=None, intstop=None, if 'MCP{}apd'.format(mcp) in data or 'MCP{}raw'.format(mcp) in data: MCPapd = getTIMapd(data, mcp=mcp, use_apd=use_apd, intstart=intstart, intstop=intstop,bkgstart=bkgstart, bkgstop=bkgstop, - t_offset=t_offset, - npulses=npulses).rename('MCP{}apd'.format(mcp)) + t_offset=t_offset, npulses=npulses, + stride=stride).rename('MCP{}apd'.format(mcp)) if use_apd: MCPapd = MCPapd.rename({'apdId':'pId'}) else: -- GitLab