VesuvioCalculateGammaBackground v1

../_images/VesuvioCalculateGammaBackground-v1_dlg.png

VesuvioCalculateGammaBackground dialog.

Summary

Calculates the background due to gamma rays produced when neutrons are absorbed by shielding.

Properties

Name Direction Type Default Description
InputWorkspace Input MatrixWorkspace Mandatory An input workspace containing TOF data
ComptonFunction InOut Function Mandatory Function that is able to compute the mass spectrum for the input dataThis will usually be the output from the Fitting
WorkspaceIndexList Input int list   Indices of the spectra to include in the correction. If provided, the output only include these spectra (Default: all spectra from input)
BackgroundWorkspace Output MatrixWorkspace Mandatory A new workspace containing the calculated background.
CorrectedWorkspace Output MatrixWorkspace Mandatory A new workspace containing the calculated background subtracted from the input.

Description

This algorithm is currently designed to be used by the Vesuvio spectrometer at ISIS to correct for background produced by photons that are created when the neutrons are absorbed by the shielding on the instrument. It only corrects the forward scattering detector banks - spectrum numbers 135-198.

Two workspaces are produced: the calculated background and a corrected workspace where the input workspace has been corrected by the background. The background is computed by a simple simulation of the expected count across all of the foils. The corrected workspace counts are computed by calculating a ratio of the expected counts at the detector to the integrated foil counts (\beta) and then the final corrected count rate \displaystyle c_f is defined as \displaystyle c_f = c_i - \beta c_b.

Usage

Example: Correcting the first spectrum

###### Simulates LoadVesuvio with spectrum number 135-136 #################
tof_ws = CreateSimulationWorkspace(Instrument='Vesuvio',BinParams=[50,0.5,562],UnitX='TOF')
tof_ws = CropWorkspace(tof_ws,StartWorkspaceIndex=134,EndWorkspaceIndex=135) # index one less than spectrum number
tof_ws = ConvertToPointData(tof_ws)
SetInstrumentParameter(tof_ws, ParameterName='t0',ParameterType='Number',Value='0.5')
SetInstrumentParameter(tof_ws, ParameterName='sigma_l1', ParameterType='Number', Value='0.021')
SetInstrumentParameter(tof_ws, ParameterName='sigma_l2', ParameterType='Number', Value='0.023')
SetInstrumentParameter(tof_ws, ParameterName='sigma_tof', ParameterType='Number', Value='0.3')
SetInstrumentParameter(tof_ws, ParameterName='sigma_theta', ParameterType='Number', Value='0.028')
SetInstrumentParameter(tof_ws, ParameterName='hwhm_lorentz', ParameterType='Number', Value='24.0')
SetInstrumentParameter(tof_ws, ParameterName='sigma_gauss', ParameterType='Number', Value='73.0')
# Algorithm allows separate parameters for the foils
SetInstrumentParameter(tof_ws, ComponentName='foil-pos0', ParameterName='hwhm_lorentz',
                       ParameterType='Number', Value='144.0')
SetInstrumentParameter(tof_ws, ComponentName='foil-pos0', ParameterName='sigma_gauss',
                       ParameterType='Number', Value='20.0')
SetInstrumentParameter(tof_ws, ComponentName='foil-pos1', ParameterName='hwhm_lorentz',
                       ParameterType='Number', Value='144.0')
SetInstrumentParameter(tof_ws, ComponentName='foil-pos1', ParameterName='sigma_gauss',
                       ParameterType='Number', Value='20.0')

###########################################################################

mass_function = "name=GaussianComptonProfile,Mass=1.0079,Width=0.4,Intensity=1.1"
corrected, background = VesuvioCalculateGammaBackground(tof_ws, ComptonFunction=mass_function,
                                                 WorkspaceIndexList=0)

print("First 5 values of input: {}".format(tof_ws.readY(0)[0:4]))
print("First 5 values of background: {}".format(background.readY(0)[0:4]))
print("First 5 values of corrected: {}".format(corrected.readY(0)[0:4]))

Output:

First 5 values of input: [ 1.  1.  1.  1.]
First 5 values of background: [ 1.00053361  1.00054704  1.00056072  1.00057468]
First 5 values of corrected: [-0.00053361 -0.00054704 -0.00056072 -0.00057468]

Example: Correcting all spectra

###### Simulates LoadVesuvio with spectrum number 135-136 #################
tof_ws = CreateSimulationWorkspace(Instrument='Vesuvio',BinParams=[50,0.5,562],UnitX='TOF')
tof_ws = CropWorkspace(tof_ws,StartWorkspaceIndex=134,EndWorkspaceIndex=135) # index one less than spectrum number5
tof_ws = ConvertToPointData(tof_ws)
SetInstrumentParameter(tof_ws, ParameterName='t0',ParameterType='Number',Value='0.5')
SetInstrumentParameter(tof_ws, ParameterName='sigma_l1', ParameterType='Number', Value='0.021')
SetInstrumentParameter(tof_ws, ParameterName='sigma_l2', ParameterType='Number', Value='0.023')
SetInstrumentParameter(tof_ws, ParameterName='sigma_tof', ParameterType='Number', Value='0.3')
SetInstrumentParameter(tof_ws, ParameterName='sigma_theta', ParameterType='Number', Value='0.028')
SetInstrumentParameter(tof_ws, ParameterName='hwhm_lorentz', ParameterType='Number', Value='73.0')
SetInstrumentParameter(tof_ws, ParameterName='sigma_gauss', ParameterType='Number', Value='24.0')
###########################################################################

mass_function = "name=GaussianComptonProfile,Mass=1.0079,Width=0.4,Intensity=1.1"
corrected, background = VesuvioCalculateGammaBackground(tof_ws, ComptonFunction=mass_function)

print("Number of background spectra: {}".format(background.getNumberHistograms()))
print("Number of corrected spectra: {}".format(corrected.getNumberHistograms()))

Output:

Number of background spectra: 2
Number of corrected spectra: 2

Categories: Algorithm Index | CorrectionFunctions\BackgroundCorrections

Source

C++ source: VesuvioCalculateGammaBackground.cpp (last modified: 2018-10-05)

C++ header: VesuvioCalculateGammaBackground.h (last modified: 2018-10-05)