diff --git a/Code/Mantid/Testing/SystemTests/tests/analysis/ISISDirectInelastic.py b/Code/Mantid/Testing/SystemTests/tests/analysis/ISISDirectInelastic.py index 4a3f27cb01d2bff45432c475f20cd95a0be0ac40..5ed4b89230dc62426a947a23dfa003a0b4966a96 100644 --- a/Code/Mantid/Testing/SystemTests/tests/analysis/ISISDirectInelastic.py +++ b/Code/Mantid/Testing/SystemTests/tests/analysis/ISISDirectInelastic.py @@ -87,6 +87,7 @@ class MARIReductionFromFile(ISISDirectInelasticReduction): self.scale_to_fix_abf = 0.997979227566217 def runTest(self): + #self.red.run_reduction() outWS = self.red.reduce() outWS*=self.scale_to_fix_abf diff --git a/Code/Mantid/Testing/SystemTests/tests/analysis/ISIS_MariReduction.py b/Code/Mantid/Testing/SystemTests/tests/analysis/ISIS_MariReduction.py index 9abad65c4c3657337fffca9e9e49d77b24f6ec58..c1d696e3dcd5df28e33d4c3860971fce10043be7 100644 --- a/Code/Mantid/Testing/SystemTests/tests/analysis/ISIS_MariReduction.py +++ b/Code/Mantid/Testing/SystemTests/tests/analysis/ISIS_MariReduction.py @@ -328,6 +328,19 @@ if __name__ == "__main__": # search path checking after time specified below. rd.wait_for_file = 0 # waiting time interval +### Define a run number to validate reduction against future changes ############# + # Take a run number with good reduced results and build validation run + # for this result. Then place the validation run together with the reduction script. + # Next time, the script will run reduction and compare the reduction results against + # the results obtained earlier. + #rd.validate_run_number = 21968 # Enabling this property disables normal reduction + # and forces reduction to reduce run specified here and compares results against + # validation file, processed earlier or calculate this file if run for the first time. + #This would ensure that reduction script have not changed, + #allow to identify reason of changes if it was and would allow to recover the script, + #used to produce initial reduction if changes are unacceptable. + + ####get reduction parameters from properties above, override what you want locally ### # and run reduction. Overriding would have form: # rd.reducer.property_name (from the dictionary above) = new value e.g. @@ -345,10 +358,3 @@ if __name__ == "__main__": # usual way to go is to reduce workspace and save it internally rd.run_reduction() - -#### Validate reduction result against known result, obtained earlier ### - #rez,mess=rd.validate_result() - #if not rez: - # raise RuntimeError("validation failed with error: {0}".format(mess)) - #else: - # print "ALL Fine" diff --git a/Code/Mantid/scripts/Inelastic/Direct/RunDescriptor.py b/Code/Mantid/scripts/Inelastic/Direct/RunDescriptor.py index f4fddd58801215441e9e797b63e417d2cd3b9f1f..186d2859775f59ce03d88eac5ff9e11e525c39d8 100644 --- a/Code/Mantid/scripts/Inelastic/Direct/RunDescriptor.py +++ b/Code/Mantid/scripts/Inelastic/Direct/RunDescriptor.py @@ -485,20 +485,22 @@ class RunDescriptor(PropDescriptor): noutputs=0 if self._mask_ws_name: - mask_ws = mtd[self._mask_ws_name] - #TODO: need normal exposure of getNumberMasked() method of masks workspace - if noutputs>1: - __tmp_masks,spectra = ExtractMask(self._mask_ws_name) - num_masked = len(spectra) - DeleteWorkspace(__tmp_masks) - return (mask_ws,num_masked) + if self._mask_ws_name in mtd: + mask_ws = mtd[self._mask_ws_name] + #TODO: need normal exposure of getNumberMasked() method of masks workspace + if noutputs>1: + __tmp_masks,spectra = ExtractMask(self._mask_ws_name) + num_masked = len(spectra) + DeleteWorkspace(__tmp_masks) + return (mask_ws,num_masked) + else: + return mask_ws else: - return mask_ws + self._mask_ws_name = None + if noutputs>1: + return (None,0) else: - if noutputs>1: - return (None,0) - else: - return None + return None #-------------------------------------------------------------------------------------------------------------------- def add_masked_ws(self,masked_ws): """Extract masking from the workspace provided and store masks