ess.sans.normalization.iofq_denominator#
- ess.sans.normalization.iofq_denominator(wavelength_term, solid_angle, uncertainties)[source]#
Compute the denominator term for the I(Q) normalization.
In a SANS experiment, the scattering cross section \(I(Q)\) is defined as (Heenan et al. 1997):
\[I(Q) = \frac{\partial\Sigma{Q}}{\partial\Omega} = \frac{A_{H} \Sigma_{R,\lambda\subset Q} C(R, \lambda)}{A_{M} t \Sigma_{R,\lambda\subset Q}M(\lambda)T(\lambda)D(\lambda)\Omega(R)}\]where \(A_{H}\) is the area of a mask (which avoids saturating the detector) placed between the monitor of area \(A_{M}\) and the main detector. \(\Omega\) is the detector solid angle, and \(C\) is the count rate on the main detector, which depends on the position \(R\) and the wavelength. \(t\) is the sample thickness, \(M\) represents the incident monitor count rate for the sample run, and \(T\) is known as the transmission fraction.
Note that the incident monitor used to compute the transmission fraction is not necessarily the same as \(M\), as the transmission fraction is usually computed from a separate ‘transmission’ run (in the ‘sample’ run, the transmission monitor is commonly moved out of the beam path, to avoid polluting the sample detector signal).
Finally, \(D\) is the ‘direct beam function’, and is defined as
\[D(\lambda) = \frac{\eta(\lambda)}{\eta_{M}(\lambda)} \frac{A_{H}}{A_{M}}\]where \(\eta\) and \(\eta_{M}\) are the detector and monitor efficiencies, respectively.
Hence, in order to normalize the main detector counts \(C\), we need compute the transmission fraction \(T(\lambda)\), the direct beam function \(D(\lambda)\) and the solid angle \(\Omega(R)\).
The denominator is then simply: \(M_{\lambda} T_{\lambda} D_{\lambda} \Omega_{R}\), which is equivalent to
wavelength_term * solid_angle
. Thewavelength_term
includes all but thesolid_angle
and is computed byiofq_norm_wavelength_term_sample()
oriofq_norm_wavelength_term_background()
.Because the multiplication between the wavelength dependent terms and the pixel dependent term (solid angle) consists of a broadcast operation which would introduce correlations, variances are dropped or replaced by an upper-bound estimation, depending on the configured mode.
- Parameters:
wavelength_term (
NormWavelengthTerm
[TypeVar
(ScatteringRunType
,types.SampleRun
(int
),types.BackgroundRun
(int
))]) – The term that depends on wavelength, computed byiofq_norm_wavelength_term()
.solid_angle (
MaskedSolidAngle
[TypeVar
(ScatteringRunType
,types.SampleRun
(int
),types.BackgroundRun
(int
))]) – The solid angle of the detector pixels, as viewed from the sample position.uncertainties (
UncertaintyBroadcastMode
) – The mode for broadcasting uncertainties. Seeess.reduce.uncertainty.UncertaintyBroadcastMode
for details.
- Returns:
CleanWavelength
[TypeVar
(ScatteringRunType
,types.SampleRun
(int
),types.BackgroundRun
(int
)),types.Denominator
(scipp.DataArray
)] – The denominator for the SANS I(Q) normalization.