From 81a379b537a78fb6bc7dae4633fd3b838bdb1d79 Mon Sep 17 00:00:00 2001 From: tongtongcao Date: Fri, 23 Oct 2026 12:37:14 -0400 Subject: [PATCH 1/3] add an option for input bank in the serivce for AI DC track finding --- .../java/org/jlab/service/ai/DCClsComboEngine.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/reconstruction/ai/src/main/java/org/jlab/service/ai/DCClsComboEngine.java b/reconstruction/ai/src/main/java/org/jlab/service/ai/DCClsComboEngine.java index dc08ac1ee1..31c8784e02 100644 --- a/reconstruction/ai/src/main/java/org/jlab/service/ai/DCClsComboEngine.java +++ b/reconstruction/ai/src/main/java/org/jlab/service/ai/DCClsComboEngine.java @@ -32,11 +32,14 @@ import org.jlab.rec.ai.dcCluster.DCClusterCombo; public class DCClsComboEngine extends ReconstructionEngine { - String inputBank = "HitBasedTrkg::Clusters"; + + final static String INPUT_BANK_PREFIX = "inputBankPrefix"; + String inputBank = "HitBasedTrkg::Clusters"; + String outputBank = "ai::tracks"; final static String CONF_THREADS = "threads"; - + final static String LIMIT_CLSCOMBOS_PERSECTOR = "limitClsCombosPerSector"; int limitClsCombosPerSector = (int)1e5; @@ -75,6 +78,11 @@ public boolean init() { System.setProperty("ai.djl.pytorch.num_threads", "1"); System.setProperty("ai.djl.pytorch.graph_optimizer", "false"); + if (getEngineConfigString(INPUT_BANK_PREFIX) != null){ + String inputBankPrefix = getEngineConfigString(INPUT_BANK_PREFIX); + if(inputBankPrefix.equals("DN")) inputBank = "HitBasedTrkg::DNClusters"; + } + int threads = Integer.parseInt(getEngineConfigString(CONF_THREADS,"64")); if (getEngineConfigString(LIMIT_CLSCOMBOS_PERSECTOR) != null) From 3b9b9ef25e59ed3625905898daa05b58ae4de2b5 Mon Sep 17 00:00:00 2001 From: tongtongcao Date: Tue, 27 Oct 2026 15:50:17 -0400 Subject: [PATCH 2/3] use the common CONF_ prefix for the names of configuration strings --- .../java/org/jlab/service/ai/DCClsComboEngine.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/reconstruction/ai/src/main/java/org/jlab/service/ai/DCClsComboEngine.java b/reconstruction/ai/src/main/java/org/jlab/service/ai/DCClsComboEngine.java index 31c8784e02..2d9f4c2971 100644 --- a/reconstruction/ai/src/main/java/org/jlab/service/ai/DCClsComboEngine.java +++ b/reconstruction/ai/src/main/java/org/jlab/service/ai/DCClsComboEngine.java @@ -33,14 +33,14 @@ public class DCClsComboEngine extends ReconstructionEngine { - final static String INPUT_BANK_PREFIX = "inputBankPrefix"; + final static String CONF_INPUT_BANK_PREFIX = "inputBankPrefix"; String inputBank = "HitBasedTrkg::Clusters"; String outputBank = "ai::tracks"; final static String CONF_THREADS = "threads"; - final static String LIMIT_CLSCOMBOS_PERSECTOR = "limitClsCombosPerSector"; + final static String CONF_LIMIT_CLSCOMBOS_PERSECTOR = "limitClsCombosPerSector"; int limitClsCombosPerSector = (int)1e5; final static String CONF_MODEL_FILE_6CLS = "modelFile6Cls"; @@ -78,15 +78,15 @@ public boolean init() { System.setProperty("ai.djl.pytorch.num_threads", "1"); System.setProperty("ai.djl.pytorch.graph_optimizer", "false"); - if (getEngineConfigString(INPUT_BANK_PREFIX) != null){ - String inputBankPrefix = getEngineConfigString(INPUT_BANK_PREFIX); + if (getEngineConfigString(CONF_INPUT_BANK_PREFIX) != null){ + String inputBankPrefix = getEngineConfigString(CONF_INPUT_BANK_PREFIX); if(inputBankPrefix.equals("DN")) inputBank = "HitBasedTrkg::DNClusters"; } int threads = Integer.parseInt(getEngineConfigString(CONF_THREADS,"64")); - if (getEngineConfigString(LIMIT_CLSCOMBOS_PERSECTOR) != null) - limitClsCombosPerSector = Integer.parseInt(getEngineConfigString(LIMIT_CLSCOMBOS_PERSECTOR)); + if (getEngineConfigString(CONF_LIMIT_CLSCOMBOS_PERSECTOR) != null) + limitClsCombosPerSector = Integer.parseInt(getEngineConfigString(CONF_LIMIT_CLSCOMBOS_PERSECTOR)); if (getEngineConfigString(CONF_THRESHOLD_6CLS) != null) threshold6Cls = Float.parseFloat(getEngineConfigString(CONF_THRESHOLD_6CLS)); From 0a5377292d888f8058c271cd5a8f08d22342fb02 Mon Sep 17 00:00:00 2001 From: tongtongcao Date: Tue, 27 Oct 2026 17:57:53 -0400 Subject: [PATCH 3/3] set option for out bank --- .../src/main/java/org/jlab/service/ai/DCClsComboEngine.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/reconstruction/ai/src/main/java/org/jlab/service/ai/DCClsComboEngine.java b/reconstruction/ai/src/main/java/org/jlab/service/ai/DCClsComboEngine.java index 2d9f4c2971..e1b3060ce3 100644 --- a/reconstruction/ai/src/main/java/org/jlab/service/ai/DCClsComboEngine.java +++ b/reconstruction/ai/src/main/java/org/jlab/service/ai/DCClsComboEngine.java @@ -36,6 +36,7 @@ public class DCClsComboEngine extends ReconstructionEngine { final static String CONF_INPUT_BANK_PREFIX = "inputBankPrefix"; String inputBank = "HitBasedTrkg::Clusters"; + final static String CONF_OUTPUT_BANK_PREFIX = "outputBankPrefix"; String outputBank = "ai::tracks"; final static String CONF_THREADS = "threads"; @@ -83,6 +84,11 @@ public boolean init() { if(inputBankPrefix.equals("DN")) inputBank = "HitBasedTrkg::DNClusters"; } + if (getEngineConfigString(CONF_OUTPUT_BANK_PREFIX) != null){ + String outBankPrefix = getEngineConfigString(CONF_OUTPUT_BANK_PREFIX); + if(outBankPrefix.equals("aidn")) inputBank = "aidn::tracks"; + } + int threads = Integer.parseInt(getEngineConfigString(CONF_THREADS,"64")); if (getEngineConfigString(CONF_LIMIT_CLSCOMBOS_PERSECTOR) != null)