Ticket #8645 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

Transmission run normalisation for multidetector mode ReflectometryReductionOne

Reported by: Owen Arnold Owned by: Owen Arnold
Priority: critical Milestone: Release 3.1
Component: Reflectometry Keywords:
Cc: Blocked By: #8656
Blocking: Tester: Keith Brown

Description

Changes to be made to ReflectometryReductionOne and ReflectometryReductionOneAuto

  • Make RegionOfDirectBeam optional for the multidetector mode.
  • Make the algorithm normalise by the transmssion workspace if it has been provided.

Change History

comment:1 Changed 7 years ago by Owen Arnold

  • Blocked By 8656 added

comment:2 Changed 7 years ago by Owen Arnold

Tester: This has been fixed as part of #8656. The following script verifies this by using the output of the reduction workflow as the transmission run in a second run of the workflow. As expected, the output workspace should consist entirely of NAN and 1 Y-values.

class ReflectometryISIS(object):

    def get_workspace_name(self):
            return "POLREF4699"
      
    def runTest(self):
        
        workspace_name = self.get_workspace_name()
        workspace_nexus_file = workspace_name + ".nxs"
        
        PIX=1.1E-3 #m
        
        Load(Filename=workspace_nexus_file,OutputWorkspace=workspace_name)
        X=mtd[workspace_name]
        
        # Run once to get a lambda workspace which we will use as a transmission run.
        results = ReflectometryReductionOneAuto(InputWorkspace=X[0], ThetaIn=0.4903, I0MonitorIndex=2, AnalysisMode='MultiDetectorAnalysis',CorrectDetectorPositions=False,
                                                                        ProcessingInstructions='3:245', OutputWorkspaceWavelength='reduced_lam', WavelengthMin=0.8, WavelengthMax=14.5,
                                                                        MonitorBackgroundWavelengthMin=13, MonitorBackgroundWavelengthMax=14.5, MonitorIntegrationWavelengthMin=4, MonitorIntegrationWavelengthMax=10
                                                                        )
        
        
        reduced_lam = mtd['reduced_lam']
        
        # Now do the same thing, but use the previous result as the first transmission run.
        results = ReflectometryReductionOneAuto(InputWorkspace=X[0], ThetaIn=0.4903, I0MonitorIndex=2, AnalysisMode='MultiDetectorAnalysis',CorrectDetectorPositions=False, FirstTransmissionRun=reduced_lam,
                                                                        ProcessingInstructions='3:245', OutputWorkspaceWavelength='reduced_lam', WavelengthMin=0.8, WavelengthMax=14.5,
                                                                        MonitorBackgroundWavelengthMin=13, MonitorBackgroundWavelengthMax=14.5, MonitorIntegrationWavelengthMin=4, MonitorIntegrationWavelengthMax=10
                                                                        )
        
        
     
        # Plot the slice. The workspace Y-values should all eithier be NAN or 1.00
        plotSlice('reduced_lam',colorscalelog=True, colormax=1e9, colormin=1e1)
        
test = ReflectometryISIS()
test.runTest()

Provided #8656 has passed testing, this ticket is complete. No code changes made here, so no need to follow the git testing macros, you just need to verify that the python script above is doing the right thing according to the instructions.

Last edited 7 years ago by Owen Arnold (previous) (diff)

comment:3 Changed 7 years ago by Owen Arnold

  • Status changed from new to verify
  • Resolution set to fixed

comment:4 Changed 7 years ago by Keith Brown

  • Status changed from verify to verifying
  • Tester set to Keith Brown

comment:5 Changed 7 years ago by Keith Brown

  • Status changed from verifying to closed

After replacing the NaN values with a plot-able value the workspace passed

comment:6 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 9489

Note: See TracTickets for help on using tickets.