From 271cd4b48a55b404dba3b53f1d5c163bb761602e Mon Sep 17 00:00:00 2001
From: Tamas Gal <tgal@km3net.de>
Date: Fri, 19 Oct 2018 09:25:06 +0200
Subject: [PATCH] Add k40 calibration script

---
 scripts/k40_calibration.py | 47 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)
 create mode 100644 scripts/k40_calibration.py

diff --git a/scripts/k40_calibration.py b/scripts/k40_calibration.py
new file mode 100644
index 0000000..01371bc
--- /dev/null
+++ b/scripts/k40_calibration.py
@@ -0,0 +1,47 @@
+#!/usr/bin/env python
+# coding=utf-8
+# vim: ts=4 sw=4 et
+"""
+=========================
+K40 Intra-DOM Calibration
+=========================
+
+The following script calculates the PMT time offsets using K40 coincidences
+
+"""
+# Author: Jonas Reubelt <jreubelt@km3net.de> and Tamas Gal <tgal@km3net.de>
+# License: MIT
+import km3pipe as kp
+import km3pipe.style
+from km3modules import k40
+from km3modules.common import StatusBar, MemoryObserver, Siphon
+from km3modules.plot import IntraDOMCalibrationPlotter
+
+km3pipe.style.use('km3pipe')
+
+DET_ID = 39
+
+pipe = kp.Pipeline(timeit=True)
+pipe.attach(
+    kp.io.ch.CHPump,
+    host='127.0.0.1',
+    port=6001,
+    tags='IO_TSL1, IO_MONIT',
+    timeout=7 * 60 * 60 * 24,
+    max_queue=200000)
+pipe.attach(kp.io.ch.CHTagger)
+pipe.attach(StatusBar, every=50000)
+pipe.attach(MemoryObserver, every=100000)
+pipe.attach(k40.MedianPMTRatesService, only_if='IO_MONIT')
+pipe.attach(kp.io.daq.TimesliceParser)
+pipe.attach(k40.TwofoldCounter, tmax=10, dump_filename='../twofold_counts.p')
+pipe.attach(Siphon, volume=10 * 60 * 180, flush=True)
+pipe.attach(k40.K40BackgroundSubtractor)
+pipe.attach(k40.IntraDOMCalibrator, ctmin=-1, det_id=DET_ID)
+pipe.attach(
+    IntraDOMCalibrationPlotter,
+    det_oid="D0DU004MA",
+    data_path='../data',
+    plots_path='../plots')
+pipe.attach(k40.ResetTwofoldCounts)
+pipe.drain()
-- 
GitLab