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

IndirectILLEnergyTransfer v1

../_images/IndirectILLEnergyTransfer-v1_dlg.png

IndirectILLEnergyTransfer dialog.

Summary

Performs initial energy transfer reduction for ILL indirect geometry data, instrument IN16B.

Properties

Name Direction Type Default Description
Run Input list of str lists Mandatory File path of run (s). Allowed values: [‘nxs’]
MapFile Input string   Filename of the detector grouping map file to use. By default all the pixels will be summed per each tube. Use .map or .xml file (see GroupDetectors documentation) only if different range is needed for each tube. Allowed values: [‘map’, ‘xml’]
ManualPSDIntegrationRange Input long list 1,128 Integration range of vertical pixels in each PSD tube. By default all the pixels will be summed per each tube. Use this option if the same range (other than default) is needed for all the tubes.
Analyser Input string silicon Analyser crystal. Allowed values: [‘silicon’]
Reflection Input string 111 Analyser reflection. Allowed values: [‘111’, ‘311’]
CropDeadMonitorChannels Input boolean False Whether or not to exclude the first and last few channels with 0 monitor count in the energy transfer formula.
OutputWorkspace Output WorkspaceGroup Mandatory Group name for the reduced workspace(s).
SpectrumAxis Input string SpectrumNumber The spectrum axis conversion target. Allowed values: [‘SpectrumNumber’, ‘2Theta’, ‘Q’, ‘Q2’]
NormaliseTo Input string Monitor Choose to normalise to monitor. Allowed values: [‘Monitor’, ‘None’]
MonitorCutoff Input number 0.5 Choose the cutoff fraction wrt the maximum of the monitor counts.
InputElasticChannelWorkspace Input Workspace   The name of the input elastic channel workspace.
OutputElasticChannelWorkspace Output Workspace   The name of the output elastic channel workspace.
ElasticPeakFitting Input string FitAllPixelGroups Choose the method for calibrating TOF axes. Allowed values: [‘FitAllPixelGroups’, ‘FitEquatorialOnly’]
GroupPixelsBy Input number 4 Choose how to group the pixels for elastic peak fitting; must be a power of 2.
SampleCoordinates Input dbl list 0,0,0 The sample coordinates X, Y, Z.
PulseChopper Input string Auto Define the pulse chopper. Allowed values: [‘Auto’, ‘12’, ‘34’]
GroupDetectors Input boolean True Group the pixels using the range, tube-by-tube (default) or in a custom way; it is not recommended to group the detectors at this stage, in order to get absorption corrections right, however the default value is True for backwards compatibility.
DiscardSingleDetectors Input boolean False Whether to discard the spectra of single detectors.

Description

This is a part of multi-algorithm reduction workflow for IN16B indirect geometry instrument at ILL. It handles the first steps of the reduction chain, such as grouping of the detectors, normalizing to monitor dependent on the reduction type. It performs transformation of the axes; x-axis from channel number to energy transfer, and optionally y-axis to scattering angle or elastic momentum transfer. It handles automatically all four types of data (QENS, EFWS, IFWS, BATS) recorded with or without mirror sense. Note, that following the standard, the Unit for energy transfer (DeltaE) will be milli-electron-volts (mev). This algorithm is intended to handle only single file at a time, although if multiple files are given, they will be automatically summed at raw level, i.e. while loading. In this case MergeRuns algorithm will be invoked, which will forbid the merges across different types of data (e.g. different mirror senses, doppler energy or velocity profiles). Note, that this algorithm is compatible with the data recorded from 03.2014 onwards (i.e. where Doppler’s mirror_sense, maximum_delta_energy and velocity_profile entries are defined in .nxs files). It returns a WorkspaceGroup, containing one (no mirror sense) or two workspaces (with mirror sense) for left and right wings respectively. This algorithm is not intended to be used directly by the end users. Instead it is used as a child algorithm by IndirectILLReductionQENS and IndirectILLReductionFWS for QENS and FWS type of reductions correspondingly.

BATS

This algorithm support also the Backscattering And Time-of-flight Spectrometer (BATS) mode of IN16B. In this mode it will fit the elastic peak positions for each group of pixels, with grouping defined as a user input. Elastic peak will be searched in the middle half of the TOF window. Then each group of pixels will be calibrated to center the elastic peak at 0 energy transfer. However in the output there will be no grouping of pixels by default. The actual energy transfer range will be derived from the monitor window, taking the user defined cutoff value into account. The frame offset of the monitor will be deduced automatically. ElasticChannelWorkspace can be optionally output, which can be used as input for the measurements with inelastic offset, where there is no elastic peak in the recorded frame. Values for single detectors will be computed similarly but separately, and they can be ignored if needed, using the DiscardSingleDetectors flag.

Usage

Example - IndirectILLEnergyTransfer : QENS data without mirror sense

ws = IndirectILLEnergyTransfer(Run='ILL/IN16B/090661.nxs')
print("Reduced workspace has {:d} wing".format(ws.getNumberOfEntries()))
print("which has {:d} spectra".format(ws.getItem(0).getNumberHistograms()))
print("and {:d} bins".format(ws.getItem(0).blocksize()))

Output:

Reduced workspace has 1 wing
which has 18 spectra
and 1024 bins

Example - IndirectILLEnergyTransfer : QENS data with mirror sense

ws = IndirectILLEnergyTransfer(Run='ILL/IN16B/136553:136555.nxs', CropDeadMonitorChannels=True)
print("Reduced workspace has {:d} wings".format(ws.getNumberOfEntries()))
print("which have {:d} spectra".format(ws.getItem(0).getNumberHistograms()))
print("and {:d} bins".format(ws.getItem(0).blocksize()))

Output:

Reduced workspace has 2 wings
which have 18 spectra
and 1017 bins

Example - IndirectILLEnergyTransfer : BATS data

ws = IndirectILLEnergyTransfer(Run='ILL/IN16B/215962.nxs', PulseChopper='34', GroupDetectors=False)
print("The output workspace has {:d} spectra".format(ws.getItem(0).getNumberHistograms()))
print("and {:d} bins".format(ws.getItem(0).blocksize()))

Output:

The output workspace has 2050 spectra
and 1121 bins

Categories: AlgorithmIndex | Workflow\MIDAS | Workflow\Inelastic | Inelastic\Indirect | Inelastic\Reduction | ILL\Indirect

Source

Python: IndirectILLEnergyTransfer.py (last modified: 2021-05-17)