From 36acbae9aa297651844704d637417c3378e2912c Mon Sep 17 00:00:00 2001
From: Maxim Gonchar <maxim.mg.gonchar@gmail.com>
Date: Thu, 25 May 2023 14:44:49 +0300
Subject: [PATCH] feat: add integration orders

---
 models/dayabay_v0.py | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/models/dayabay_v0.py b/models/dayabay_v0.py
index a42d278..ff209db 100644
--- a/models/dayabay_v0.py
+++ b/models/dayabay_v0.py
@@ -56,16 +56,28 @@ def model_dayabay_v0():
         #
         # Create nodes
         #
+        labels = LoadYaml(datasource/'labels.yaml')
+        nodes = storage.child('nodes')
+
         from dagflow.lib.Array import Array
         from dagflow.lib.View import View
         from numpy import linspace
-        labels = LoadYaml(datasource/'labels.yaml')
-        energy_common=Array.store("edges.energy_common", linspace(0, 12, 241), label_from=labels)
-        energy_evis=View.store("edges.energy_evis", label_from=labels)
-        energy_common >> energy_evis
+        edges_costheta=Array.make_stored("edges.costheta", linspace(0, 1, 5), label_from=labels)
+        edges_energy_common=Array.make_stored("edges.energy_common", linspace(0, 12, 241), label_from=labels)
+        edges_energy_evis=View.make_stored("edges.energy_evis", label_from=labels)
+        edges_energy_enu=View.make_stored("edges.energy_enu", label_from=labels)
+        edges_energy_common >> edges_energy_evis
+        edges_energy_common >> edges_energy_enu
+
+        from dagflow.lib.IntegratorGroup import IntegratorGroup
+        integration_orders_e=Array.from_value("integration.ordersx", 4, edges=edges_energy_common, label_from=labels)
+        integration_orders_costheta=Array.from_value("integration.ordersy", 4, edges=edges_costheta, label_from=labels)
+        nodes['integrator'] = (integrator:=IntegratorGroup('2d'))
+        integration_orders_e >> integrator.inputs["ordersX"]
+        integration_orders_costheta >> integrator.inputs["ordersY"]
 
     storage.read_paths()
-    storage('outputs').plot(close=False, show=True)
+    storage('outputs').plot(show_all=True)
 
     storage['parameter.normalized.detector.eres.b_stat'].value = 1
     storage['parameter.normalized.detector.eres.a_nonuniform'].value = 2
-- 
GitLab