Finally remove the nearest-neighbor smoothing leftover from the old Dalitz clustering! This had several downstream effects that had to be accounted for and corrected. We no longer cluster on charge, the charge is too diffuse without the smoothing to cluster on. This means we no longer need to use as aggressive of a standardization scheme for our features to cluster on, as everyone is in mm.
Removal of smoothing revealed an unaccounted for artifact from the trace analysis. When extracting the z-position we use the peak centroid. The centroid is found by scipy find peaks, which returns the centroid as an integer (time bucket value). However, time buckets essentially represent a bin in time. Previously we just naively cast this integer to a float, however this results in artifacting in the data, making clumps in z (very visible on short tracks). Now properly add uncertainty in time bucket when casting to float by adding a random number on the interval [0., 1.0) to the centroid value.
Another artifact that was revealed was that in some rare cases, we attempt to apply the electric field correction to data outside the legal range of the detector (<0 or > det length in z). This results in NaN's and infinities in the point cloud. We now prune these values in the clustering phase.
Docs have been updated, and notebooks have been modified for the pointcloud phase.
Another big update, covers the following:
Docs have been updated, and notebooks have been modified for the pointcloud phase.