def runTest(self): # old DAS. all data in first frame ws = sm.LoadNexusMonitors('SEQ_169004.nxs.h5') Ei, T0 = sm.GetEiT0atSNS(ws) assert abs(Ei-8.31)< 0.01 # new DAS. unwrapped ws = sm.LoadNexusMonitors('SEQ_176472.nxs.h5') Ei, T0 = sm.GetEiT0atSNS(ws) assert abs(Ei-8.27)< 0.01 return
def _sumRuns(self, run_set, sam_ws, mon_ws, extra_ext=None): """ Aggregate the set of runs @param run_set: list of run numbers @param sam_ws: name of aggregate workspace for the sample @param mon_ws: name of aggregate workspace for the monitors @param extra_ext: string to be added to the temporary workspaces """ for run in run_set: ws_name = self._makeRunName(run) if extra_ext is not None: ws_name += extra_ext mon_ws_name = ws_name + "_monitors" run_file = self._makeRunFile(run) api.Load(Filename=run_file, OutputWorkspace=ws_name) if not self._noMonNorm: api.LoadNexusMonitors(Filename=run_file, OutputWorkspace=mon_ws_name) if sam_ws != ws_name: api.Plus(LHSWorkspace=sam_ws, RHSWorkspace=ws_name, OutputWorkspace=sam_ws) api.DeleteWorkspace(ws_name) if mon_ws != mon_ws_name and not self._noMonNorm: api.Plus(LHSWorkspace=mon_ws, RHSWorkspace=mon_ws_name, OutputWorkspace=mon_ws) api.DeleteWorkspace(mon_ws_name)
def _sumRuns(self, run_set, sam_ws, mon_ws, extra_ext=None): for run in run_set: ws_name = self._makeRunName(run) if extra_ext is not None: ws_name += extra_ext mon_ws_name = ws_name + "_monitors" run_file = self._makeRunFile(run) # Reflection 311 is restricted to bank with name "bank2" api.LoadEventNexus(Filename=run_file, BankName="bank2", OutputWorkspace=ws_name) if not self._noMonNorm: api.LoadNexusMonitors(Filename=run_file, OutputWorkspace=mon_ws_name) if sam_ws != ws_name: api.Plus(LHSWorkspace=sam_ws, RHSWorkspace=ws_name, OutputWorkspace=sam_ws) api.DeleteWorkspace(ws_name) if mon_ws != mon_ws_name and not self._noMonNorm: api.Plus(LHSWorkspace=mon_ws, RHSWorkspace=mon_ws_name, OutputWorkspace=mon_ws) api.DeleteWorkspace(mon_ws_name)
def _sum_runs(self, run_set, sam_ws, mon_ws, extra_ext=None): """ Aggregate the set of runs @param run_set: list of run numbers @param sam_ws: name of aggregate workspace for the sample @param mon_ws: name of aggregate workspace for the monitors @param extra_ext: string to be added to the temporary workspaces """ for run in run_set: ws_name = self._make_run_name(run) if extra_ext is not None: ws_name += extra_ext mon_ws_name = ws_name + '_monitors' run_file = self._make_run_file(run) sapi.LoadEventNexus(Filename=run_file, OutputWorkspace=ws_name, BankName=self._reflection['banks']) if str(run)+':' in self.getProperty('ExcludeTimeSegment').value: self._filterEvents(str(run), ws_name) if self._MonNorm: sapi.LoadNexusMonitors(Filename=run_file, OutputWorkspace=mon_ws_name) if sam_ws != ws_name: sapi.Plus(LHSWorkspace=sam_ws, RHSWorkspace=ws_name, OutputWorkspace=sam_ws) sapi.DeleteWorkspace(ws_name) if mon_ws != mon_ws_name and self._MonNorm: sapi.Plus(LHSWorkspace=mon_ws, RHSWorkspace=mon_ws_name, OutputWorkspace=mon_ws) sapi.DeleteWorkspace(mon_ws_name)
def _sum_monitors(self, run_set, mon_ws): r""" Generate aggregate monitor workspace from a list of run numbers Parameters ---------- run_set: list List of run numbers mon_ws: str Name of output workspace """ sapi.LoadNexusMonitors(Filename=self._make_run_file(run_set[0]), OutputWorkspace=mon_ws) for run in run_set[1:]: ws_name = tws('sum_monitors_' + run) sapi.LoadNexusMonitors(Filename=self._make_run_file(run), OutputWorkspace=ws_name) sapi.Plus(LHSWorkspace=mon_ws, RHSWorkspace=ws_name, OutputWorkspace=mon_ws)
def _sumRuns(self, run_set, sam_ws, mon_ws, extra_ext=None): """ Aggregate the set of runs @param run_set: list of run numbers @param sam_ws: name of aggregate workspace for the sample @param mon_ws: name of aggregate workspace for the monitors @param extra_ext: string to be added to the temporary workspaces """ for run in run_set: ws_name = self._makeRunName(run) if extra_ext is not None: ws_name += extra_ext mon_ws_name = ws_name + "_monitors" run_file = self._makeRunFile(run) # Faster loading for the 311 reflection if self._reflection["name"] == "silicon311": kwargs = {"BankName": "bank2"} # 311 analyzers only in bank2 else: kwargs = {} sapi.LoadEventNexus(Filename=run_file, OutputWorkspace=ws_name, **kwargs) if str(run) + ':' in self.getProperty("ExcludeTimeSegment").value: self._filterEvents(str(run), ws_name) if self._MonNorm: sapi.LoadNexusMonitors(Filename=run_file, OutputWorkspace=mon_ws_name) if sam_ws != ws_name: sapi.Plus(LHSWorkspace=sam_ws, RHSWorkspace=ws_name, OutputWorkspace=sam_ws) sapi.DeleteWorkspace(ws_name) if mon_ws != mon_ws_name and self._MonNorm: sapi.Plus(LHSWorkspace=mon_ws, RHSWorkspace=mon_ws_name, OutputWorkspace=mon_ws) sapi.DeleteWorkspace(mon_ws_name)
def _sumRuns(self, run_set, sam_ws, mon_ws, extra_ext=None): for run in run_set: ws_name = self._makeRunName(run) if extra_ext is not None: ws_name += extra_ext mon_ws_name = ws_name + "_monitors" run_file = self._makeRunFile(run) api.Load(Filename=run_file, OutputWorkspace=ws_name) if not self._noMonNorm: api.LoadNexusMonitors(Filename=run_file, OutputWorkspace=mon_ws_name) if sam_ws != ws_name: api.Plus(LHSWorkspace=sam_ws, RHSWorkspace=ws_name, OutputWorkspace=sam_ws) api.DeleteWorkspace(ws_name) if mon_ws != mon_ws_name and not self._noMonNorm: api.Plus(LHSWorkspace=mon_ws, RHSWorkspace=mon_ws_name, OutputWorkspace=mon_ws) api.DeleteWorkspace(mon_ws_name)