From 1bf5501ba44b83a33fa86098fbe26fd99c55c1c3 Mon Sep 17 00:00:00 2001 From: MathieuOuillon Date: Thu, 8 Jan 2026 13:01:38 -0500 Subject: [PATCH] feat(ALERTEngine): initialize ATOF detector and check that there are 5 interclusters for the prediction --- .../main/java/org/jlab/service/alert/ALERTEngine.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/reconstruction/alert/src/main/java/org/jlab/service/alert/ALERTEngine.java b/reconstruction/alert/src/main/java/org/jlab/service/alert/ALERTEngine.java index 6a54552d8..a52bb33c2 100644 --- a/reconstruction/alert/src/main/java/org/jlab/service/alert/ALERTEngine.java +++ b/reconstruction/alert/src/main/java/org/jlab/service/alert/ALERTEngine.java @@ -46,6 +46,8 @@ public class ALERTEngine extends ReconstructionEngine { */ private RecoBankWriter rbc; + Detector ATOF; // ALERT ATOF detector + /** * Current run number being processed. * TODO: why atomic here and nowhere else? @@ -82,6 +84,10 @@ public boolean init() { modelTrackMatching = new ModelTrackMatching(); + AlertTOFFactory factory = new AlertTOFFactory(); + DatabaseConstantProvider cp = new DatabaseConstantProvider(11, "default"); + ATOF = factory.createDetectorCLAS(cp); + if(this.getEngineConfigString("Mode")!=null) { //if (Objects.equals(this.getEngineConfigString("Mode"), Mode.AI_Track_Finding.name())) // mode = Mode.AI_Track_Finding; @@ -160,11 +166,9 @@ public boolean processDataEvent(DataEvent event) { interClusters.add(new Pair<>(x, y)); } } + if (interClusters.size() != 5) continue; try { - AlertTOFFactory factory = new AlertTOFFactory(); - DatabaseConstantProvider cp = new DatabaseConstantProvider(11, "default"); - Detector ATOF = factory.createDetectorCLAS(cp); float[] pred = modelTrackMatching.prediction(interClusters); int sector_pred = (int) pred[0];