summaryrefslogtreecommitdiff
path: root/chroma/cuda/pdf.cu
AgeCommit message (Collapse)Author
2021-05-09Major overhaul to the way that DAQ and PDF information is accumulatedStan Seibert
to speed up likelihood evaluation. When generating a likelihood, the DAQ can be run many times in parallel by the GPU, creating a large block of channel hit information in memory. The PDF accumulator processes that entire block in two passes: * First update the channel hit count, and the count of channel hits falling into the bin around the channel hit time being evaluated. Add any channel hits that should also be included in the n-th nearest neighbor calculation to a channel-specific work queue. * Process all the work queues for each channel and update the list of nearest neighbors. This is hugely faster than what we were doing before. Kernel estimation (or some kind of orthogonal function expansion of the PDF) should be better ultimately, but for now the nearest neighbor approach to PDF estimation seems to be working the best.
2021-05-09Minor fixes to doing time & charge PDFs via kernel estimation. ThingsStan Seibert
still look off, but this is an improvement.
2021-05-09Fix returning from PDF accumulator too soon.Stan Seibert
2011-10-07Create a Detector class to hold information about the PMTs in aStan Seibert
geometry, like the mapping from solid IDs to channels, and the time and charge distributions. Detector is a subclass of Geometry, so that a Detector can be used wherever a Geometry is used. Only code (like the DAQ stuff) that needs to know how PMT solids map to channels should look for a Detector object. There is a corresponding GPUDetector class as well, with its own device side struct to hold PMT channel information. The GPU code now can sample an arbitrary time and charge PDF, but on the host side, the only interface exposed right now creates a Gaussian distribution.
2011-10-05Kernel estimation implementation for calculating PDFs at each PMT.Stan Seibert
A little rough around the edges, and still needs some development work.
2011-10-03Split out CUDA PDF functions into separate .cu file.Stan Seibert