ess.powder.correction.normalize_by_monitor_integrated#

ess.powder.correction.normalize_by_monitor_integrated(detector, *, monitor, uncertainty_broadcast_mode)[source]#

Normalize detector data by an integrated monitor.

The monitor is integrated according to

\[M = \sum_{i=0}^{N-1}\, m_i (x_{i+1} - x_i) I(x_i, x_{i+1}),\]

where \(m_i\) is the monitor intensity in bin \(i\), \(x_i\) is the lower bin edge of bin \(i\), and \(I(x_i, x_{i+1})\) selects bins that are within the range of the detector.

Parameters:
  • detector (DataWithScatteringCoordinates[TypeVar(RunType, ess.reduce.nexus.types.BackgroundRun (int), ess.reduce.nexus.types.EmptyBeamRun (int), ess.reduce.nexus.types.SampleRun (int), TransmissionRun[ess.reduce.nexus.types.SampleRun (int)], TransmissionRun[ess.reduce.nexus.types.BackgroundRun (int)], ess.reduce.nexus.types.VanadiumRun (int))]) – Input event data in wavelength.

  • monitor (WavelengthMonitor[TypeVar(RunType, ess.reduce.nexus.types.BackgroundRun (int), ess.reduce.nexus.types.EmptyBeamRun (int), ess.reduce.nexus.types.SampleRun (int), TransmissionRun[ess.reduce.nexus.types.SampleRun (int)], TransmissionRun[ess.reduce.nexus.types.BackgroundRun (int)], ess.reduce.nexus.types.VanadiumRun (int)), ess.reduce.nexus.types.Monitor1 (int)]) – A histogrammed monitor in wavelength.

  • uncertainty_broadcast_mode (UncertaintyBroadcastMode) – Choose how uncertainties of the monitor are broadcast to the sample data.

Returns:

NormalizedRunData[TypeVar(RunType, ess.reduce.nexus.types.BackgroundRun (int), ess.reduce.nexus.types.EmptyBeamRun (int), ess.reduce.nexus.types.SampleRun (int), TransmissionRun[ess.reduce.nexus.types.SampleRun (int)], TransmissionRun[ess.reduce.nexus.types.BackgroundRun (int)], ess.reduce.nexus.types.VanadiumRun (int))]detector normalized by a monitor.