Remove bankstats with significant triggers
This is a somewhat ham-fisted approach to signal removal from backgrounds. When finalsink finds a significant trigger, it excludes its corresponding bankstats file from any calcfap/combine_stats process, and schedules it to be removed. That's about 30 minutes of background collection being thrown out, which is OK if it's infrequent.
The motivation is that we expect fairly frequent events (1 per 2 days) in BBH, which uses relatively few template banks. We've missed some back-to-back events in O3, which signal removal would fix. A much more robust method is being tested in !148 (merged), but this could still provide a decent point of comparison and a fallback if !148 (merged) has issues.
Note our backgrounds could include a trigger a good bit of time before/after a signal due to our time slides (creating coincidence between a signal in one detector and noise in another), so if a signal happens right between two bankstats this would still miss some polluted backgrounds. That could be addressed in a followup MR if desired.
Draftish
I think this is ready for a code-review with a few caveats:
- The code includes a refactor to clean up our bankstats parsing (I'm considering changing it further, left some TODOs for now, but code's working at this stage). The refactor could be split into a separate MR if the rest doesn't go through.
- If we do merge, it should be guarded behind a command line argument to enable/disable the feature.
- It needs science testing, and !148 (merged) is likely to supersede it relatively soon.