From cd90d8d41b496d80e643bb34d3326ba897882c67 Mon Sep 17 00:00:00 2001
From: Tamas Gal <tgal@km3net.de>
Date: Fri, 18 Jan 2019 13:53:58 +0100
Subject: [PATCH] Fix error on empty trigger rates

---
 scripts/trigger_rates.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/scripts/trigger_rates.py b/scripts/trigger_rates.py
index e28bcf3..9b4317a 100755
--- a/scripts/trigger_rates.py
+++ b/scripts/trigger_rates.py
@@ -115,9 +115,13 @@ class TriggerRate(kp.Module):
 
     def _remove_run_changes_out_of_range(self):
         self.print("Removing run changes out of range")
+        overall_rates = self.trigger_rates['Overall']
+        if not overall_rates:
+            self.print("No trigger rates logged  yet, nothing to remove.")
+            return
         self.print("  Before: {}".format(self.run_changes))
         new_run_changes = []
-        min_timestamp = min(self.trigger_rates['Overall'])[0]
+        min_timestamp = min(overall_rates)[0]
         for timestamp, run in self.run_changes:
             if timestamp > min_timestamp:
                 new_run_changes.append((timestamp, run))
@@ -127,7 +131,6 @@ class TriggerRate(kp.Module):
     def plot(self):
         while self.run:
             time.sleep(self.interval)
-            self._remove_run_changes_out_of_range()
             self.create_plot()
 
     def create_plot(self):
@@ -141,6 +144,8 @@ class TriggerRate(kp.Module):
                 self.trigger_rates[trigger].append((timestamp, trigger_rate))
             self.trigger_counts = defaultdict(int)
 
+        self._remove_run_changes_out_of_range()
+
         fig, ax = plt.subplots(figsize=(16, 4))
 
         for trigger, rates in self.trigger_rates.items():
-- 
GitLab