From d9a95336c446ebc64d618f45ece9ee47bef490a8 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 21 Aug 2026 18:31:08 -0400 Subject: [PATCH 1/3] update uber engines for DC AI 2026 --- reconstruction/uber/pom.xml | 5 +++ .../main/java/org/jlab/service/uber/Uber.java | 44 +++++++++++++++++-- 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/reconstruction/uber/pom.xml b/reconstruction/uber/pom.xml index 575c48a224..ba288629a9 100644 --- a/reconstruction/uber/pom.xml +++ b/reconstruction/uber/pom.xml @@ -24,6 +24,11 @@ swim-tools 14.1.3-SNAPSHOT + + org.jlab.clas12.detector + clas12detector-ai + 14.1.3-SNAPSHOT + org.jlab.clas12.detector clas12detector-dc diff --git a/reconstruction/uber/src/main/java/org/jlab/service/uber/Uber.java b/reconstruction/uber/src/main/java/org/jlab/service/uber/Uber.java index e3aac26011..a3d16c92e6 100644 --- a/reconstruction/uber/src/main/java/org/jlab/service/uber/Uber.java +++ b/reconstruction/uber/src/main/java/org/jlab/service/uber/Uber.java @@ -29,7 +29,10 @@ import org.jlab.service.mltn.MLTDEngine; import org.jlab.service.rtpc.RTPCEngine; import org.jlab.calibration.service.CalibBanksEngine; +import org.jlab.service.ai.DCClsComboEngine; +import org.jlab.service.ai.DCDenoiseEngine; import org.jlab.service.dc.DCHBPostClusterConv; +import org.jlab.service.dc.DCHBTrackingAI; import org.jlab.service.dc.DCTBEngineAI; import org.jlab.service.eb.EBHBAIEngine; import org.jlab.service.eb.EBTBAIEngine; @@ -82,8 +85,8 @@ public HitBasedCV() { } } - public static class HitBasedAI extends UberEngine { - public HitBasedAI() { + public static class HitBasedAIClassic extends UberEngine { + public HitBasedAIClassic() { super("HB","uber","1.0"); add(new DCHBClustering(), new MLTDEngine(), @@ -97,8 +100,24 @@ public HitBasedAI() { } } - public static class HitBasedAICV extends UberEngine { - public HitBasedAICV() { + public static class HitBasedAI extends UberEngine { + public HitBasedAI() { + super("HB","uber","1.0"); + add(new DCDenoiseEngine(), + new DCHBClustering(), + new DCClsComboEngine(), + new DCHBTrackingAI("HB"), + new BANDEngine(), + new HTCCReconstructionService(), + new LTCCEngine(), + new FTOFHBEngine(), + new ECEngine(), + new EBHBEngine()); + } + } + + public static class HitBasedAIClassicCV extends UberEngine { + public HitBasedAIClassicCV() { super("HB","uber","1.0"); add(new DCHBClustering(), new MLTDEngine(), @@ -114,6 +133,23 @@ public HitBasedAICV() { } } + public static class HitBasedAICV extends UberEngine { + public HitBasedAICV() { + super("HB","uber","1.0"); + add(new DCDenoiseEngine(), + new DCHBClustering(), + new DCHBPostClusterConv(), + new DCHBTrackingAI("AI"), + new BANDEngine(), + new HTCCReconstructionService(), + new LTCCEngine(), + new FTOFHBEngine(), + new ECEngine(), + new EBHBEngine(), + new EBHBAIEngine()); + } + } + public static class TimeBasedCV extends UberEngine { public TimeBasedCV() { super("TB","uber","1.0"); From ffdb77c5ec64731e64047f8210871eb742602d71 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 21 Aug 2026 18:31:17 -0400 Subject: [PATCH 2/3] rename yamls --- .../{data-ai-2026.yaml => data-ai-classic.yaml} | 15 +++++++-------- etc/services/data-ai.yaml | 15 ++++++++------- 2 files changed, 15 insertions(+), 15 deletions(-) rename etc/services/{data-ai-2026.yaml => data-ai-classic.yaml} (91%) diff --git a/etc/services/data-ai-2026.yaml b/etc/services/data-ai-classic.yaml similarity index 91% rename from etc/services/data-ai-2026.yaml rename to etc/services/data-ai-classic.yaml index 80fccf0326..38c26c7e42 100644 --- a/etc/services/data-ai-2026.yaml +++ b/etc/services/data-ai-classic.yaml @@ -20,18 +20,15 @@ services: name: FTEB - class: org.jlab.service.raster.RasterEngine name: RASTER -# DC denoising - - class: org.jlab.service.ai.DCDenoiseEngine - name: DCDN # DC clustering: nominal algoritm, filled the cluster bank for ai and conventional tracking - class: org.jlab.service.dc.DCHBClustering name: DCCR # This is where the AI plugin would go. THe AI code reads the HB clusters. - - class: org.jlab.service.ai.DCClsComboEngine - name: DCCC + - class: org.jlab.service.mltn.MLTDEngine + name: MLTD # DC using clustering on AI hits: NN assisted HB tracking - - class: org.jlab.service.dc.DCHBTrackingAI - name: DCHTAI + - class: org.jlab.service.dc.DCHBPostClusterAI + name: DCHAI - class: org.jlab.service.ftof.FTOFHBEngine name: FTOFHB - class: org.jlab.service.ec.ECEngine @@ -82,7 +79,9 @@ configuration: MAGFIELDS: magfieldSolenoidMap: Symm_solenoid_r601_phi1_z1201_13June2018.dat magfieldTorusMap: Full_torus_r251_phi181_z251_25Jan2021.dat - DCHTAI: + MLTD: + run: "6302" + DCHAI: outputBankPrefix: "HB" mime-types: diff --git a/etc/services/data-ai.yaml b/etc/services/data-ai.yaml index 38c26c7e42..80fccf0326 100644 --- a/etc/services/data-ai.yaml +++ b/etc/services/data-ai.yaml @@ -20,15 +20,18 @@ services: name: FTEB - class: org.jlab.service.raster.RasterEngine name: RASTER +# DC denoising + - class: org.jlab.service.ai.DCDenoiseEngine + name: DCDN # DC clustering: nominal algoritm, filled the cluster bank for ai and conventional tracking - class: org.jlab.service.dc.DCHBClustering name: DCCR # This is where the AI plugin would go. THe AI code reads the HB clusters. - - class: org.jlab.service.mltn.MLTDEngine - name: MLTD + - class: org.jlab.service.ai.DCClsComboEngine + name: DCCC # DC using clustering on AI hits: NN assisted HB tracking - - class: org.jlab.service.dc.DCHBPostClusterAI - name: DCHAI + - class: org.jlab.service.dc.DCHBTrackingAI + name: DCHTAI - class: org.jlab.service.ftof.FTOFHBEngine name: FTOFHB - class: org.jlab.service.ec.ECEngine @@ -79,9 +82,7 @@ configuration: MAGFIELDS: magfieldSolenoidMap: Symm_solenoid_r601_phi1_z1201_13June2018.dat magfieldTorusMap: Full_torus_r251_phi181_z251_25Jan2021.dat - MLTD: - run: "6302" - DCHAI: + DCHTAI: outputBankPrefix: "HB" mime-types: From df17d5229d069fc2a79a249e778ae832077b637a Mon Sep 17 00:00:00 2001 From: Raffaella De Vita Date: Fri, 28 Aug 2026 17:27:03 -0400 Subject: [PATCH 3/3] completing the transition to the new DC AI engines in yamls and uber services --- etc/services/README.md | 1 - etc/services/data-aicv.yaml | 18 ++++++--------- etc/services/denoise.yaml | 23 ++++++++----------- etc/services/eb.yaml | 2 -- .../main/java/org/jlab/service/uber/Uber.java | 1 + 5 files changed, 17 insertions(+), 28 deletions(-) diff --git a/etc/services/README.md b/etc/services/README.md index 5815034a31..d684f8f0f4 100644 --- a/etc/services/README.md +++ b/etc/services/README.md @@ -2,7 +2,6 @@ * Real Data * Warning, these must be set appropriately for the data in question: * the CCDB variation - * the run number for MLTD/MLTAI network * [`data-ai.yaml`](data-ai.yaml) * AI track finding * [`data-cv.yaml`](data-cv.yaml) diff --git a/etc/services/data-aicv.yaml b/etc/services/data-aicv.yaml index 7e62bcc414..a5f362aa11 100644 --- a/etc/services/data-aicv.yaml +++ b/etc/services/data-aicv.yaml @@ -20,18 +20,16 @@ services: name: FTEB - class: org.jlab.service.raster.RasterEngine name: RASTER -# DC clustering: nominal algoritm, filled the cluster bank for ai and conventional tracking +# - class: org.jlab.service.ai.DCDenoiseEngine +# name: DCDN - class: org.jlab.service.dc.DCHBClustering name: DCCR -# This is where the AI plugin would go. THe AI code reads the HB clusters. - - class: org.jlab.service.mltn.MLTDEngine - name: MLTD -# DC using clustering: regular HB tracking + - class: org.jlab.service.ai.DCClsComboEngine + name: DCCC - class: org.jlab.service.dc.DCHBPostClusterConv name: DCHB -# DC using clustering on AI hits: NN assisted HB tracking - - class: org.jlab.service.dc.DCHBPostClusterAI - name: DCHAI + - class: org.jlab.service.dc.DCHBTrackingAI + name: DCHTAI - class: org.jlab.service.ftof.FTOFHBEngine name: FTOFHB - class: org.jlab.service.ec.ECEngine @@ -91,12 +89,10 @@ configuration: MAGFIELDS: magfieldSolenoidMap: Symm_solenoid_r601_phi1_z1201_13June2018.dat magfieldTorusMap: Full_torus_r251_phi181_z251_25Jan2021.dat - DCHAI: + DCHTAI: outputBankPrefix: "AI" DCTAI: outputBankPrefix: "AI" - MLTD: - run: "6302" EBTAI: outputBankPrefix: "RECAI" diff --git a/etc/services/denoise.yaml b/etc/services/denoise.yaml index 46a0cca21d..b89f15b369 100644 --- a/etc/services/denoise.yaml +++ b/etc/services/denoise.yaml @@ -20,21 +20,19 @@ services: name: FTEB - class: org.jlab.service.raster.RasterEngine name: RASTER -# DC clustering: nominal algoritm, filled the cluster bank for ai and conventional tracking + - class: org.jlab.service.ai.DCDenoiseEngine + name: DCDN - class: org.jlab.service.dc.DCHBClustering name: DCCR - class: org.jlab.service.dc.DCHBClustering name: DCRAI -# This is where the AI plugin would go. THe AI code reads the HB clusters. - - class: org.jlab.service.mltn.MLTDEngine - name: MLTD - - class: org.jlab.service.mltn.MLTDEngine - name: MLTAI -# DC using clustering: regular HB tracking - - class: org.jlab.service.dc.DCHBPostClusterAI + - class: org.jlab.service.ai.DCClsComboEngine + name: DCCC + - class: org.jlab.service.ai.DCClsComboEngine + name: DCCAI + - class: org.jlab.service.dc.DCHBTrackingAI name: DCHB -# DC using clustering on AI hits: NN assisted HB tracking - - class: org.jlab.service.dc.DCHBPostClusterAI + - class: org.jlab.service.dc.DCHBTrackingAI name: DCHAI - class: org.jlab.service.ftof.FTOFHBEngine name: FTOFHB @@ -99,10 +97,7 @@ configuration: #rawBankGroup: "DEFAULT" rawBankGroup: "NOISE1" outputBankPrefix: "DN" - MLTD: - run: "6302" - MLTAI: - run: "6302" + DCCAI: inputBankPrefix: "DN" outputBankPrefix: "aidn" DCHB: diff --git a/etc/services/eb.yaml b/etc/services/eb.yaml index 76109a39e6..84745172e7 100644 --- a/etc/services/eb.yaml +++ b/etc/services/eb.yaml @@ -6,8 +6,6 @@ io-services: class: org.jlab.io.clara.Clas12Writer name: Clas12Writer services: - - class: org.jlab.clas.reco.DecoderEngine - name: DECO - class: org.jlab.service.eb.EBTBEngine name: EBTB configuration: diff --git a/reconstruction/uber/src/main/java/org/jlab/service/uber/Uber.java b/reconstruction/uber/src/main/java/org/jlab/service/uber/Uber.java index a3d16c92e6..7258743b09 100644 --- a/reconstruction/uber/src/main/java/org/jlab/service/uber/Uber.java +++ b/reconstruction/uber/src/main/java/org/jlab/service/uber/Uber.java @@ -138,6 +138,7 @@ public HitBasedAICV() { super("HB","uber","1.0"); add(new DCDenoiseEngine(), new DCHBClustering(), + new DCClsComboEngine(), new DCHBPostClusterConv(), new DCHBTrackingAI("AI"), new BANDEngine(),