Loading dev_version/reduce_PG3_live_post_proc_dirty_08132023.py 0 → 100644 +192 −0 Original line number Diff line number Diff line import json import mantid from mantid import simpleapi import os import subprocess import time # -----> Config: Conda environment to use for the reduction CONDA_ENV = 'mantid-qa' central_config = "/SNS/PG3/shared/livereduce/live_config.json" # <----- Config: Conda environment to use for the reduction # -----> Config: Read in the config file with open(central_config, "r") as f: input_c_config = json.load(f) cycle = input_c_config["Cycle"] sam_env = input_c_config["SampleEnvironment"] config_file = input_c_config["ConfigFile"][sam_env] config_file_f = os.path.join("/SNS/PG3/shared/livereduce/live_config_files", cycle, config_file) with open(config_file_f, "r") as f: input_config = json.load(f) # <----- Config: Read in the config file # -----> Config: Live post processing parameters tof_bin_width_pproc = input_config["Params"]["PostProc"]["TOFBinWidthPProc"] rppw_pproc = input_config["Params"]["PostProc"]["RemovePromptPulseWidth"] strip_v_pp_tol = input_config["Params"]["PostProc"]["StripVPeaksPosTol"] strip_v_bt = input_config["Params"]["PostProc"]["StripVPeaksBkgType"] # <----- Config: Live post processing parameters simpleapi.CompressEvents(InputWorkspace=input, OutputWorkspace=output) # simpleapi.LoadNexus(Filename="/SNS/PG3/shared/livereduce/tmp/result.nxs", # OutputWorkspace=output) if simpleapi.mtd[str(input)].run().getProtonCharge() > 0.: simpleapi.NormaliseByCurrent(InputWorkspace=input, OutputWorkspace=output) # if simpleapi.mtd[output].run().getProtonCharge() > 0.: # simpleapi.NormaliseByCurrent(InputWorkspace=output, OutputWorkspace=output) simpleapi.SaveNexus(InputWorkspace=output, Filename="/SNS/PG3/shared/livereduce/tmp/output.nxs") simpleapi.LoadNexus(Filename=f"/SNS/PG3/shared/livereduce/tmp/output.nxs", OutputWorkspace="output_reloaded") # simpleapi.PDDetermineCharacterizations(InputWorkspace=output, # Characterizations='characterizations', # ReductionProperties='__pd_reduction_properties') simpleapi.PDDetermineCharacterizations(InputWorkspace="output_reloaded", Characterizations='characterizations', ReductionProperties='__pd_reduction_properties') manager = mantid.PropertyManagerDataService.retrieve('__pd_reduction_properties') mantid.logger.information("In post processing ...") def getRunId(manager, key): value = manager[key].value[0] if value == 0: return None else: return 'PG3_'+str(value) def smooth(wksp): simpleapi.ConvertUnits(InputWorkspace=wksp, OutputWorkspace=wksp, Target='TOF', EMode='Elastic') simpleapi.FFTSmooth(InputWorkspace=wksp, OutputWorkspace=wksp, Filter="Butterworth", Params='20,2', IgnoreXBins=True, AllSpectra=True) simpleapi.ConvertUnits(InputWorkspace=wksp, OutputWorkspace=wksp, Target='dSpacing', EMode='Elastic') processingParams = {'CalibrationWorkspace': 'PG3_cal', 'GroupingWorkspace': 'PG3_group', 'MaskWorkspace': 'PG3_mask', 'Params': [tof_bin_width_pproc], 'RemovePromptPulseWidth': rppw_pproc, 'ReductionProperties': '__pd_reduction_properties', 'PreserveEvents': False, 'CompressTolerance': 0.} can = getRunId(manager, 'container') with open("/SNS/PG3/shared/livereduce/tmp/alignandfocuspowder.json", "w") as f: json.dump(processingParams, f, indent=4) if can is not None and not simpleapi.mtd.doesExist(can): with open("/SNS/PG3/shared/livereduce/tmp/can.name", "w") as f: f.write(can) mantid.logger.information("processing container '%s'" % can) subprocess.run(["mantidpython", "/SNS/PG3/shared/livereduce/align_focus_can.py"]) while not os.path.exists(f"/SNS/PG3/shared/livereduce/tmp/can_{can}.nxs"): time.sleep(1) simpleapi.LoadNexus(Filename=f"/SNS/PG3/shared/livereduce/tmp/can_{can}.nxs", OutputWorkspace=can) simpleapi.ConvertUnits(InputWorkspace=can, OutputWorkspace=can, Target='dSpacing', EMode='Elastic') simpleapi.NormaliseByCurrent(InputWorkspace=can, OutputWorkspace=can) if can is not None: simpleapi.RebinToWorkspace(WorkspaceToRebin=can, WorkspaceToMatch=output, OutputWorkspace=can) simpleapi.Minus(LHSWorkspace=output, RHSWorkspace=can, OutputWorkspace=output) van = getRunId(manager, 'vanadium') if van is not None and not simpleapi.mtd.doesExist(van): with open("/SNS/PG3/shared/livereduce/tmp/van.name", "w") as f: f.write(van) mantid.logger.information("processing vanadium '%s'" % van) subprocess.run(["mantidpython", "/SNS/PG3/shared/livereduce/align_focus_van.py"]) while not os.path.exists(f"/SNS/PG3/shared/livereduce/tmp/van_{van}.nxs"): time.sleep(1) simpleapi.LoadNexus(Filename=f"/SNS/PG3/shared/livereduce/tmp/van_{van}.nxs", OutputWorkspace=van) simpleapi.NormaliseByCurrent(InputWorkspace=van, OutputWorkspace=van) vanback = getRunId(manager, 'vanadium_background') with open("/SNS/PG3/shared/livereduce/tmp/vanback.name", "w") as f: f.write(vanback) if vanback is not None: mantid.logger.information("processing vanadium background '%s'" % vanback) subprocess.run(["mantidpython", "/SNS/PG3/shared/livereduce/align_focus_vanback.py"]) while not os.path.exists(f"/SNS/PG3/shared/livereduce/tmp/vanback_{vanback}.nxs"): time.sleep(1) simpleapi.LoadNexus(Filename=f"/SNS/PG3/shared/livereduce/tmp/vanback_{vanback}.nxs", OutputWorkspace="__vanback") vanback = '__vanback' simpleapi.NormaliseByCurrent(InputWorkspace=vanback, OutputWorkspace=vanback) mantid.logger.information("subtracting vanadium background") simpleapi.RebinToWorkspace(WorkspaceToRebin=vanback, WorkspaceToMatch=van, OutputWorkspace=vanback) simpleapi.Minus(LHSWorkspace=van, RHSWorkspace=vanback, OutputWorkspace=van, ClearRHSWorkspace=True) simpleapi.DeleteWorkspace(Workspace=vanback) simpleapi.ConvertUnits(InputWorkspace=van, OutputWorkspace=van, Target='dSpacing', EMode='Elastic') simpleapi.StripVanadiumPeaks(InputWorkspace=van, OutputWorkspace=van, BackgroundType=strip_v_bt, PeakPositionTolerance=strip_v_pp_tol) smooth(van) if van is not None: simpleapi.RebinToWorkspace(WorkspaceToRebin=van, WorkspaceToMatch=output, OutputWorkspace=van) simpleapi.Divide(LHSWorkspace=output, RHSWorkspace=van, OutputWorkspace=output) div = simpleapi.SavePlot1D(InputWorkspace=output, OutputType='plotly', XLabel='d-spacing (A)') runNumber = simpleapi.mtd[output].getRunNumber() if runNumber > 0: mantid.logger.information('Posting plot of PG3_%s' % runNumber) try: from postprocessing.publish_plot import publish_plot except ImportError: from finddata import publish_plot request = publish_plot('PG3', runNumber, files={'file': div}) mantid.logger.information("post returned %d" % request.status_code) mantid.logger.information("resulting document:") mantid.logger.information(str(request.text)) else: s_part1 = "Not posting becuase run number is " s_part2 = "not greater than zero: %s" % runNumber mantid.logger.information(s_part1 + s_part2) dev_version/reduce_PG3_live_proc_dirty_08132023.py 0 → 100644 +85 −0 Original line number Diff line number Diff line import mantid from mantid import simpleapi import os import json # -----> Config: Conda environment to use for the reduction CONDA_ENV = 'mantid-qa' central_config = "/SNS/PG3/shared/livereduce/live_config.json" # <----- Config: Conda environment to use for the reduction # -----> Config: Read in the config file with open(central_config, "r") as f: input_c_config = json.load(f) cycle = input_c_config["Cycle"] sam_env = input_c_config["SampleEnvironment"] config_file = input_c_config["ConfigFile"][sam_env] config_file_f = os.path.join("/SNS/PG3/shared/livereduce/live_config_files", cycle, config_file) with open(config_file_f, "r") as f: input_config = json.load(f) # <----- Config: Read in the config file # -----> Config: Calib and char files must_keys = ["CalibDirectory", "InputFiles"] infiles_must_keys = ["CalibFile", "CharBackgrounds", "CharInPlane"] for key in must_keys: if key not in input_config.keys(): raise Exception(f"No {key} found in {config_file_f}.") for key in infiles_must_keys: if key not in input_config["InputFiles"].keys(): raise Exception(f"No {key} found under 'InputFiles' in {config_file_f}.") cal_dir = input_config["CalibDirectory"] cal_file = os.path.join(cal_dir, input_config["InputFiles"]["CalibFile"]) char_backgrounds = os.path.join(cal_dir, input_config["InputFiles"]["CharBackgrounds"]) char_inplane = os.path.join(cal_dir, input_config["InputFiles"]["CharInPlane"]) # <----- Config: Calib and char files # -----> Config: Live reduction parameters tof_bin_width_init = input_config["Params"]["Proc"]["TOFBinWidthInit"] tof_bin_width_proc = input_config["Params"]["Proc"]["TOFBinWidthProc"] rppw = input_config["Params"]["Proc"]["RemovePromptPulseWidth"] # <----- Config: Live reduction parameters mantid.logger.information('Number events = %d' % input.getNumberEvents()) simpleapi.PDLoadCharacterizations(Filename=char_backgrounds + ',' + char_inplane, OutputWorkspace='characterizations') simpleapi.SaveNexus(InputWorkspace=input, Filename="/SNS/PG3/shared/livereduce/tmp/input.nxs") simpleapi.LoadNexus(Filename=f"/SNS/PG3/shared/livereduce/tmp/input.nxs", OutputWorkspace="input_reloaded") simpleapi.PDDetermineCharacterizations(InputWorkspace="input_reloaded", Characterizations='characterizations', ReductionProperties='__pd_reduction_properties') # simpleapi.PDDetermineCharacterizations(InputWorkspace=input, # Characterizations='characterizations', # ReductionProperties='__pd_reduction_properties') manager = mantid.PropertyManagerDataService.retrieve('__pd_reduction_properties') simpleapi.Rebin(InputWorkspace=input, OutputWorkspace=input, Params=(manager['tof_min'].value, tof_bin_width_init, manager['tof_max'].value)) if True: simpleapi.AlignAndFocusPowder(InputWorkspace=input, OutputWorkspace=output, CalFilename=cal_file, Params=[tof_bin_width_proc], RemovePromptPulseWidth=rppw, ReductionProperties='__pd_reduction_properties') simpleapi.ConvertUnits(InputWorkspace=output, OutputWorkspace=output, Target='dSpacing', EMode='Elastic') # simpleapi.Rebin(InputWorkspace=output, OutputWorkspace=output, # Params="0, 0.0001, 10.0") # simpleapi.SaveNexus(InputWorkspace=output, # Filename="/SNS/PG3/shared/livereduce/tmp/result.nxs") live_config.json +5 −3 Original line number Diff line number Diff line { "Cycle": "2023-1_11A_CAL", "Cycle": "2024-2_11A_CAL", "SampleEnvironment": "PAC", "OverwriteUserJsonFile": "N", "ConfigFile": { "PAC": "PAC_default.json", "HTJANIS": "HTJANIS_default.json", Loading @@ -11,6 +12,7 @@ "JANIS_GAS_noscale":"JANIS_GAS_noscale.json", "GASJANIS":"GASJANIS_Default.json", "JANIS_GAS_intensifier_no_scale":"LTJANIS_intensifier.json", "LTJANIS_GAS_Dec":"LTJANIS_GAS_Dec_2022.json" "LTJANIS_GAS_Dec":"LTJANIS_GAS_Dec_2022.json", "MAG": "MAG_default.json" } } live_config_files/2023-1_11A_CAL/MAG_default.json 0 → 100644 +22 −0 Original line number Diff line number Diff line { "CalibDirectory": "/SNS/PG3/shared/CALIBRATION/2023-1_11A_CAL/", "InputFiles": { "CalibFile": "PG3_Mag08_d56237_2023_08_11.h5", "CharBackgrounds": "PG3_char_2023_8_11-HighRes_Mag.txt", "CharInPlane": "PG3_char_2023_8_11_MAG_limit.txt", "GroupInPlane": "grouping/PG3_Grouping-IP.xml" }, "Params": { "Proc": { "TOFBinWidthInit": 100.0, "TOFBinWidthProc": -0.0008, "RemovePromptPulseWidth": 0 }, "PostProc": { "TOFBinWidthPProc": -0.0008, "RemovePromptPulseWidth": 0, "StripVPeaksPosTol": 0.05, "StripVPeaksBkgType": "Quadratic" } } } live_config_files/2023-1_11A_CAL/MAG_default_new.json 0 → 100644 +22 −0 Original line number Diff line number Diff line { "CalibDirectory": "/SNS/PG3/shared/CALIBRATION/2023-1_11A_CAL/", "InputFiles": { "CalibFile": "PG3_Mag08_d56237_2023_08_11.h5", "CharBackgrounds": "PG3_char_2023_8_11-HighRes_Mag.txt", "CharInPlane": "PG3_char_2023_8_11_MAG_limit.txt", "GroupInPlane": "grouping/PG3_Grouping-IP.xml" }, "Params": { "Proc": { "TOFBinWidthInit": 100.0, "TOFBinWidthProc": -0.0008, "RemovePromptPulseWidth": 0 }, "PostProc": { "TOFBinWidthPProc": -0.0008, "RemovePromptPulseWidth": 0, "StripVPeaksPosTol": 0.05, "StripVPeaksBkgType": "Quadratic" } } } Loading
dev_version/reduce_PG3_live_post_proc_dirty_08132023.py 0 → 100644 +192 −0 Original line number Diff line number Diff line import json import mantid from mantid import simpleapi import os import subprocess import time # -----> Config: Conda environment to use for the reduction CONDA_ENV = 'mantid-qa' central_config = "/SNS/PG3/shared/livereduce/live_config.json" # <----- Config: Conda environment to use for the reduction # -----> Config: Read in the config file with open(central_config, "r") as f: input_c_config = json.load(f) cycle = input_c_config["Cycle"] sam_env = input_c_config["SampleEnvironment"] config_file = input_c_config["ConfigFile"][sam_env] config_file_f = os.path.join("/SNS/PG3/shared/livereduce/live_config_files", cycle, config_file) with open(config_file_f, "r") as f: input_config = json.load(f) # <----- Config: Read in the config file # -----> Config: Live post processing parameters tof_bin_width_pproc = input_config["Params"]["PostProc"]["TOFBinWidthPProc"] rppw_pproc = input_config["Params"]["PostProc"]["RemovePromptPulseWidth"] strip_v_pp_tol = input_config["Params"]["PostProc"]["StripVPeaksPosTol"] strip_v_bt = input_config["Params"]["PostProc"]["StripVPeaksBkgType"] # <----- Config: Live post processing parameters simpleapi.CompressEvents(InputWorkspace=input, OutputWorkspace=output) # simpleapi.LoadNexus(Filename="/SNS/PG3/shared/livereduce/tmp/result.nxs", # OutputWorkspace=output) if simpleapi.mtd[str(input)].run().getProtonCharge() > 0.: simpleapi.NormaliseByCurrent(InputWorkspace=input, OutputWorkspace=output) # if simpleapi.mtd[output].run().getProtonCharge() > 0.: # simpleapi.NormaliseByCurrent(InputWorkspace=output, OutputWorkspace=output) simpleapi.SaveNexus(InputWorkspace=output, Filename="/SNS/PG3/shared/livereduce/tmp/output.nxs") simpleapi.LoadNexus(Filename=f"/SNS/PG3/shared/livereduce/tmp/output.nxs", OutputWorkspace="output_reloaded") # simpleapi.PDDetermineCharacterizations(InputWorkspace=output, # Characterizations='characterizations', # ReductionProperties='__pd_reduction_properties') simpleapi.PDDetermineCharacterizations(InputWorkspace="output_reloaded", Characterizations='characterizations', ReductionProperties='__pd_reduction_properties') manager = mantid.PropertyManagerDataService.retrieve('__pd_reduction_properties') mantid.logger.information("In post processing ...") def getRunId(manager, key): value = manager[key].value[0] if value == 0: return None else: return 'PG3_'+str(value) def smooth(wksp): simpleapi.ConvertUnits(InputWorkspace=wksp, OutputWorkspace=wksp, Target='TOF', EMode='Elastic') simpleapi.FFTSmooth(InputWorkspace=wksp, OutputWorkspace=wksp, Filter="Butterworth", Params='20,2', IgnoreXBins=True, AllSpectra=True) simpleapi.ConvertUnits(InputWorkspace=wksp, OutputWorkspace=wksp, Target='dSpacing', EMode='Elastic') processingParams = {'CalibrationWorkspace': 'PG3_cal', 'GroupingWorkspace': 'PG3_group', 'MaskWorkspace': 'PG3_mask', 'Params': [tof_bin_width_pproc], 'RemovePromptPulseWidth': rppw_pproc, 'ReductionProperties': '__pd_reduction_properties', 'PreserveEvents': False, 'CompressTolerance': 0.} can = getRunId(manager, 'container') with open("/SNS/PG3/shared/livereduce/tmp/alignandfocuspowder.json", "w") as f: json.dump(processingParams, f, indent=4) if can is not None and not simpleapi.mtd.doesExist(can): with open("/SNS/PG3/shared/livereduce/tmp/can.name", "w") as f: f.write(can) mantid.logger.information("processing container '%s'" % can) subprocess.run(["mantidpython", "/SNS/PG3/shared/livereduce/align_focus_can.py"]) while not os.path.exists(f"/SNS/PG3/shared/livereduce/tmp/can_{can}.nxs"): time.sleep(1) simpleapi.LoadNexus(Filename=f"/SNS/PG3/shared/livereduce/tmp/can_{can}.nxs", OutputWorkspace=can) simpleapi.ConvertUnits(InputWorkspace=can, OutputWorkspace=can, Target='dSpacing', EMode='Elastic') simpleapi.NormaliseByCurrent(InputWorkspace=can, OutputWorkspace=can) if can is not None: simpleapi.RebinToWorkspace(WorkspaceToRebin=can, WorkspaceToMatch=output, OutputWorkspace=can) simpleapi.Minus(LHSWorkspace=output, RHSWorkspace=can, OutputWorkspace=output) van = getRunId(manager, 'vanadium') if van is not None and not simpleapi.mtd.doesExist(van): with open("/SNS/PG3/shared/livereduce/tmp/van.name", "w") as f: f.write(van) mantid.logger.information("processing vanadium '%s'" % van) subprocess.run(["mantidpython", "/SNS/PG3/shared/livereduce/align_focus_van.py"]) while not os.path.exists(f"/SNS/PG3/shared/livereduce/tmp/van_{van}.nxs"): time.sleep(1) simpleapi.LoadNexus(Filename=f"/SNS/PG3/shared/livereduce/tmp/van_{van}.nxs", OutputWorkspace=van) simpleapi.NormaliseByCurrent(InputWorkspace=van, OutputWorkspace=van) vanback = getRunId(manager, 'vanadium_background') with open("/SNS/PG3/shared/livereduce/tmp/vanback.name", "w") as f: f.write(vanback) if vanback is not None: mantid.logger.information("processing vanadium background '%s'" % vanback) subprocess.run(["mantidpython", "/SNS/PG3/shared/livereduce/align_focus_vanback.py"]) while not os.path.exists(f"/SNS/PG3/shared/livereduce/tmp/vanback_{vanback}.nxs"): time.sleep(1) simpleapi.LoadNexus(Filename=f"/SNS/PG3/shared/livereduce/tmp/vanback_{vanback}.nxs", OutputWorkspace="__vanback") vanback = '__vanback' simpleapi.NormaliseByCurrent(InputWorkspace=vanback, OutputWorkspace=vanback) mantid.logger.information("subtracting vanadium background") simpleapi.RebinToWorkspace(WorkspaceToRebin=vanback, WorkspaceToMatch=van, OutputWorkspace=vanback) simpleapi.Minus(LHSWorkspace=van, RHSWorkspace=vanback, OutputWorkspace=van, ClearRHSWorkspace=True) simpleapi.DeleteWorkspace(Workspace=vanback) simpleapi.ConvertUnits(InputWorkspace=van, OutputWorkspace=van, Target='dSpacing', EMode='Elastic') simpleapi.StripVanadiumPeaks(InputWorkspace=van, OutputWorkspace=van, BackgroundType=strip_v_bt, PeakPositionTolerance=strip_v_pp_tol) smooth(van) if van is not None: simpleapi.RebinToWorkspace(WorkspaceToRebin=van, WorkspaceToMatch=output, OutputWorkspace=van) simpleapi.Divide(LHSWorkspace=output, RHSWorkspace=van, OutputWorkspace=output) div = simpleapi.SavePlot1D(InputWorkspace=output, OutputType='plotly', XLabel='d-spacing (A)') runNumber = simpleapi.mtd[output].getRunNumber() if runNumber > 0: mantid.logger.information('Posting plot of PG3_%s' % runNumber) try: from postprocessing.publish_plot import publish_plot except ImportError: from finddata import publish_plot request = publish_plot('PG3', runNumber, files={'file': div}) mantid.logger.information("post returned %d" % request.status_code) mantid.logger.information("resulting document:") mantid.logger.information(str(request.text)) else: s_part1 = "Not posting becuase run number is " s_part2 = "not greater than zero: %s" % runNumber mantid.logger.information(s_part1 + s_part2)
dev_version/reduce_PG3_live_proc_dirty_08132023.py 0 → 100644 +85 −0 Original line number Diff line number Diff line import mantid from mantid import simpleapi import os import json # -----> Config: Conda environment to use for the reduction CONDA_ENV = 'mantid-qa' central_config = "/SNS/PG3/shared/livereduce/live_config.json" # <----- Config: Conda environment to use for the reduction # -----> Config: Read in the config file with open(central_config, "r") as f: input_c_config = json.load(f) cycle = input_c_config["Cycle"] sam_env = input_c_config["SampleEnvironment"] config_file = input_c_config["ConfigFile"][sam_env] config_file_f = os.path.join("/SNS/PG3/shared/livereduce/live_config_files", cycle, config_file) with open(config_file_f, "r") as f: input_config = json.load(f) # <----- Config: Read in the config file # -----> Config: Calib and char files must_keys = ["CalibDirectory", "InputFiles"] infiles_must_keys = ["CalibFile", "CharBackgrounds", "CharInPlane"] for key in must_keys: if key not in input_config.keys(): raise Exception(f"No {key} found in {config_file_f}.") for key in infiles_must_keys: if key not in input_config["InputFiles"].keys(): raise Exception(f"No {key} found under 'InputFiles' in {config_file_f}.") cal_dir = input_config["CalibDirectory"] cal_file = os.path.join(cal_dir, input_config["InputFiles"]["CalibFile"]) char_backgrounds = os.path.join(cal_dir, input_config["InputFiles"]["CharBackgrounds"]) char_inplane = os.path.join(cal_dir, input_config["InputFiles"]["CharInPlane"]) # <----- Config: Calib and char files # -----> Config: Live reduction parameters tof_bin_width_init = input_config["Params"]["Proc"]["TOFBinWidthInit"] tof_bin_width_proc = input_config["Params"]["Proc"]["TOFBinWidthProc"] rppw = input_config["Params"]["Proc"]["RemovePromptPulseWidth"] # <----- Config: Live reduction parameters mantid.logger.information('Number events = %d' % input.getNumberEvents()) simpleapi.PDLoadCharacterizations(Filename=char_backgrounds + ',' + char_inplane, OutputWorkspace='characterizations') simpleapi.SaveNexus(InputWorkspace=input, Filename="/SNS/PG3/shared/livereduce/tmp/input.nxs") simpleapi.LoadNexus(Filename=f"/SNS/PG3/shared/livereduce/tmp/input.nxs", OutputWorkspace="input_reloaded") simpleapi.PDDetermineCharacterizations(InputWorkspace="input_reloaded", Characterizations='characterizations', ReductionProperties='__pd_reduction_properties') # simpleapi.PDDetermineCharacterizations(InputWorkspace=input, # Characterizations='characterizations', # ReductionProperties='__pd_reduction_properties') manager = mantid.PropertyManagerDataService.retrieve('__pd_reduction_properties') simpleapi.Rebin(InputWorkspace=input, OutputWorkspace=input, Params=(manager['tof_min'].value, tof_bin_width_init, manager['tof_max'].value)) if True: simpleapi.AlignAndFocusPowder(InputWorkspace=input, OutputWorkspace=output, CalFilename=cal_file, Params=[tof_bin_width_proc], RemovePromptPulseWidth=rppw, ReductionProperties='__pd_reduction_properties') simpleapi.ConvertUnits(InputWorkspace=output, OutputWorkspace=output, Target='dSpacing', EMode='Elastic') # simpleapi.Rebin(InputWorkspace=output, OutputWorkspace=output, # Params="0, 0.0001, 10.0") # simpleapi.SaveNexus(InputWorkspace=output, # Filename="/SNS/PG3/shared/livereduce/tmp/result.nxs")
live_config.json +5 −3 Original line number Diff line number Diff line { "Cycle": "2023-1_11A_CAL", "Cycle": "2024-2_11A_CAL", "SampleEnvironment": "PAC", "OverwriteUserJsonFile": "N", "ConfigFile": { "PAC": "PAC_default.json", "HTJANIS": "HTJANIS_default.json", Loading @@ -11,6 +12,7 @@ "JANIS_GAS_noscale":"JANIS_GAS_noscale.json", "GASJANIS":"GASJANIS_Default.json", "JANIS_GAS_intensifier_no_scale":"LTJANIS_intensifier.json", "LTJANIS_GAS_Dec":"LTJANIS_GAS_Dec_2022.json" "LTJANIS_GAS_Dec":"LTJANIS_GAS_Dec_2022.json", "MAG": "MAG_default.json" } }
live_config_files/2023-1_11A_CAL/MAG_default.json 0 → 100644 +22 −0 Original line number Diff line number Diff line { "CalibDirectory": "/SNS/PG3/shared/CALIBRATION/2023-1_11A_CAL/", "InputFiles": { "CalibFile": "PG3_Mag08_d56237_2023_08_11.h5", "CharBackgrounds": "PG3_char_2023_8_11-HighRes_Mag.txt", "CharInPlane": "PG3_char_2023_8_11_MAG_limit.txt", "GroupInPlane": "grouping/PG3_Grouping-IP.xml" }, "Params": { "Proc": { "TOFBinWidthInit": 100.0, "TOFBinWidthProc": -0.0008, "RemovePromptPulseWidth": 0 }, "PostProc": { "TOFBinWidthPProc": -0.0008, "RemovePromptPulseWidth": 0, "StripVPeaksPosTol": 0.05, "StripVPeaksBkgType": "Quadratic" } } }
live_config_files/2023-1_11A_CAL/MAG_default_new.json 0 → 100644 +22 −0 Original line number Diff line number Diff line { "CalibDirectory": "/SNS/PG3/shared/CALIBRATION/2023-1_11A_CAL/", "InputFiles": { "CalibFile": "PG3_Mag08_d56237_2023_08_11.h5", "CharBackgrounds": "PG3_char_2023_8_11-HighRes_Mag.txt", "CharInPlane": "PG3_char_2023_8_11_MAG_limit.txt", "GroupInPlane": "grouping/PG3_Grouping-IP.xml" }, "Params": { "Proc": { "TOFBinWidthInit": 100.0, "TOFBinWidthProc": -0.0008, "RemovePromptPulseWidth": 0 }, "PostProc": { "TOFBinWidthPProc": -0.0008, "RemovePromptPulseWidth": 0, "StripVPeaksPosTol": 0.05, "StripVPeaksBkgType": "Quadratic" } } }