Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add wrapper algorithm for creating POLREF correction workspaces #38470

Open
rbauststfc opened this issue Dec 4, 2024 · 0 comments
Open

Add wrapper algorithm for creating POLREF correction workspaces #38470

rbauststfc opened this issue Dec 4, 2024 · 0 comments
Labels
ISIS Team: LSS Issue and pull requests managed by the LSS subteam at ISIS Reflectometry Issues and pull requests related to reflectometry
Milestone

Comments

@rbauststfc
Copy link
Contributor

rbauststfc commented Dec 4, 2024

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:

  1. Call ReflectometryISISCreateTransmission on the non-magnetic input run numbers to produce the non-mag transmission workspace.
  2. If magnetic input run numbers have been supplied then call ReflectometryISISCreateTransmission to produce the mag transmission workspace.
  3. Call PolarizationEfficienciesWildes, passing the non-mag and (if available) mag transmission workspaces, to calculate the efficiency values.
  4. Call JoinISISPolarizationEfficiencies using the OutputPolarizerEfficiency, OutputAnalyserEfficiency, OutputFpEfficiency and OutputFaEfficiency values from PolarizationEfficienciesWildes in order to combine them into a single output workspace that is compatible with PolarizationCorrectionWildes.

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.

@rbauststfc rbauststfc added Reflectometry Issues and pull requests related to reflectometry ISIS Team: LSS Issue and pull requests managed by the LSS subteam at ISIS labels Dec 4, 2024
@rbauststfc rbauststfc added this to the Release 6.12 milestone Dec 4, 2024
@rbauststfc rbauststfc moved this to Ready for Development in ISIS Polarised Reflectivity epic Dec 4, 2024
@rbauststfc rbauststfc moved this from New to Backlog in ISIS LSS Sprint Planning Dec 4, 2024
@rbauststfc rbauststfc changed the title Wrapper algorithm for creating POLREF correction workspaces Add wrapper algorithm for creating POLREF correction workspaces Dec 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ISIS Team: LSS Issue and pull requests managed by the LSS subteam at ISIS Reflectometry Issues and pull requests related to reflectometry
Projects
Status: Backlog
Status: Ready for Development
Development

No branches or pull requests

2 participants