Add wrapper algorithm for creating POLREF correction workspaces #38470
Labels
ISIS Team: LSS
Issue and pull requests managed by the LSS subteam at ISIS
Reflectometry
Issues and pull requests related to reflectometry
Milestone
Currently blocked by #38466, which needs to be merged in before this can be done.
See issue #35682 for the detailed context of this work. Under this issue we have added the following two algorithms:
ReflectometryISISCreateTransmission
- this algorithm takes a list of calibration runs, performs some optional corrections and then converts them into a single spectrum transmission workspace. It will be used on both the non-magnetic and magnetic (if being used) input runs.PolarizationEfficienciesWildes
- this algorithm takes a non-magnetic and (optionally) a magnetic transmission run and uses these to calculate relevant efficiency values.We have created these individual algorithms to give POLREF scientists (and other expert users) access to the building blocks of their workflow in case they want to experiment with new techniques, or need to have more granular access to the outputs of the efficiency calculation. For the majority of cases where they just want to follow the standard workflow (or where instrument scientists who are less familiar with running POLREF may be providing cover) we need a wrapper algorithm that performs the necessary steps and outputs an efficiency workspace that can be passed to
PolarizationCorrectionWildes
.The wrapper algorithm would need to perform the following steps:
ReflectometryISISCreateTransmission
on the non-magnetic input run numbers to produce the non-mag transmission workspace.ReflectometryISISCreateTransmission
to produce the mag transmission workspace.PolarizationEfficienciesWildes
, passing the non-mag and (if available) mag transmission workspaces, to calculate the efficiency values.JoinISISPolarizationEfficiencies
using theOutputPolarizerEfficiency
,OutputAnalyserEfficiency
,OutputFpEfficiency
andOutputFaEfficiency
values fromPolarizationEfficienciesWildes
in order to combine them into a single output workspace that is compatible withPolarizationCorrectionWildes
.The
PolarizationEfficienciesWildes
algorithm offers quite a bit of flexibility over the combination of values that can be calculated. We have agreed with our scientists that this wrapper algorithm does not need to expose all of that flexibility, but it should still be possible to request the diagnostic outputs (i.e. phi, rho, alpha, 2p-1 and 2a-1) via the wrapper. We have agreed that the list of properties for the wrapper algorithm should be as follows:Input Properties
Inputs for
ReflectometryISISCreateTransmission
NonMagInputRuns
MagInputRuns (optional)
ProcessingInstructions
MagProcessingInstructions (optional, only if different to non-mag processing instructions)
I0MonitorIndex
MonitorIntegrationWavelengthMin
MonitorIntegrationWavelengthMax
FloodWorkspace
BackgroundProcessingInstructions
MagBackgroundProcessingInstructions (optional, only if different to non-mag background processing instructions)
Inputs for
PolarizationEfficienciesWildes
Flippers
InputPolarizerEfficiency
InputAnalyserEfficiency
Output properties
OutputWorkspace (this would be the output workspace from the call to
JoinISISPolarizationEfficiencies
)Diagnostic outputs from
PolarizationEfficienciesWildes
IncludeDiagnosticOutputs
OutputPhi
OutputRho
OutputAlpha
OutputTwoPMinusOne
OutputTwoAMinusOne
We should add a system test for this wrapper algorithm, which can use the same input runs as are used in the
ReflectometryISISCreateTransmission
system test.The text was updated successfully, but these errors were encountered: