Ticket #7145: CalibrateRecSysTest.py

File CalibrateRecSysTest.py, 3.9 KB (added by Owen Arnold, 7 years ago)
Line 
1#import mantid
2from mantid.simpleapi import *
3#sys.path.append("/Users/spu92482/Documents/mantid/systemtests/StressTestFramework")
4
5#import stresstesting
6
7import datetime
8from time import localtime, strftime
9import os
10
11def _skip_test():
12    """Helper function to determine if we run the test"""
13    import platform
14    # Only runs on RHEL6 at the moment
15    if "Linux" not in platform.platform():
16        return True
17    flavour = platform.linux_distribution()[2]
18    if flavour == 'Santiago': # Codename for RHEL6
19        return False # Do not skip
20    else:
21        return True
22
23class PG3Calibration(object):
24
25    def skipTests(self):
26        return _skip_test()
27
28    def requiredFiles(self):
29        files = ["PG3_2538_event.nxs"] 
30        return files
31
32    def requiredMemoryMB(self):
33        """Requires 3Gb"""
34        return 3000
35
36    def runTest(self):
37        # determine where to save
38        import os
39        savedir = os.path.abspath(os.path.curdir)
40
41        # run the actual code
42        CalibrateRectangularDetectors(OutputDirectory = savedir, SaveAs = 'calibration', FilterBadPulses = True,
43                          GroupDetectorsBy = 'All', DiffractionFocusWorkspace = False, Binning = '0.5, -0.0004, 2.5', 
44                          MaxOffset=0.01, PeakPositions = '2.0592,1.2610,1.0754,0.7280', 
45                          CrossCorrelation = False, Instrument = 'PG3', RunNumber = '2538', Extension = '_event.nxs')
46
47        # load saved cal file
48        self.saved_cal_file = savedir+"/PG3_calibrate_d2538"+strftime("_%Y_%m_%d.cal")
49        LoadCalFile(InputWorkspace="PG3_2538_calibrated", CalFileName=self.saved_cal_file, WorkspaceName="PG3_2538", 
50            MakeGroupingWorkspace=False)
51        MaskDetectors(Workspace="PG3_2538_offsets",MaskedWorkspace="PG3_2538_mask")
52        # load golden cal file
53        LoadCalFile(InputWorkspace="PG3_2538_calibrated", CalFileName="PG3_golden.cal", WorkspaceName="PG3_2538_golden", 
54            MakeGroupingWorkspace=False)
55        MaskDetectors(Workspace="PG3_2538_golden_offsets",MaskedWorkspace="PG3_2538_golden_mask")
56
57    def validateMethod(self):
58        return "ValidateWorkspaceToWorkspace"
59
60    def validate(self):
61        self.tolerance = 1.0e-4
62        return ('PG3_2538_offsets','PG3_2538_golden_offsets')
63
64class PG3CCCalibration(object):
65
66    def skipTests(self):
67        return _skip_test()
68
69    def requiredFiles(self):
70        files = ["PG3_2538_event.nxs"] 
71        return files
72
73    def requiredMemoryMB(self):
74        """Requires 3Gb"""
75        return 3000
76
77    def runTest(self):
78        # determine where to save
79        import os
80        savedir = os.path.abspath(os.path.curdir)
81
82        # run the actual code
83
84        CalibrateRectangularDetectors(OutputDirectory = savedir, SaveAs = 'calibration', FilterBadPulses = True,
85                          GroupDetectorsBy = 'All', DiffractionFocusWorkspace = False, Binning = '0.5, -0.0004, 2.5',
86                          MaxOffset=0.01, PeakPositions = '0.7282933,1.261441',DetectorsPeaks = '17,6',
87                          CrossCorrelation = True, Instrument = 'PG3', RunNumber = '2538', Extension = '_event.nxs')
88
89        # load saved cal file
90        self.saved_cal_file = savedir+"/PG3_calibrate_d2538"+strftime("_%Y_%m_%d.cal")
91        LoadCalFile(InputWorkspace="PG3_2538_calibrated", CalFileName=self.saved_cal_file, WorkspaceName="PG3_2538", 
92            MakeGroupingWorkspace=False)
93        MaskDetectors(Workspace="PG3_2538_offsets",MaskedWorkspace="PG3_2538_mask")
94        # load golden cal file
95        LoadCalFile(InputWorkspace="PG3_2538_calibrated", CalFileName="PG3_goldenCC.cal", WorkspaceName="PG3_2538_golden", 
96            MakeGroupingWorkspace=False)
97        MaskDetectors(Workspace="PG3_2538_golden_offsets",MaskedWorkspace="PG3_2538_golden_mask")
98
99    def validateMethod(self):
100        return "ValidateWorkspaceToWorkspace"
101
102    def validate(self):
103        self.tolerance = 1.0e-4
104        return ('PG3_2538_offsets','PG3_2538_golden_offsets')
105       
106test = PG3Calibration()
107test.runTest()