Figure one shows 4 plots of the same hybrid. Plot one is the raw data before any pedestal subtraction in time vs anode. Plot 2 shows the same data projected onto the time axis. You can see an indiaction of a ripple with about peak-to-trough value of ~10 ADC counts on top of the static pedestal. Plot 3 again show the two dimensional display but after pedestal subtraction. You can see that the hybrid has become much more uniform in the pedestal direction but that the ripple is still there. Plot 4 is plot 3 projected onto the time axis again. The fact that the ripple remains after pedestal subtraction tells you that the ripple is "dynamic", i.e. it changes event-to-event and hence averaging over many events does not help you. This is part of the reason the hybrids have a higher RMS than last year. See here
So what to do?
The ideal situation would be to do a dynamic pedestal subtraction on line (after the static pedestal but BEFORE sequence adjusting). We're still in discussion with the DAQ people about whether this is possible given the ASIC structure and the time we hav available.
The second "well we have to do something method" is: Looking at the zero suppressed data if thethresholds are set low enough (currently 3,2,5,0) and the offset is 10 you can still see the remains of the top of the ripple. See Fig 4
So what we do is loop over all anodes for a given timebucket and see if >50 anodes fired. If they did then the average ADC value for that timebucket is subtracted from all the anodes and the sequence adjusting and clustering continiues from there. You can see below, in Fig. 6, that this works very well in cleaning up the data.
1) we have to write to disk a lot of data in order to preserve enough of the ripple to be able to subtract it offline.
2) We will still loose hits that are in the trough of the ripple. The zero-suprression will already have removed this data before we can recover it. The mangitude if this loss is still being investigated.
As Fig. 2 shows Anode 1 gives a good representation of the ripple. Due to the butterfly nature of the hybrid anode 1 is very unlikely to have real data on it hence it is ideal to write out as a "black" anode. The idea is to not apply any sequence adjusting to it on-line and hence write out all 128 timebuckets every event. This is not too big a hit in data volume (0.4%). Then instead of using the average value over all anodes we can subtract the anode 1 value. We can then set the thresholds higher and save less noise as we no longer need to preserve the shape of the ripple. HOWEVER this is far from ideal. We will still loose data in the undershoot, in fact more so because now the online thresholds will be higher. Loosing hits not only makes the detector more inefficient but also means we hurt of our physics goals because the hit isn't there. HBT, for instance, needs to have actual hits/tracks unlike spectra where knowing the efficieny of the detector allows you to calculate what was there.