From ed3fbde568c61c3b84e6069d071aa62533030f20 Mon Sep 17 00:00:00 2001
From: Matthew Pitkin <matthew.pitkin@ligo.org>
Date: Tue, 7 Aug 2018 22:05:08 +0100
Subject: [PATCH] sampler.py: ignore DeltaFunctions in output samples for Pymc3

---
 tupak/core/sampler.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/tupak/core/sampler.py b/tupak/core/sampler.py
index fbba50cba..82216f8d3 100644
--- a/tupak/core/sampler.py
+++ b/tupak/core/sampler.py
@@ -1201,12 +1201,15 @@ class Pymc3(Sampler):
             # perform the sampling
             trace = pymc3.sample(self.draws, step=sm, **self.kwargs)
 
-        nparams = len(self.priors.keys())
+        nparams = len([key for key in self.priors.keys() if self.priors[key].__class__.__name__ != 'DeltaFunction'])
         nsamples = len(trace)*self.chains
 
         self.result.samples = np.zeros((nsamples, nparams))
-        for i, key in enumerate(self.priors.keys()):
-            self.result.samples[:,i] = trace[key]
+        count = 0
+        for key in self.priors.keys():
+            if self.priors[key].__class__.__name__ != 'DeltaFunction': # ignore DeltaFunction variables
+                self.result.samples[:,count] = trace[key]
+                count += 1
 
         self.result.sampler_output = np.nan
         self.calculate_autocorrelation(self.result.samples)
-- 
GitLab