diff options
-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 |