summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Seibert <stan@mtrr.org>2011-06-23 18:54:05 -0400
committerStan Seibert <stan@mtrr.org>2011-06-23 18:54:05 -0400
commita7b94c352cc70fbc79d78e3ca6cec334aec2e258 (patch)
tree9f04d71a0c60ae084ecd5f15d4699c36670bf599
parentad5d8d60ba75a95a7557b7aa450ade9ed816fc6b (diff)
downloadchroma-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.py11
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