Don't alarm some uB EPICS beam channels when beam current low
This probably needs a new slowmoncon/apps/IFBeamDataReader.
The generic TextReader is too limited.
#1 Updated by Glenn Horton-Smith over 4 years ago
- % Done changed from 0 to 40
To avoid noise, really need to average over many pulses. This is implemented now. (uboonedaq commit a027265)
There were also requests (not included in this ticket) to do other kinds of analysis, such as checking the number of events received vs the number expected, and the new code will support that.
The main motivation for this ticket was to eliminate the position INVALID errors when beam was momentarily off and no beam position data was being returned at all, and this new code won't mark a channel invalid unless it has no data for over a minute, so this is actually already going a ways towards satisfying the intent. But I'll leave it open until we have the full features desired.
#2 Updated by Glenn Horton-Smith over 4 years ago
- Status changed from Accepted to Resolved
- % Done changed from 40 to 100
Further improved the new IFBeamDataReader so that it can apply a condition to the data to be averaged. This is being used now to only include data with beam intensity above 0.2E12 protons in calculating average horn current and beam positions. This ensures that we only alarm on these if their average readings on pulses with beam are out of range. This is enough to fulfil the original request.
In order to allow us to still record data when the beam is off for a long time, if there is no data satisfying the condition it will ignore the condition and average all data it gets. I've added a separate condition in the alarm system to avoid alarms on the horn and beam position if the average beam current is less than 0.2E12 protons.
This is working and committed to git, so this can be closed now.