Closed hristovaivana closed 2 months ago
For reference, here is message announcing the changes from Alex:
I've created a branch that features new ADC integral and ADC peak definitions for AbsRS and StandardRS. They both now use the integral and peak of the RS curve instead of the original waveform. This avoids possible negative peaks/integrals (AbsRS) and frequent near 0 ADC integrals (StandardRS).The attached plots are for AbsRS on emulation. The far right peak on ADC integral is expected and a downside to using this definition, but better than negative integrals on uint16. @wketchum @Artur Sztuc Could a test be run tomorrow using this branch? No configuration changes are necessary. This is to check that online is consistent.
For Alex's changes, we've taken runs: 26462: APA2,3,4: 0,1: ST 5000, 2: ST 250; APA1: 0,2: ST 5000, 1: ST 300 26466: APA1,2,3,4: 0: SRS 240, 1-2: ST 5000 26467: APA1,2,3,4: 0: SRS 240, 1-2: ST 5000, now with Ivana's fix (ST = SRS set to ST)
The TP peak and integral are computed using the standard running sum ADC values instead of the raw ADC values.
We have been running for several days at NP04 HD commissioning with this branch and have not encountered any operational issues. We have also confirmed that the StandardRS when configured with R = 0.0 (memory factor), behaves as the SimpleThreshold algorithm. The small differences that were noticeable in the TP rate plots are found to be due to the 2-nd pedestal subtraction that needs to be performed when we use the Running Sum algorithms.
Thresholding has been on the RS curve. However, the ADC peak (time peak) and integral were on the original waveform. This changes to use the RS curve. So in principle this will not change the number of TPs made or how the TPs are made, it will just change the ADCIntegral & ADCPeak values that the TriggerPrimitive object is carrying. However, since TAs/TCs can make use of integral and peak information, this will affect any logic there.
PRs for the dependent repositories will be also made [links to be provided here. There are NONE]. To safely apply this, readoutlibs, readoutmodules, and fdreadoutmodules should also be built.