In any event, this happens on some large fraction of events (I would
say most) but not all events. This leads to a lot of "bad" hits showing
up at the bottom of the TPC, and therefore a lowered "fraction of hits
used by tracker parameter" (but still better than the 1d code, which has
its own explicit removal of these hits at the bottom).
For a given padrow, if a certain fraction (set by the new switch h2d_sw.cleanup_maxocc = 0.25 by default) of pixels corresponding to a given timebucket are above thresold, then kill (zero) all pixels with that time bucket, and those below. The search for these "bad buckets" starts at some bucket set by a switch (h2d_sw.nbuck_cleanup = 3 by default). This cleanup and switches were implemented in v1.14 of h2d. Not suprisingly, such a simple mechanism works fine. Here are ADC vs time vs pad for padrows 50 and 52 in a 2 GeV event that showed the problem. The z axis (ADC) is logarithmic.
Here is padrow 50 before and after the cleanup was implemented.
Here is padrow 52 before and after the cleanup was implemented.