Save lone hits
Created by: JelleAalbers
This saves all hits that are found outside peaklets for further processing.
Lone hits consist of PMT dark rate, far-away afterpulses, misidentified noise, or very rarely an actual single-photon signal. Saving these could be useful in several ways:
- The local lone hit rate per channel could be used to help make sense of two- or three-hit signals, e.g. like pax did with its penalty point system (https://github.com/XENON1T/pax/pull/126) but maybe less baroque :-)
- Single-PE hits might actually be used as S1s in analysis, if they show evidence of double PE emission (see e.g. LUX' paper)
For each lone hit, we would save its time and endtime (or rather length and dt), channel, height, and area. The requisite strax change for this is already in master (https://github.com/AxFoundation/strax/commit/2c3b7c799e088cd3ddb644bfe9da492f14c3774c).
Unfortunately, there are a lot of lone hits. For a one-minute background_triggerless run, saving lone hits takes 18 MB on disk, compared to 10 MB for peaklets. I don't know if we have enough room on the analysis facility to keep this data around indefinitely: 18 MB/minute = 9 TB/year, and for XENONnT everything should become ~2x larger due to the double PMT count. If we cannot keep it at the analysis facility, but we still use it in high-level processing, this would make changing settings throughout strax a lot harder.
I saved the data as a second output of Peaklets: much like tight_coincidence, this avoids having a second hitfinding pass and a second plugin that depends on records (which, when I tried it, puts a lot of strain on strax's poor multithreading/mailbox system).