diff options
author | Stan Seibert <stan@mtrr.org> | 2011-06-23 18:54:05 -0400 |
---|---|---|
committer | Stan Seibert <stan@mtrr.org> | 2011-06-23 18:54:05 -0400 |
commit | a7b94c352cc70fbc79d78e3ca6cec334aec2e258 (patch) | |
tree | 9f04d71a0c60ae084ecd5f15d4699c36670bf599 | |
parent | ad5d8d60ba75a95a7557b7aa450ade9ed816fc6b (diff) | |
download | chroma-a7b94c352cc70fbc79d78e3ca6cec334aec2e258.tar.gz chroma-a7b94c352cc70fbc79d78e3ca6cec334aec2e258.tar.bz2 chroma-a7b94c352cc70fbc79d78e3ca6cec334aec2e258.zip |
Replace calculation of likelihood variance from uncertainties because
it is too slow. Now we do it directly.
-rw-r--r-- | threadtest.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/threadtest.py b/threadtest.py index d76224f..c9854a7 100644 --- a/threadtest.py +++ b/threadtest.py @@ -6,6 +6,7 @@ from pycuda import gpuarray import pycuda.driver as cuda from uncertainties import ufloat, umath from histogram import Histogram +import math jobs = Queue() output = Queue() @@ -43,9 +44,10 @@ def likelihood(detector, event_times, position=(0,0,0), nphotons=5000, neval=100 job = output.get() t[i] = job.earliest_times - log_likelihood = ufloat((0,0)) + log_likelihood = 0.0 + log_likelihood_variance = 0.0 for i, time in event_times: - h = Histogram(100, (-0.5e-9, 99.5e-9)) + h = Histogram(500, (-0.5e-9, 99.5e-9)) h.fill(t[:,i]) if h.nentries > 0: @@ -60,9 +62,10 @@ def likelihood(detector, event_times, position=(0,0,0), nphotons=5000, neval=100 probability = \ ufloat((1.0/len(h.bincenters), 1.0/len(h.bincenters))) - log_likelihood += umath.log(probability) + log_likelihood += math.log(probability.nominal_value) + log_likelihood_variance += (probability.std_dev()/probability.nominal_value)**2 - return -log_likelihood + return ufloat((-log_likelihood, log_likelihood_variance**0.5)) if __name__ == '__main__': import sys |