\(\renewcommand\AA{\unicode{x212B}}\)

SANSSensitivityCorrection v1

Summary

Perform SANS sensitivity correction.

Properties

Name

Direction

Type

Default

Description

InputWorkspace

Input

MatrixWorkspace

Filename

Input

string

Mandatory

Flood field or sensitivity file. Allowed extensions: [‘_event.nxs’, ‘.xml’]

UseSampleDC

Input

boolean

True

If true, the dark current subtracted from the sample data will also be subtracted from the flood field.

DarkCurrentFile

Input

string

The name of the input file to load as dark current. Allowed extensions: [‘_event.nxs’, ‘.xml’]

MinEfficiency

Input

number

Optional

Minimum efficiency for a pixel to be considered (default: no minimum).

MaxEfficiency

Input

number

Optional

Maximum efficiency for a pixel to be considered (default: no maximum).

FloodTransmissionValue

Input

number

Optional

Transmission value for the flood field material (default: no transmission).

FloodTransmissionError

Input

number

0

Transmission error for the flood field material (default: no transmission).

BeamCenterX

Input

number

Optional

Beam position in X pixel coordinates (optional: otherwise sample beam center is used)

BeamCenterY

Input

number

Optional

Beam position in Y pixel coordinates (optional: otherwise sample beam center is used)

MaskedFullComponent

Input

string

Component Name to fully mask according to the IDF file.

MaskedEdges

Input

int list

Number of pixels to mask on the edges: X-low, X-high, Y-low, Y-high

MaskedComponent

Input

string

Component Name to mask the edges according to the IDF file.

OutputWorkspace

Output

MatrixWorkspace

ReductionProperties

Input

string

__sans_reduction_properties

OutputSensitivityWorkspace

Output

MatrixWorkspace

OutputMessage

Output

string

Description

This SANS workflow algorithm will compute the sensitivity correction from a given flood field data set. It will apply the proper corrections to the data according to the input property manager object. Those corrections may include dark current subtraction, moving the beam center, the solid angle correction, and applying a patch.

If an input workspace is given, the computed correction will be applied to that workspace.

A Nexus file containing a pre-calculated sensitivity correction can also be supplied for the case where we simply want to apply the correction to an input workspace.

The relative detector efficiency is computed using the CalculateEfficiency algorithm the following way:

\(S(x,y)=\frac{I_{flood}(x,y)}{1/N_{pixels}\sum_{i,j}I_{flood}(i,j)}\)

where \(I_{flood}(x,y)\) is the pixel count of the flood data in pixel (x,y). If a minimum and/or maximum sensitivity is given, the pixels having an efficiency outside the given limits are masked and the efficiency is recomputed without using those pixels. The sample data is then corrected by dividing the intensity in each pixels by the efficiency S:

\(I'_{sample}(x,y) = \frac{I_{sample}(x,y)}{S(x,y)}\)

The pixels found to have an efficiency outside the given limits are also masked in the sample data so that they don’t enter any subsequent calculations. If the user chose to use a dark current data set when starting the reduction process, that dark current data will be subtracted from the flood data. The subtraction is done before the sensitivity is calculated. If the user chose to use the solid angle correction for the reduction process, that correction will be applied to the flood data before the sensitivity is calculated.

This algorithm is usually called by SANSReduction or HFIRSANSReduction.

Note 1: The solid angle correction is either not applied at all, or applied to both the flood data to calculate the sensitivity correction and applied to the sample data as part of the reduction process.

Note 2: EQSANS has the option to patch masked areas of the detector using the efficiency calculated for the unmasked portion of each tube. This creates a sensitivity file that covers the entire detector. This option can be enabled by using the ComputeSensitivity workflow algorithm to create a sensitivity workspace, which can then be saved and used for EQSANS reduction as a pre-calculated sensitivity file.

Categories: AlgorithmIndex | Workflow\SANS\UsesPropertyManager

Source

C++ header: SANSSensitivityCorrection.h

C++ source: SANSSensitivityCorrection.cpp