\(\renewcommand\AA{\unicode{x212B}}\)
BASISReduction v1¶
Summary¶
Multiple-file BASIS reduction for its two reflections.
Properties¶
Name |
Direction |
Type |
Default |
Description |
---|---|---|---|---|
RunNumbers |
Input |
string |
Sample run numbers |
|
DoIndividual |
Input |
boolean |
False |
Do each run individually |
ExcludeTimeSegment |
Input |
string |
Exclude a contigous time segment; Examples: “71546:0-60” filter run 71546 from start to 60 seconds, “71546:300-600”, “71546:120-end” from 120s to the end of the run |
|
RetainTimeSegment |
Input |
string |
Only retain events occurring within a time segment. Examples: 71546:0-3600 only retains events from the first hour of run 71546. 71546:3600-7200 retain only the second hour. 71546:7200-end retain events after the first two hours |
|
GroupDetectors |
Input |
string |
None |
Switch for grouping detectors. Allowed values: [‘None’, ‘Low-Resolution’, ‘By-Tube’] |
DoFluxNormalization |
Input |
boolean |
True |
Do we normalize data by incoming flux? |
FluxNormalizationType |
Input |
string |
Monitor |
Flux Normalization Type. Allowed values: [‘Monitor’, ‘Proton Charge’, ‘Duration’] |
NormalizeToFirst |
Input |
boolean |
False |
Normalize spectra to intensity of spectrum with lowest Q? |
ReflectionType |
Input |
string |
silicon_111 |
Analyzer. Documentation lists typical associated property values. Allowed values: [‘silicon_111’, ‘silicon_311’, ‘silicon_333’] |
EnergyBins |
Input |
dbl list |
-150,0.4,500 |
Energy transfer binning scheme (in ueV) |
MomentumTransferBins |
Input |
dbl list |
0.3,0.2,1.9 |
Momentum transfer binning scheme |
MaskFile |
Input |
string |
See documentation for latest mask files. Allowed extensions: [‘.xml’] |
|
DivideByVanadium |
Input |
boolean |
False |
Do we normalize by the vanadium intensity? |
NormalizationType |
Input |
string |
by Q slice |
Select a Vanadium normalization. Allowed values: [‘by Q slice’, ‘by detector ID’] |
NormRunNumbers |
Input |
string |
Normalization run numbers |
|
SaveNXSPE |
Input |
boolean |
False |
Do we save to NXSPE format? |
PsiAngleLog |
Input |
string |
SE50Rot |
name of entry in the logs storing the psi angle |
PsiOffset |
Input |
number |
0 |
add this quantity to the psi angle stored in the log |
OutputSusceptibility |
Input |
boolean |
False |
Output dynamic susceptibility (Xqw) |
OutputPowderSpectrum |
Input |
boolean |
False |
Output S(Q) and S(theta) powder diffraction |
RemoveTemporaryWorkspaces |
Input |
boolean |
True |
Remove temporary workspaces and files |
For each property, the algorithm will remember the last value used. If user deletes this value and leaves blank the property field, the default value will be used. Default values are typical of the silicon111 reflection.
Description¶
Run numbers: Reduction can be carried out for each run or all runs can be aggregated into a single data collection.
Examples:
2144-2147: runs from 2144 to 2147.
2144-2147,2149,2156: runs from 2144 to 2147 and also runs 2149 and 156
If DoIndividual is checked, then each run number is reduced separately from the rest.
ExcludeTimeSegment: Events happening in a time segment with no proton charge are most likely noise. Those events can be filtered out of the reduction process.
Example:
“71465:0-500,71466:900-2100,71467:4000-end” will filter out events happening between the start of the run and 500 seconds for run 71465, then between 900 and 2100 seconds for run 71466 and between 4000 seconds and the end of the run for 71467. Only one time segment can be excluded per run number.
RetainTimeSegment: When interested only in a single and contiguous part of the run. Only events within that time window can be kept.
Examples: - “71465:0-3600,71466:3600-7200,71467:3600-end” will retain events of the first hour of run 71465, events of the second hour of run 71466, and events after the first hour of run 71467. Events outside these time windows will not be taken into account.
Momentum transfer binning scheme: Three values are required, the center of the bin with the minimum momentum, the bin width, and the center of the bin with the maximum momentum.
Rescaling to first spectrum: Since the Y-scale has arbitrary units, a rescaling convention is taken whereby the maximum of the first spectrum (lowest Q-value) is rescaled to 1.0. This rescaling may not be employed when the intent is to compare to other runs, like can substraction of comparison between deuterated and hydrogenated samples.
Reflection Selector¶
Currently three types of reflection are possible, associated with the silicon analyzers of BASIS. These are typical binning values for each reflection:
Reflection |
|
|
---|---|---|
silicon111 |
-150, 0.4, 500 |
0.3, 0.2, 1.9 |
silicon311 |
-740, 1.6, 740 |
0.5, 0.2, 3.7 |
silicon333 |
-1500, 3.2 1500 |
0.5, 0.2, 3.7 |
Also the following default mask files are associated to each reflection:
Reflection |
Mask file |
---|---|
silicon111 |
BASIS_Mask_default_111.xml |
silicon311 |
BASIS_Mask_default_311.xml |
silicon333 |
BASIS_Mask_default_333.xml |
Note: masks for reflections 111 and 333 are actually the same since both reflections take place at the same silicon crystal analyzers.
These mask files can be found in the SNS filesystem (/SNS/BSS/shared/autoreduce/new_masks_08_12_2015/)
Vanadium Normalization¶
The syntax for the vanadium run numbers designation (NormRunNumbers) is the same as in the case of the sample (hyphens and commas are understood). All runs are jointly reduced into a single vanadium workspace.
Normalization type by Q slice is the default normalization. In this case, the sample is reduced into \(S_{s}(Q,E)\) and the vanadium is reduced into \(S_{v}(Q,E)\). Later, \(S_{v}(Q,E)\) is integrated along the energy axis in the range [-0.034, 0.034]meV to produce \(S_{v}(Q)\). Finally the sample is divided by the vanadium, \(S_{s}(Q,E) / S_{v}(Q)\).
Normalization type by detector ID carries out the division on each detector of the instrument. If we have for detector \(i\) sample \(S_s(\lambda, i)\) and vanadium \(S_v(\lambda, i)\), we integrate along the \(\lambda\) axis in the range given by NormWavelengthRange to obtain \(S_v(i)\) and then divide \(S_s(\lambda, i)/S_v(i)=S'_s(\lambda, i)\). From this point on, the reduction process continues using \(S'_s\) in place of \(S_s\).
Saving NXSPE files¶
NXSPE files are suitable for intensity visualization in \(\vec{Q}\) space with MSLICE. When using this program, make sure you select the inverse geometry.
Also, make sure that the sample rotation angle is stored in the logs of the run, since this is a required property of the algorithm.
Dynamic Susceptibility¶
If <i>OutputSusceptibility</i> is checked, one additional workspace and one Nexus file will be generated, both containing the dynamic susceptibility as a function of frequency, in units of GHz. The extension denoting this quantity in the workspace and file names is “Xqw” (the extension for the structure factor is “sqw”).
Powder Diffraction¶
If <i>OutputPowderSpectrum</i> is checked, two additional workspaces are created after a call to algorithm BASISPowderDiffraction v1 - BSS_XXXX_sq_angle: Intensity versus scattering angle \(\vec{2\theta}\) - BSS_XXXX_sq: Intensity versus momentum transfer
Usage¶
Perform a reduction:
BASISReduction(RunNumbers="59671",
EnergyBins=[-120,0.4,120],
MomentumTransferBins=[0.3, 0.2, 1.9],
DivideByVanadium=1,
NormRunNumbers="58183")
Categories: AlgorithmIndex | Inelastic\Reduction
Source¶
Python: BASISReduction.py