summaryrefslogtreecommitdiff
path: root/chroma/sim.py
diff options
context:
space:
mode:
authorStan Seibert <stan@mtrr.org>2011-10-18 15:04:35 -0400
committertlatorre <tlatorre@uchicago.edu>2021-05-09 08:42:38 -0700
commit536d16b98dbb808cbb8692bcd50ce5a9fb7bb00d (patch)
tree9a66006df344524329be68f4895b2e37c2d0c6ab /chroma/sim.py
parent8a81439a976c926e3ff43bd680dab087e13aa3bf (diff)
downloadchroma-536d16b98dbb808cbb8692bcd50ce5a9fb7bb00d.tar.gz
chroma-536d16b98dbb808cbb8692bcd50ce5a9fb7bb00d.tar.bz2
chroma-536d16b98dbb808cbb8692bcd50ce5a9fb7bb00d.zip
Minor fixes to doing time & charge PDFs via kernel estimation. Things
still look off, but this is an improvement.
Diffstat (limited to 'chroma/sim.py')
-rw-r--r--chroma/sim.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/chroma/sim.py b/chroma/sim.py
index 49bf142..93bcdfb 100644
--- a/chroma/sim.py
+++ b/chroma/sim.py
@@ -152,13 +152,14 @@ class Simulation(object):
return self.gpu_pdf.get_pdf_eval()
- def setup_kernel(self, nchannels, bandwidth_iterable,
+ def setup_kernel(self, event_channels, bandwidth_iterable,
trange, qrange,
nreps=1, ndaq=1, time_only=True, scale_factor=1.0):
'''Call this before calling eval_pdf_kernel(). Sets up the
event information and computes an appropriate kernel bandwidth'''
+ nchannels = len(event_channels.hit)
self.gpu_pdf_kernel.setup_moments(nchannels, trange, qrange,
- time_only=True)
+ time_only=time_only)
# Compute bandwidth
first_element, bandwidth_iterable = itertoolset.peek(bandwidth_iterable)
if isinstance(first_element, event.Event):
@@ -174,9 +175,12 @@ class Simulation(object):
gpu_channels = self.gpu_daq.acquire(gpu_photon_slice, self.rng_states, nthreads_per_block=self.nthreads_per_block, max_blocks=self.max_blocks)
self.gpu_pdf_kernel.accumulate_moments(gpu_channels)
- self.gpu_pdf_kernel.compute_bandwidth(scale_factor=scale_factor)
+ self.gpu_pdf_kernel.compute_bandwidth(event_channels.hit,
+ event_channels.t,
+ event_channels.q,
+ scale_factor=scale_factor)
- def eval_kernel(self, event_channels,
+ def eval_kernel(self, event_channels,
kernel_iterable,
trange, qrange,
nreps=1, ndaq=1, naverage=1, time_only=True):