\(\renewcommand\AA{\unicode{x212B}}\)
FilterBadPulses v1¶
Summary¶
Filters out events associated with pulses that happen when proton charge is lower than a given percentage of the average.
See Also¶
Properties¶
Name |
Direction |
Type |
Default |
Description |
---|---|---|---|---|
InputWorkspace |
Input |
Mandatory |
An event workspace |
|
OutputWorkspace |
Output |
Mandatory |
The name to use for the output workspace |
|
LowerCutoff |
Input |
number |
95 |
The percentage of the average to use as the lower bound |
Description¶
The algorithm looks at sample logs (“proton_charge”), finds the mean, and rejects any events that occurred during a pulse that was below a certain percentage of that mean. This effectively removes neutrons from the background that were measured while the accelerator was not actually producing neutrons, reducing background noise.
Usage¶
Example - Using a simple proton charge log
ws = CreateSampleWorkspace("Event",BankPixelWidth=1)
AddTimeSeriesLog(ws, Name="proton_charge", Time="2010-01-01T00:00:00", Value=100)
AddTimeSeriesLog(ws, Name="proton_charge", Time="2010-01-01T00:10:00", Value=100)
AddTimeSeriesLog(ws, Name="proton_charge", Time="2010-01-01T00:20:00", Value=100)
AddTimeSeriesLog(ws, Name="proton_charge", Time="2010-01-01T00:30:00", Value=100)
AddTimeSeriesLog(ws, Name="proton_charge", Time="2010-01-01T00:40:00", Value=15)
AddTimeSeriesLog(ws, Name="proton_charge", Time="2010-01-01T00:50:00", Value=100)
AddSampleLog(ws,"gd_prtn_chrg", "1e6", "Number")
wsFiltered = FilterBadPulses(ws)
print("The number of events that remain: %i" % wsFiltered.getNumberEvents())
print("compared to the number in the unfiltered workspace: %i" % ws.getNumberEvents())
Output:
The number of events that remain: 950
compared to the number in the unfiltered workspace: 1900
Categories: AlgorithmIndex | Events\EventFiltering
Source¶
C++ header: FilterBadPulses.h
C++ source: FilterBadPulses.cpp