From 0672eb0febf55197dcc9beb1332562e1a831a961 Mon Sep 17 00:00:00 2001
From: Tamas Gal <tgal@km3net.de>
Date: Thu, 11 Mar 2021 11:36:58 +0100
Subject: [PATCH] Resolve "New KM3NeT Dataformat Release v2.0.0"

---
 CHANGELOG.rst                        |  1 +
 km3io/_definitions/applications.py   | 17 ++++++++++++++
 km3io/_definitions/daqdatatypes.py   |  2 +-
 km3io/_definitions/fitparameters.py  |  2 +-
 km3io/_definitions/pmt_status.py     | 15 ++++++++++++
 km3io/_definitions/reconstruction.py |  2 +-
 km3io/_definitions/root.py           | 18 +++++++--------
 km3io/_definitions/trigger.py        |  2 +-
 km3io/_definitions/trkmembers.py     | 34 ++++++++++++++++++++++++++++
 km3io/_definitions/w2list_genhen.py  |  2 +-
 km3io/_definitions/w2list_gseagen.py |  6 ++++-
 km3io/definitions.py                 |  5 ++++
 12 files changed, 91 insertions(+), 15 deletions(-)
 create mode 100644 km3io/_definitions/applications.py
 create mode 100644 km3io/_definitions/pmt_status.py
 create mode 100644 km3io/_definitions/trkmembers.py

diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index bea2d37..1b51d34 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -1,5 +1,6 @@
 Unreleased changes
 ------------------
+* ``km3net-dataformat`` updated to 2.0.0
 
 Version 0
 ---------
diff --git a/km3io/_definitions/applications.py b/km3io/_definitions/applications.py
new file mode 100644
index 0000000..f78f79b
--- /dev/null
+++ b/km3io/_definitions/applications.py
@@ -0,0 +1,17 @@
+# -*- coding: utf-8 -*-
+"""
+KM3NeT Data Definitions v2.0.0
+https://git.km3net.de/common/km3net-dataformat
+"""
+
+# applications
+data = dict(
+    APPLICATION_GENHEN=   "GENHEN"   ,
+    APPLICATION_GSEAGEN=  "gSeaGen"  ,
+    APPLICATION_MUPAGE=   "MUPAGE"   ,
+    APPLICATION_CORSIKA=  "Corsika"  ,
+    APPLICATION_KM3BUU=   "KM3BUU"   ,
+    APPLICATION_KM3=      "km3"      ,
+    APPLICATION_KM3SIM=   "KM3Sim"   ,
+    APPLICATION_JSIRENE=  "JSirene"  ,
+)
diff --git a/km3io/_definitions/daqdatatypes.py b/km3io/_definitions/daqdatatypes.py
index 14b81c0..cbdc9df 100644
--- a/km3io/_definitions/daqdatatypes.py
+++ b/km3io/_definitions/daqdatatypes.py
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 """
-KM3NeT Data Definitions v1.3.1-22-gcbad051
+KM3NeT Data Definitions v2.0.0
 https://git.km3net.de/common/km3net-dataformat
 """
 
diff --git a/km3io/_definitions/fitparameters.py b/km3io/_definitions/fitparameters.py
index d1882e1..019f90d 100644
--- a/km3io/_definitions/fitparameters.py
+++ b/km3io/_definitions/fitparameters.py
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 """
-KM3NeT Data Definitions v1.3.1-22-gcbad051
+KM3NeT Data Definitions v2.0.0
 https://git.km3net.de/common/km3net-dataformat
 """
 
diff --git a/km3io/_definitions/pmt_status.py b/km3io/_definitions/pmt_status.py
new file mode 100644
index 0000000..bc557a8
--- /dev/null
+++ b/km3io/_definitions/pmt_status.py
@@ -0,0 +1,15 @@
+# -*- coding: utf-8 -*-
+"""
+KM3NeT Data Definitions v2.0.0
+https://git.km3net.de/common/km3net-dataformat
+"""
+
+# pmt_status
+data = dict(
+    PMT_DISABLE= 0,
+    HIGH_RATE_VETO_DISABLE= 1,
+    FIFO_FULL_DISABLE= 2,
+    UDP_COUNTER_DISABLE= 3,
+    UDP_TRAILER_DISABLE= 4,
+    OUT_OF_SYNC= 5,
+)
diff --git a/km3io/_definitions/reconstruction.py b/km3io/_definitions/reconstruction.py
index 2b6b181..9413ae2 100644
--- a/km3io/_definitions/reconstruction.py
+++ b/km3io/_definitions/reconstruction.py
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 """
-KM3NeT Data Definitions v1.3.1-22-gcbad051
+KM3NeT Data Definitions v2.0.0
 https://git.km3net.de/common/km3net-dataformat
 """
 
diff --git a/km3io/_definitions/root.py b/km3io/_definitions/root.py
index d19eb95..a46f03f 100644
--- a/km3io/_definitions/root.py
+++ b/km3io/_definitions/root.py
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 """
-KM3NeT Data Definitions v1.3.1-22-gcbad051
+KM3NeT Data Definitions v2.0.0
 https://git.km3net.de/common/km3net-dataformat
 """
 
@@ -30,14 +30,14 @@ data = dict(
     COMPRESSION_LEVEL_ONLINE_SUMMARYSLICE= 1,
     COMPRESSION_LEVEL_ONLINE_EVENT=        0,
     COMPRESSION_LEVEL_OFFLINE_EVENT=       1,
-    BUCKET_SIZE_ONLINE_TIMESLICE=    65536,
-    BUCKET_SIZE_ONLINE_TIMESLICEL0=  65536,
-    BUCKET_SIZE_ONLINE_TIMESLICEL1=  65536,
-    BUCKET_SIZE_ONLINE_TIMESLICEL2=  65536,
-    BUCKET_SIZE_ONLINE_TIMESLICESN=  65536,
-    BUCKET_SIZE_ONLINE_SUMMARYSLICE= 65536,
-    BUCKET_SIZE_ONLINE_EVENT=        65536,
-    BUCKET_SIZE_OFFLINE_EVENT=       65536,
+    BASKET_SIZE_ONLINE_TIMESLICE=      5000000,
+    BASKET_SIZE_ONLINE_TIMESLICEL0=  500000000,
+    BASKET_SIZE_ONLINE_TIMESLICEL1=    5000000,
+    BASKET_SIZE_ONLINE_TIMESLICEL2=    5000000,
+    BASKET_SIZE_ONLINE_TIMESLICESN=    5000000,
+    BASKET_SIZE_ONLINE_SUMMARYSLICE=   5000000,
+    BASKET_SIZE_ONLINE_EVENT=          5000000,
+    BASKET_SIZE_OFFLINE_EVENT=         5000000,
     SPLIT_LEVEL_ONLINE_TIMESLICE=    1,
     SPLIT_LEVEL_ONLINE_TIMESLICEL0=  2,
     SPLIT_LEVEL_ONLINE_TIMESLICEL1=  2,
diff --git a/km3io/_definitions/trigger.py b/km3io/_definitions/trigger.py
index 9214213..606ea90 100644
--- a/km3io/_definitions/trigger.py
+++ b/km3io/_definitions/trigger.py
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 """
-KM3NeT Data Definitions v1.3.1-22-gcbad051
+KM3NeT Data Definitions v2.0.0
 https://git.km3net.de/common/km3net-dataformat
 """
 
diff --git a/km3io/_definitions/trkmembers.py b/km3io/_definitions/trkmembers.py
new file mode 100644
index 0000000..de084a8
--- /dev/null
+++ b/km3io/_definitions/trkmembers.py
@@ -0,0 +1,34 @@
+# -*- coding: utf-8 -*-
+"""
+KM3NeT Data Definitions v2.0.0
+https://git.km3net.de/common/km3net-dataformat
+"""
+
+# trkmembers
+data = dict(
+    TRK_MOTHER_UNDEFINED=-1,
+    TRK_MOTHER_NONE=-2,
+    TRK_ST_UNDEFINED=0,
+    TRK_ST_FINALSTATE=1,
+    TRK_ST_PRIMARYNEUTRINO=100,
+    TRK_ST_PRIMARYCOSMIC=200,
+    TRK_ST_ININUCLEI=5,
+    TRK_ST_INTERSTATE=2,
+    TRK_ST_DECSTATE=3,
+    TRK_ST_NUCTGT=11,
+    TRK_ST_PREHAD=12,
+    TRK_ST_PRERES=13,
+    TRK_ST_HADNUC=14,
+    TRK_ST_NUCLREM=15,
+    TRK_ST_NUCLCLT=16,
+    TRK_ST_FAKECORSIKA=21,
+    TRK_ST_FAKECORSIKA_DEC_MU_START=22,
+    TRK_ST_FAKECORSIKA_DEC_MU_END=23,
+    TRK_ST_FAKECORSIKA_ETA_2GAMMA=24,
+    TRK_ST_FAKECORSIKA_ETA_3PI0=25,
+    TRK_ST_FAKECORSIKA_ETA_PIP_PIM_PI0=26,
+    TRK_ST_FAKECORSIKA_ETA_2PI_GAMMA=27,
+    TRK_ST_FAKECORSIKA_CHERENKOV_GAMMA=28,
+    TRK_ST_PROPLEPTON=1001,
+    TRK_ST_PROPDECLEPTON=2001,
+)
diff --git a/km3io/_definitions/w2list_genhen.py b/km3io/_definitions/w2list_genhen.py
index d28d915..96c629a 100644
--- a/km3io/_definitions/w2list_genhen.py
+++ b/km3io/_definitions/w2list_genhen.py
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 """
-KM3NeT Data Definitions v1.3.1-22-gcbad051
+KM3NeT Data Definitions v2.0.0
 https://git.km3net.de/common/km3net-dataformat
 """
 
diff --git a/km3io/_definitions/w2list_gseagen.py b/km3io/_definitions/w2list_gseagen.py
index 0ae55df..f628609 100644
--- a/km3io/_definitions/w2list_gseagen.py
+++ b/km3io/_definitions/w2list_gseagen.py
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 """
-KM3NeT Data Definitions v1.3.1-22-gcbad051
+KM3NeT Data Definitions v2.0.0
 https://git.km3net.de/common/km3net-dataformat
 """
 
@@ -25,4 +25,8 @@ data = dict(
     W2LIST_GSEAGEN_TARGETZ=16,
     W2LIST_GSEAGEN_VERINCAN=17,
     W2LIST_GSEAGEN_LEPINCAN=18,
+    W2LIST_GSEAGEN_N_RETRIES=19,
+    W2LIST_GSEAGEN_CUSTOM_YAW=20,
+    W2LIST_GSEAGEN_CUSTOM_PITCH=21,
+    W2LIST_GSEAGEN_CUSTOM_ROLL=22,
 )
diff --git a/km3io/definitions.py b/km3io/definitions.py
index 4e2134a..b749dba 100644
--- a/km3io/definitions.py
+++ b/km3io/definitions.py
@@ -9,6 +9,9 @@ from km3io._definitions.root import data as root
 from km3io._definitions.trigger import data as trigger
 from km3io._definitions.w2list_genhen import data as w2list_genhen
 from km3io._definitions.w2list_gseagen import data as w2list_gseagen
+from km3io._definitions.trkmembers import data as trkmembers
+from km3io._definitions.applications import data as applications
+from km3io._definitions.pmt_status import data as pmt_status
 
 
 class AttrDict(dict):
@@ -32,3 +35,5 @@ fitparameters_idx = {v: k for k, v in fitparameters.items()}
 reconstruction_idx = {v: k for k, v in reconstruction.items()}
 w2list_genhen_idx = {v: k for k, v in w2list_genhen.items()}
 w2list_gseagen_idx = {v: k for k, v in w2list_gseagen.items()}
+pmt_status_idx = {v: k for k, v in pmt_status.items()}
+trkmembers_idx = {v: k for k, v in trkmembers.items()}
-- 
GitLab