From 380f845bc02eeab4a7d016edde4bf47c3b0ef18a Mon Sep 17 00:00:00 2001
From: Tamas Gal <himself@tamasgal.com>
Date: Wed, 19 Oct 2022 12:07:08 +0200
Subject: [PATCH] Update definitions

---
 src/NeRCA.jl                      | 11 ++++----
 src/definitions/applications.jl   | 15 ++++++++++
 src/definitions/daqdatatypes.jl   |  4 +--
 src/definitions/fitparameters.jl  | 11 ++++++--
 src/definitions/module_status.jl  | 12 ++++++++
 src/definitions/pmt_status.jl     | 13 +++++++++
 src/definitions/reconstruction.jl |  4 +--
 src/definitions/root.jl           | 47 +++++++++++++++++++++++++++++++
 src/definitions/trigger.jl        |  4 +--
 src/definitions/trkmembers.jl     | 34 ++++++++++++++++++++++
 src/definitions/w2list_genhen.jl  |  4 +--
 src/definitions/w2list_gseagen.jl |  8 ++++--
 src/definitions/w2list_km3buu.jl  | 25 ++++++++++++++++
 src/definitions/weightlist.jl     | 14 +++++++++
 src/io/root.jl                    | 16 +++++------
 15 files changed, 196 insertions(+), 26 deletions(-)
 create mode 100644 src/definitions/applications.jl
 create mode 100644 src/definitions/module_status.jl
 create mode 100644 src/definitions/pmt_status.jl
 create mode 100644 src/definitions/root.jl
 create mode 100644 src/definitions/trkmembers.jl
 create mode 100644 src/definitions/w2list_km3buu.jl
 create mode 100644 src/definitions/weightlist.jl

diff --git a/src/NeRCA.jl b/src/NeRCA.jl
index 3023d21..9a537f3 100644
--- a/src/NeRCA.jl
+++ b/src/NeRCA.jl
@@ -42,12 +42,11 @@ export
     @ip_str,
     initdb, streamds, detx  # db.jl
 
-include("definitions/daqdatatypes.jl")
-include("definitions/fitparameters.jl")
-include("definitions/reconstruction.jl")
-include("definitions/trigger.jl")
-include("definitions/w2list_genhen.jl")
-include("definitions/w2list_gseagen.jl")
+# KM3NeT Dataformat definitions
+for inc ∈ readdir(joinpath(@__DIR__, "definitions"), join=true)
+    !endswith(inc, ".jl") && continue
+    include(inc)
+end
 
 include("constants.jl")
 include("types.jl")
diff --git a/src/definitions/applications.jl b/src/definitions/applications.jl
new file mode 100644
index 0000000..dc69e01
--- /dev/null
+++ b/src/definitions/applications.jl
@@ -0,0 +1,15 @@
+"""
+# KM3NeT Data Definitions v2.2.0-15-g40086db
+https://git.km3net.de/common/km3net-dataformat
+"""
+
+module APPLICATIONS
+  const APPLICATION_GENHEN =    "GENHEN"   
+  const APPLICATION_GSEAGEN =   "gSeaGen"  
+  const APPLICATION_MUPAGE =    "MUPAGE"   
+  const APPLICATION_CORSIKA =   "Corsika"  
+  const APPLICATION_KM3BUU =    "KM3BUU"   
+  const APPLICATION_KM3 =       "km3"      
+  const APPLICATION_KM3SIM =    "KM3Sim"   
+  const APPLICATION_JSIRENE =   "JSirene"  
+end
diff --git a/src/definitions/daqdatatypes.jl b/src/definitions/daqdatatypes.jl
index 295aceb..32ccf96 100644
--- a/src/definitions/daqdatatypes.jl
+++ b/src/definitions/daqdatatypes.jl
@@ -1,9 +1,9 @@
 """
-# KM3NeT Data Definitions v1.3.1-8-gae7dfb2
+# KM3NeT Data Definitions v2.2.0-15-g40086db
 https://git.km3net.de/common/km3net-dataformat
 """
 
-module Daqdatatypes
+module DAQDATATYPES
   const DAQSUPERFRAME = 101
   const DAQSUMMARYFRAME = 201
   const DAQTIMESLICE = 1001
diff --git a/src/definitions/fitparameters.jl b/src/definitions/fitparameters.jl
index c2549a2..93f6188 100644
--- a/src/definitions/fitparameters.jl
+++ b/src/definitions/fitparameters.jl
@@ -1,9 +1,9 @@
 """
-# KM3NeT Data Definitions v1.3.1-8-gae7dfb2
+# KM3NeT Data Definitions v2.2.0-15-g40086db
 https://git.km3net.de/common/km3net-dataformat
 """
 
-module Fitparameters
+module FITPARAMETERS
   const JGANDALF_BETA0_RAD = 0
   const JGANDALF_BETA1_RAD = 1
   const JGANDALF_CHI2 = 2
@@ -14,6 +14,7 @@ module Fitparameters
   const JGANDALF_NUMBER_OF_ITERATIONS = 7
   const JSTART_NPE_MIP = 8
   const JSTART_NPE_MIP_TOTAL = 9
+  const JSTART_NPE_MIP_MISSED = 22
   const JSTART_LENGTH_METRES = 10
   const JVETO_NPE = 11
   const JVETO_NUMBER_OF_HITS = 12
@@ -22,5 +23,11 @@ module Fitparameters
   const JENERGY_NDF = 15
   const JENERGY_NUMBER_OF_HITS = 16
   const JCOPY_Z_M = 17
+  const JPP_COVERAGE_ORIENTATION = 18
+  const JPP_COVERAGE_POSITION = 19
+  const JENERGY_MINIMAL_ENERGY = 20
+  const JENERGY_MAXIMAL_ENERGY = 21
   const JSHOWERFIT_ENERGY = 4
+  const AASHOWERFIT_ENERGY = 0
+  const AASHOWERFIT_NUMBER_OF_HITS = 1
 end
diff --git a/src/definitions/module_status.jl b/src/definitions/module_status.jl
new file mode 100644
index 0000000..6402afb
--- /dev/null
+++ b/src/definitions/module_status.jl
@@ -0,0 +1,12 @@
+"""
+# KM3NeT Data Definitions v2.2.0-15-g40086db
+https://git.km3net.de/common/km3net-dataformat
+"""
+
+module MODULE_STATUS
+  const MODULE_DISABLE =  0
+  const COMPASS_DISABLE =  1
+  const HYDROPHONE_DISABLE =  2
+  const PIEZO_DISABLE =  3
+  const MODULE_OUT_OF_SYNC =  4
+end
diff --git a/src/definitions/pmt_status.jl b/src/definitions/pmt_status.jl
new file mode 100644
index 0000000..8400c29
--- /dev/null
+++ b/src/definitions/pmt_status.jl
@@ -0,0 +1,13 @@
+"""
+# KM3NeT Data Definitions v2.2.0-15-g40086db
+https://git.km3net.de/common/km3net-dataformat
+"""
+
+module PMT_STATUS
+  const PMT_DISABLE =  0
+  const HIGH_RATE_VETO_DISABLE =  1
+  const FIFO_FULL_DISABLE =  2
+  const UDP_COUNTER_DISABLE =  3
+  const UDP_TRAILER_DISABLE =  4
+  const OUT_OF_SYNC =  5
+end
diff --git a/src/definitions/reconstruction.jl b/src/definitions/reconstruction.jl
index 3de9a91..65fe2c2 100644
--- a/src/definitions/reconstruction.jl
+++ b/src/definitions/reconstruction.jl
@@ -1,9 +1,9 @@
 """
-# KM3NeT Data Definitions v1.3.1-8-gae7dfb2
+# KM3NeT Data Definitions v2.2.0-15-g40086db
 https://git.km3net.de/common/km3net-dataformat
 """
 
-module Reconstruction
+module RECONSTRUCTION
   const JPP_RECONSTRUCTION_TYPE = 4000
   const JMUONBEGIN = 0
   const JMUONPREFIT = 1
diff --git a/src/definitions/root.jl b/src/definitions/root.jl
new file mode 100644
index 0000000..ff49612
--- /dev/null
+++ b/src/definitions/root.jl
@@ -0,0 +1,47 @@
+"""
+# KM3NeT Data Definitions v2.2.0-15-g40086db
+https://git.km3net.de/common/km3net-dataformat
+"""
+
+module ROOT
+  const TTREE_ONLINE_TIMESLICE =     "KM3NET_TIMESLICE"   
+  const TTREE_ONLINE_TIMESLICEL0 =   "KM3NET_TIMESLICE_L0"
+  const TTREE_ONLINE_TIMESLICEL1 =   "KM3NET_TIMESLICE_L1"
+  const TTREE_ONLINE_TIMESLICEL2 =   "KM3NET_TIMESLICE_L2"
+  const TTREE_ONLINE_TIMESLICESN =   "KM3NET_TIMESLICE_SN"
+  const TTREE_ONLINE_SUMMARYSLICE =  "KM3NET_SUMMARYSLICE"
+  const TTREE_ONLINE_EVENT =         "KM3NET_EVENT"       
+  const TTREE_OFFLINE_EVENT =        "E"                  
+  const TBRANCH_ONLINE_TIMESLICE =     "KM3NET_TIMESLICE"   
+  const TBRANCH_ONLINE_TIMESLICEL0 =   "km3net_timeslice_L0"
+  const TBRANCH_ONLINE_TIMESLICEL1 =   "km3net_timeslice_L1"
+  const TBRANCH_ONLINE_TIMESLICEL2 =   "km3net_timeslice_L2"
+  const TBRANCH_ONLINE_TIMESLICESN =   "km3net_timeslice_SN"
+  const TBRANCH_ONLINE_SUMMARYSLICE =  "KM3NET_SUMMARYSLICE"
+  const TBRANCH_ONLINE_EVENT =         "KM3NET_EVENT"       
+  const TBRANCH_OFFLINE_EVENT =        "Evt"                
+  const COMPRESSION_LEVEL_ONLINE_TIMESLICE =     0
+  const COMPRESSION_LEVEL_ONLINE_TIMESLICEL0 =   0
+  const COMPRESSION_LEVEL_ONLINE_TIMESLICEL1 =   0
+  const COMPRESSION_LEVEL_ONLINE_TIMESLICEL2 =   0
+  const COMPRESSION_LEVEL_ONLINE_TIMESLICESN =   0
+  const COMPRESSION_LEVEL_ONLINE_SUMMARYSLICE =  1
+  const COMPRESSION_LEVEL_ONLINE_EVENT =         0
+  const COMPRESSION_LEVEL_OFFLINE_EVENT =        1
+  const BASKET_SIZE_ONLINE_TIMESLICE =       5000000
+  const BASKET_SIZE_ONLINE_TIMESLICEL0 =   500000000
+  const BASKET_SIZE_ONLINE_TIMESLICEL1 =     5000000
+  const BASKET_SIZE_ONLINE_TIMESLICEL2 =     5000000
+  const BASKET_SIZE_ONLINE_TIMESLICESN =     5000000
+  const BASKET_SIZE_ONLINE_SUMMARYSLICE =    5000000
+  const BASKET_SIZE_ONLINE_EVENT =           5000000
+  const BASKET_SIZE_OFFLINE_EVENT =          5000000
+  const SPLIT_LEVEL_ONLINE_TIMESLICE =     1
+  const SPLIT_LEVEL_ONLINE_TIMESLICEL0 =   2
+  const SPLIT_LEVEL_ONLINE_TIMESLICEL1 =   2
+  const SPLIT_LEVEL_ONLINE_TIMESLICEL2 =   2
+  const SPLIT_LEVEL_ONLINE_TIMESLICESN =   2
+  const SPLIT_LEVEL_ONLINE_SUMMARYSLICE =  1
+  const SPLIT_LEVEL_ONLINE_EVENT =         1
+  const SPLIT_LEVEL_OFFLINE_EVENT =        4
+end
diff --git a/src/definitions/trigger.jl b/src/definitions/trigger.jl
index a9addd3..22adb9d 100644
--- a/src/definitions/trigger.jl
+++ b/src/definitions/trigger.jl
@@ -1,9 +1,9 @@
 """
-# KM3NeT Data Definitions v1.3.1-8-gae7dfb2
+# KM3NeT Data Definitions v2.2.0-15-g40086db
 https://git.km3net.de/common/km3net-dataformat
 """
 
-module Trigger
+module TRIGGER
   const JTRIGGER3DSHOWER = 1
   const JTRIGGERMXSHOWER = 2
   const JTRIGGER3DMUON = 4
diff --git a/src/definitions/trkmembers.jl b/src/definitions/trkmembers.jl
new file mode 100644
index 0000000..aa04f3c
--- /dev/null
+++ b/src/definitions/trkmembers.jl
@@ -0,0 +1,34 @@
+"""
+# KM3NeT Data Definitions v2.2.0-15-g40086db
+https://git.km3net.de/common/km3net-dataformat
+"""
+
+module TRKMEMBERS
+  const TRK_MOTHER_UNDEFINED = -1
+  const TRK_MOTHER_NONE = -2
+  const TRK_ST_UNDEFINED = 0
+  const TRK_ST_FINALSTATE = 1
+  const TRK_ST_PRIMARYNEUTRINO = 100
+  const TRK_ST_PRIMARYCOSMIC = 200
+  const TRK_ST_MUONBUNDLE = 300
+  const TRK_ST_ININUCLEI = 5
+  const TRK_ST_INTERSTATE = 2
+  const TRK_ST_DECSTATE = 3
+  const TRK_ST_NUCTGT = 11
+  const TRK_ST_PREHAD = 12
+  const TRK_ST_PRERES = 13
+  const TRK_ST_HADNUC = 14
+  const TRK_ST_NUCLREM = 15
+  const TRK_ST_NUCLCLT = 16
+  const TRK_ST_FAKECORSIKA = 21
+  const TRK_ST_FAKECORSIKA_DEC_MU_START = 22
+  const TRK_ST_FAKECORSIKA_DEC_MU_END = 23
+  const TRK_ST_FAKECORSIKA_ETA_2GAMMA = 24
+  const TRK_ST_FAKECORSIKA_ETA_3PI0 = 25
+  const TRK_ST_FAKECORSIKA_ETA_PIP_PIM_PI0 = 26
+  const TRK_ST_FAKECORSIKA_ETA_2PI_GAMMA = 27
+  const TRK_ST_FAKECORSIKA_CHERENKOV_GAMMA = 28
+  const TRK_ST_PROPLEPTON = 1001
+  const TRK_ST_PROPDECLEPTON = 2001
+  const PDG_MUONBUNDLE = 81
+end
diff --git a/src/definitions/w2list_genhen.jl b/src/definitions/w2list_genhen.jl
index 7e20a62..980ca46 100644
--- a/src/definitions/w2list_genhen.jl
+++ b/src/definitions/w2list_genhen.jl
@@ -1,9 +1,9 @@
 """
-# KM3NeT Data Definitions v1.3.1-8-gae7dfb2
+# KM3NeT Data Definitions v2.2.0-15-g40086db
 https://git.km3net.de/common/km3net-dataformat
 """
 
-module W2list_genhen
+module W2LIST_GENHEN
   const W2LIST_GENHEN_GLOBAL_GEN_WEIGHT = 0
   const W2LIST_GENHEN_EG = 1
   const W2LIST_GENHEN_SIG = 2
diff --git a/src/definitions/w2list_gseagen.jl b/src/definitions/w2list_gseagen.jl
index 55a834f..1db3fde 100644
--- a/src/definitions/w2list_gseagen.jl
+++ b/src/definitions/w2list_gseagen.jl
@@ -1,9 +1,9 @@
 """
-# KM3NeT Data Definitions v1.3.1-8-gae7dfb2
+# KM3NeT Data Definitions v2.2.0-15-g40086db
 https://git.km3net.de/common/km3net-dataformat
 """
 
-module W2list_gseagen
+module W2LIST_GSEAGEN
   const W2LIST_GSEAGEN_PS = 0
   const W2LIST_GSEAGEN_EG = 1
   const W2LIST_GSEAGEN_XSEC_MEAN = 2
@@ -23,4 +23,8 @@ module W2list_gseagen
   const W2LIST_GSEAGEN_TARGETZ = 16
   const W2LIST_GSEAGEN_VERINCAN = 17
   const W2LIST_GSEAGEN_LEPINCAN = 18
+  const W2LIST_GSEAGEN_N_RETRIES = 19
+  const W2LIST_GSEAGEN_CUSTOM_YAW = 20
+  const W2LIST_GSEAGEN_CUSTOM_PITCH = 21
+  const W2LIST_GSEAGEN_CUSTOM_ROLL = 22
 end
diff --git a/src/definitions/w2list_km3buu.jl b/src/definitions/w2list_km3buu.jl
new file mode 100644
index 0000000..bffa321
--- /dev/null
+++ b/src/definitions/w2list_km3buu.jl
@@ -0,0 +1,25 @@
+"""
+# KM3NeT Data Definitions v2.2.0-15-g40086db
+https://git.km3net.de/common/km3net-dataformat
+"""
+
+module W2LIST_KM3BUU
+  const W2LIST_KM3BUU_PS = 0
+  const W2LIST_KM3BUU_EG = 1
+  const W2LIST_KM3BUU_XSEC_MEAN = 2
+  const W2LIST_KM3BUU_COLUMN_DEPTH = 3
+  const W2LIST_KM3BUU_P_EARTH = 4
+  const W2LIST_KM3BUU_WATER_INT_LEN = 5
+  const W2LIST_KM3BUU_BX = 7
+  const W2LIST_KM3BUU_BY = 8
+  const W2LIST_KM3BUU_ICHAN = 9
+  const W2LIST_KM3BUU_CC = 10
+  const W2LIST_KM3BUU_XSEC = 13
+  const W2LIST_KM3BUU_DXSEC = 14
+  const W2LIST_KM3BUU_TARGETA = 15
+  const W2LIST_KM3BUU_TARGETZ = 16
+  const W2LIST_KM3BUU_VERINCAN = 17
+  const W2LIST_KM3BUU_LEPINCAN = 18
+  const W2LIST_KM3BUU_GIBUU_WEIGHT = 23
+  const W2LIST_KM3BUU_GIBUU_SCAT_TYPE = 24
+end
diff --git a/src/definitions/weightlist.jl b/src/definitions/weightlist.jl
new file mode 100644
index 0000000..d42a82e
--- /dev/null
+++ b/src/definitions/weightlist.jl
@@ -0,0 +1,14 @@
+"""
+# KM3NeT Data Definitions v2.2.0-15-g40086db
+https://git.km3net.de/common/km3net-dataformat
+"""
+
+module WEIGHTLIST
+  const WEIGHTLIST_GENERATION_AREA = 0
+  const WEIGHTLIST_GENERATION_VOLUME = 0
+  const WEIGHTLIST_DIFFERENTIAL_EVENT_RATE = 1
+  const WEIGHTLIST_EVENT_RATE = 2
+  const WEIGHTLIST_NORMALISATION = 3
+  const WEIGHTLIST_RESCALED_EVENT_RATE = 4
+  const WEIGHTLIST_RUN_BY_RUN_WEIGHT = 5
+end
diff --git a/src/io/root.jl b/src/io/root.jl
index 652cfbb..67f93e4 100644
--- a/src/io/root.jl
+++ b/src/io/root.jl
@@ -118,14 +118,14 @@ end
 
 
 # Triggers
-is3dmuon(e::DAQEvent) = nthbitset(Trigger.JTRIGGER3DMUON, e.trigger_mask)
-is3dshower(e::DAQEvent) = nthbitset(Trigger.JTRIGGER3DSHOWER, e.trigger_mask)
-ismxshower(e::DAQEvent) = nthbitset(Trigger.JTRIGGERMXSHOWER, e.trigger_mask)
-isnb(e::DAQEvent) = nthbitset(Trigger.JTRIGGERNB, e.trigger_mask)
-is3dmuon(x) = nthbitset(Trigger.JTRIGGER3DMUON, x)
-is3dshower(x) = nthbitset(Trigger.JTRIGGER3DSHOWER, x)
-ismxshower(x) = nthbitset(Trigger.JTRIGGERMXSHOWER, x)
-isnb(x) = nthbitset(Trigger.JTRIGGERNB, x)
+is3dmuon(e::DAQEvent) = nthbitset(TRIGGER.JTRIGGER3DMUON, e.trigger_mask)
+is3dshower(e::DAQEvent) = nthbitset(TRIGGER.JTRIGGER3DSHOWER, e.trigger_mask)
+ismxshower(e::DAQEvent) = nthbitset(TRIGGER.JTRIGGERMXSHOWER, e.trigger_mask)
+isnb(e::DAQEvent) = nthbitset(TRIGGER.JTRIGGERNB, e.trigger_mask)
+is3dmuon(x) = nthbitset(TRIGGER.JTRIGGER3DMUON, x)
+is3dshower(x) = nthbitset(TRIGGER.JTRIGGER3DSHOWER, x)
+ismxshower(x) = nthbitset(TRIGGER.JTRIGGERMXSHOWER, x)
+isnb(x) = nthbitset(TRIGGER.JTRIGGERNB, x)
 @deprecate is_3dmuon is3dmuon
 @deprecate is_3dshower is3dshower
 @deprecate is_mxshower ismxshower
-- 
GitLab