From 530131ccfc48dc08b22c3513ce25bb6e025041e0 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 16 Aug 2024 16:09:27 -0400 Subject: [PATCH 01/10] add convenience method, cleanup --- .../java/org/jlab/clas/reco/ReconstructionEngine.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/common-tools/clas-reco/src/main/java/org/jlab/clas/reco/ReconstructionEngine.java b/common-tools/clas-reco/src/main/java/org/jlab/clas/reco/ReconstructionEngine.java index 55541cfdd3..8a4e88a62b 100644 --- a/common-tools/clas-reco/src/main/java/org/jlab/clas/reco/ReconstructionEngine.java +++ b/common-tools/clas-reco/src/main/java/org/jlab/clas/reco/ReconstructionEngine.java @@ -137,12 +137,12 @@ public ConstantsManager getConstantsManager(){ return constManagerMap.get(this.getClass().getName()); } + public String getEngineConfigString(String key, String def) { + return engineConfigMap.containsKey(key) ? engineConfigMap.get(key) : def; + } + public String getEngineConfigString(String key) { - String val=null; - if (this.engineConfigMap.containsKey(key)) { - val=this.engineConfigMap.get(key); - } - return val; + return getEngineConfigString(key, null); } /** From e3bfb66c90f796624c44d7ad1feece58ac99c443 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 16 Aug 2024 16:11:07 -0400 Subject: [PATCH 02/10] add background merging service --- reconstruction/bg/pom.xml | 40 ++++++++++ .../org/jlab/service/bg/BackgroundEngine.java | 75 +++++++++++++++++++ reconstruction/pom.xml | 1 + 3 files changed, 116 insertions(+) create mode 100644 reconstruction/bg/pom.xml create mode 100644 reconstruction/bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java diff --git a/reconstruction/bg/pom.xml b/reconstruction/bg/pom.xml new file mode 100644 index 0000000000..eaadf67071 --- /dev/null +++ b/reconstruction/bg/pom.xml @@ -0,0 +1,40 @@ + + + 4.0.0 + + org.jlab.clas12.detector + clas12detector-bg + 1.0-SNAPSHOT + jar + + + org.jlab.clas + clas12rec + ../../parent/pom.xml + 11.0.0-SNAPSHOT + + + + + + org.jlab.clas + clas-io + 11.0.0-SNAPSHOT + + + + org.jlab.clas + clas-reco + 11.0.0-SNAPSHOT + + + + org.jlab.clas + clas-analysis + 11.0.0-SNAPSHOT + + + + diff --git a/reconstruction/bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java b/reconstruction/bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java new file mode 100644 index 0000000000..eccb52078a --- /dev/null +++ b/reconstruction/bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java @@ -0,0 +1,75 @@ +package org.jlab.service.bg; + +import java.io.File; +import java.util.LinkedList; +import java.util.logging.Level; +import java.util.logging.Logger; +import org.jlab.analysis.eventmerger.EventMerger; +import org.jlab.clas.reco.ReconstructionEngine; +import org.jlab.io.base.DataEvent; +import org.jlab.io.hipo.HipoDataSource; + +/** + * + * @author baltzell + */ +public class BackgroundEngine extends ReconstructionEngine { + + public static final String CONF_FILENAME = "filename"; + public static final String CONF_DETECTORS = "detectors"; + public static final String CONF_ORDERS = "orders"; + public static final String CONF_SUPPRESS_DOUBLES = "suppressDoubles"; + public static final String CONF_PRESERVE_ORDER = "preserveOrder"; + + static final Logger logger = Logger.getLogger(BackgroundEngine.class.getName()); + + EventMerger merger = null; + HipoDataSource reader = null; + LinkedList filenames = new LinkedList<>(); + + public BackgroundEngine() { + super("BG", "baltzell", "1.0"); + } + + @Override + public boolean init() { + String filename = getEngineConfigString(CONF_FILENAME); + if (filename == null) { + logger.severe("BackgroundEngine:: filename undefined."); + return false; + } + File f = new File(filename); + if (!f.exists() || !f.isFile() || !f.canRead()) { + logger.log(Level.SEVERE,"BackgroundEngine:: filename {} invalid: ",filename); + return false; + } + filenames.add(filename); + String detectors = getEngineConfigString(CONF_DETECTORS,"DC,FTOF"); + String orders = getEngineConfigString(CONF_ORDERS,"NOMINAL"); + Boolean suppressDoubles = Boolean.getBoolean(getEngineConfigString(CONF_SUPPRESS_DOUBLES,"true")); + Boolean preserveOrder = Boolean.getBoolean(getEngineConfigString(CONF_PRESERVE_ORDER,"true")); + logger.log(Level.INFO,"BackgroundEngine:: reading {0}",filename); + merger = new EventMerger(detectors.split(","), orders.split(","), suppressDoubles, preserveOrder); + reader = new HipoDataSource(); + reader.open(getEngineConfigString(CONF_FILENAME)); + return true; + } + + synchronized public DataEvent getBackgroundEvent() { + if (reader.hasEvent()) return reader.getNextEvent(); + String filename = filenames.remove(); + filenames.add(filename); + reader = new HipoDataSource(); + reader.open(filename); + return reader.getNextEvent(); + } + + @Override + public boolean processDataEvent(DataEvent event) { + DataEvent a = getBackgroundEvent(); + DataEvent b = getBackgroundEvent(); + merger.mergeEvents(event, a, b); + return true; + } + +} diff --git a/reconstruction/pom.xml b/reconstruction/pom.xml index f34336a7be..368fdfcaaa 100644 --- a/reconstruction/pom.xml +++ b/reconstruction/pom.xml @@ -34,5 +34,6 @@ vtx urwell alert + bg From 2c366e72f5e047436291879d62c49acd0868c95b Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 16 Aug 2024 16:20:31 -0400 Subject: [PATCH 03/10] plug bgmerging into recon-util --- .../java/org/jlab/clas/reco/EngineProcessor.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/common-tools/clas-reco/src/main/java/org/jlab/clas/reco/EngineProcessor.java b/common-tools/clas-reco/src/main/java/org/jlab/clas/reco/EngineProcessor.java index 97602d06c9..095d670393 100644 --- a/common-tools/clas-reco/src/main/java/org/jlab/clas/reco/EngineProcessor.java +++ b/common-tools/clas-reco/src/main/java/org/jlab/clas/reco/EngineProcessor.java @@ -98,7 +98,7 @@ public void initDefault(){ public void initAll(){ String[] names = new String[]{ - "MAGFIELDS", + "MAGFIELDS","BG", "FTCAL", "FTHODO", "FTTRK", "FTEB", "URWELL", "DCCR", "DCHB","FTOFHB","EC","RASTER", "CVTFP","CTOF","CND","BAND", @@ -109,6 +109,7 @@ public void initAll(){ String[] services = new String[]{ "org.jlab.clas.swimtools.MagFieldsEngine", + "org.jlab.service.bg.BackgroundEngine", "org.jlab.rec.ft.cal.FTCALEngine", "org.jlab.rec.ft.hodo.FTHODOEngine", "org.jlab.rec.ft.trk.FTTRKEngine", @@ -324,7 +325,7 @@ public static void main(String[] args){ parser.addOption("-u","true","update dictionary from writer ? "); parser.addOption("-d","1","Debug level [0 - OFF, 1 - ON/default]"); parser.addOption("-S",null,"schema directory"); - parser.setDescription("previously known as notsouseful-util"); + parser.addOption("-B",null,"background file"); parser.parse(args); @@ -380,6 +381,17 @@ else if (config>0){ if (parser.getOption("-S").stringValue() != null) proc.setBanksToKeep(parser.getOption("-S").stringValue()); + // command-line filename for background merging overrides YAML: + if (parser.getOption("-B").stringValue() != null) { + if (proc.processorEngines.containsKey("org.jlab.service.bg.BackgroundEngine")) { + proc.processorEngines.get("org.jlab.service.bg.BackgroundEngine") + .engineConfigMap.put("filename", parser.getOption("-B").stringValue()); + } else { + LOGGER.severe("ERROR: -B background file specified without BackgroundEngine."); + System.exit(11); + } + } + proc.processFile(inputFile,outputFile,nskip,nevents); } } From 80847ea808d7120d71ab57687e020931f87311e7 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Sat, 17 Aug 2024 15:19:44 -0400 Subject: [PATCH 04/10] support lazy initialization --- .../org/jlab/service/bg/BackgroundEngine.java | 45 ++++++++++--------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/reconstruction/bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java b/reconstruction/bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java index eccb52078a..9a854ad27c 100644 --- a/reconstruction/bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java +++ b/reconstruction/bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java @@ -33,25 +33,26 @@ public BackgroundEngine() { @Override public boolean init() { - String filename = getEngineConfigString(CONF_FILENAME); - if (filename == null) { - logger.severe("BackgroundEngine:: filename undefined."); - return false; - } - File f = new File(filename); - if (!f.exists() || !f.isFile() || !f.canRead()) { - logger.log(Level.SEVERE,"BackgroundEngine:: filename {} invalid: ",filename); - return false; + init(getEngineConfigString(CONF_FILENAME)); + } + + public boolean init(String filename) { + if (filename != null) { + File f = new File(filename); + if (!f.exists() || !f.isFile() || !f.canRead()) { + logger.log(Level.SEVERE,"BackgroundEngine:: filename {} invalid: ",filename); + return false; + } + filenames.add(filename); + String detectors = getEngineConfigString(CONF_DETECTORS,"DC,FTOF"); + String orders = getEngineConfigString(CONF_ORDERS,"NOMINAL"); + Boolean suppressDoubles = Boolean.getBoolean(getEngineConfigString(CONF_SUPPRESS_DOUBLES,"true")); + Boolean preserveOrder = Boolean.getBoolean(getEngineConfigString(CONF_PRESERVE_ORDER,"true")); + logger.log(Level.INFO,"BackgroundEngine:: reading {0}",filename); + merger = new EventMerger(detectors.split(","), orders.split(","), suppressDoubles, preserveOrder); + reader = new HipoDataSource(); + reader.open(getEngineConfigString(CONF_FILENAME)); } - filenames.add(filename); - String detectors = getEngineConfigString(CONF_DETECTORS,"DC,FTOF"); - String orders = getEngineConfigString(CONF_ORDERS,"NOMINAL"); - Boolean suppressDoubles = Boolean.getBoolean(getEngineConfigString(CONF_SUPPRESS_DOUBLES,"true")); - Boolean preserveOrder = Boolean.getBoolean(getEngineConfigString(CONF_PRESERVE_ORDER,"true")); - logger.log(Level.INFO,"BackgroundEngine:: reading {0}",filename); - merger = new EventMerger(detectors.split(","), orders.split(","), suppressDoubles, preserveOrder); - reader = new HipoDataSource(); - reader.open(getEngineConfigString(CONF_FILENAME)); return true; } @@ -66,9 +67,11 @@ synchronized public DataEvent getBackgroundEvent() { @Override public boolean processDataEvent(DataEvent event) { - DataEvent a = getBackgroundEvent(); - DataEvent b = getBackgroundEvent(); - merger.mergeEvents(event, a, b); + if (filenames.size() > 0) { + DataEvent a = getBackgroundEvent(); + DataEvent b = getBackgroundEvent(); + merger.mergeEvents(event, a, b); + } return true; } From 96c6cba663e9153a3ee14d45d90918a13104810e Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Sun, 18 Aug 2024 10:31:18 -0400 Subject: [PATCH 05/10] oops --- .../bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reconstruction/bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java b/reconstruction/bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java index 9a854ad27c..d4c87e35bc 100644 --- a/reconstruction/bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java +++ b/reconstruction/bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java @@ -33,7 +33,7 @@ public BackgroundEngine() { @Override public boolean init() { - init(getEngineConfigString(CONF_FILENAME)); + return init(getEngineConfigString(CONF_FILENAME)); } public boolean init(String filename) { From d296f8f7f0668d263928ec244ebedeaa9c41fa3d Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Tue, 20 Aug 2024 10:21:14 -0400 Subject: [PATCH 06/10] no printing every event --- .../src/main/java/org/jlab/analysis/eventmerger/EventMerger.java | 1 - 1 file changed, 1 deletion(-) diff --git a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/eventmerger/EventMerger.java b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/eventmerger/EventMerger.java index f444554573..992516ae74 100644 --- a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/eventmerger/EventMerger.java +++ b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/eventmerger/EventMerger.java @@ -109,7 +109,6 @@ private void printOrders() { public void mergeEvents(DataEvent event, DataEvent bg1, DataEvent bg2) { if(!event.hasBank("RUN::config") || !bg1.hasBank("RUN::config") || !bg2.hasBank("RUN::config")) { - System.out.println("Missing RUN::config bank"); return; } From e9c19f63b123a0a8059d8e3388366637137f443e Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Tue, 20 Aug 2024 10:23:23 -0400 Subject: [PATCH 07/10] CLI initialize BackgroundEngine --- .../org/jlab/clas/reco/EngineProcessor.java | 36 +++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/common-tools/clas-reco/src/main/java/org/jlab/clas/reco/EngineProcessor.java b/common-tools/clas-reco/src/main/java/org/jlab/clas/reco/EngineProcessor.java index 095d670393..380bd32c6c 100644 --- a/common-tools/clas-reco/src/main/java/org/jlab/clas/reco/EngineProcessor.java +++ b/common-tools/clas-reco/src/main/java/org/jlab/clas/reco/EngineProcessor.java @@ -16,7 +16,6 @@ import org.jlab.clara.engine.EngineDataType; import java.util.Arrays; import org.jlab.jnp.hipo4.data.SchemaFactory; -import org.jlab.utils.JsonUtils; import org.json.JSONObject; import org.jlab.logging.DefaultLogger; import org.jlab.utils.ClaraYaml; @@ -27,6 +26,8 @@ */ public class EngineProcessor { + public static final String ENGINE_CLASS_BG = "org.jlab.service.bg.BackgroundEngine"; + private final Map processorEngines = new LinkedHashMap<>(); private static final Logger LOGGER = Logger.getLogger(EngineProcessor.class.getPackage().getName()); private boolean updateDictionary = true; @@ -35,6 +36,27 @@ public class EngineProcessor { public EngineProcessor(){} + /** + * Get the (first) engine with the given class name. Note, this exists + * because engines are mapped by (what can be) a user-defined name, and . + * @param clazz + * @return + */ + private ReconstructionEngine findEngine(String clazz) { + for (String k : processorEngines.keySet()) { + if (processorEngines.get(k).getClass().getName().equals(clazz)) + return processorEngines.get(k); + } + return null; + } + + public void setBackgroundFiles(String filenames) { + if (findEngine(ENGINE_CLASS_BG) == null) + addEngine("BG",ENGINE_CLASS_BG); + findEngine(ENGINE_CLASS_BG).engineConfigMap.put("filename", filenames); + findEngine(ENGINE_CLASS_BG).init(); + } + private void updateDictionary(HipoDataSource source, HipoDataSync sync){ SchemaFactory fsync = sync.getWriter().getSchemaFactory(); SchemaFactory fsrc = source.getReader().getSchemaFactory(); @@ -382,16 +404,10 @@ else if (config>0){ proc.setBanksToKeep(parser.getOption("-S").stringValue()); // command-line filename for background merging overrides YAML: - if (parser.getOption("-B").stringValue() != null) { - if (proc.processorEngines.containsKey("org.jlab.service.bg.BackgroundEngine")) { - proc.processorEngines.get("org.jlab.service.bg.BackgroundEngine") - .engineConfigMap.put("filename", parser.getOption("-B").stringValue()); - } else { - LOGGER.severe("ERROR: -B background file specified without BackgroundEngine."); - System.exit(11); - } - } + if (parser.getOption("-B").stringValue() != null) + proc.setBackgroundFiles(parser.getOption("-B").stringValue()); proc.processFile(inputFile,outputFile,nskip,nevents); } + } From 8c40e2d7e640b355127f118127412c597fc585d5 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Tue, 20 Aug 2024 10:23:35 -0400 Subject: [PATCH 08/10] cleanup --- .../org/jlab/service/bg/BackgroundEngine.java | 51 ++++++++++--------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/reconstruction/bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java b/reconstruction/bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java index d4c87e35bc..7c003199f2 100644 --- a/reconstruction/bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java +++ b/reconstruction/bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java @@ -23,9 +23,9 @@ public class BackgroundEngine extends ReconstructionEngine { static final Logger logger = Logger.getLogger(BackgroundEngine.class.getName()); - EventMerger merger = null; - HipoDataSource reader = null; - LinkedList filenames = new LinkedList<>(); + EventMerger bgmerger = null; + HipoDataSource bgreader = null; + LinkedList bgfilenames = new LinkedList<>(); public BackgroundEngine() { super("BG", "baltzell", "1.0"); @@ -33,44 +33,49 @@ public BackgroundEngine() { @Override public boolean init() { - return init(getEngineConfigString(CONF_FILENAME)); + if (getEngineConfigString(CONF_FILENAME) != null) + return init(getEngineConfigString(CONF_FILENAME).split(",")); + return true; } - public boolean init(String filename) { - if (filename != null) { + public boolean init(String... filenames) { + bgfilenames.clear(); + for (String filename : filenames) { File f = new File(filename); if (!f.exists() || !f.isFile() || !f.canRead()) { - logger.log(Level.SEVERE,"BackgroundEngine:: filename {} invalid: ",filename); + logger.log(Level.SEVERE,"BackgroundEngine:: filename {0} invalid.",filename); return false; } - filenames.add(filename); - String detectors = getEngineConfigString(CONF_DETECTORS,"DC,FTOF"); - String orders = getEngineConfigString(CONF_ORDERS,"NOMINAL"); - Boolean suppressDoubles = Boolean.getBoolean(getEngineConfigString(CONF_SUPPRESS_DOUBLES,"true")); - Boolean preserveOrder = Boolean.getBoolean(getEngineConfigString(CONF_PRESERVE_ORDER,"true")); logger.log(Level.INFO,"BackgroundEngine:: reading {0}",filename); - merger = new EventMerger(detectors.split(","), orders.split(","), suppressDoubles, preserveOrder); - reader = new HipoDataSource(); - reader.open(getEngineConfigString(CONF_FILENAME)); + bgfilenames.add(filename); } + String detectors = getEngineConfigString(CONF_DETECTORS,"DC,FTOF"); + String orders = getEngineConfigString(CONF_ORDERS,"NOMINAL"); + Boolean suppressDoubles = Boolean.getBoolean(getEngineConfigString(CONF_SUPPRESS_DOUBLES,"true")); + Boolean preserveOrder = Boolean.getBoolean(getEngineConfigString(CONF_PRESERVE_ORDER,"true")); + bgmerger = new EventMerger(detectors.split(","), orders.split(","), suppressDoubles, preserveOrder); + openNextFile(); return true; } + private void openNextFile() { + String filename = bgfilenames.remove(); + bgfilenames.add(filename); + bgreader = new HipoDataSource(); + bgreader.open(filename); + } + synchronized public DataEvent getBackgroundEvent() { - if (reader.hasEvent()) return reader.getNextEvent(); - String filename = filenames.remove(); - filenames.add(filename); - reader = new HipoDataSource(); - reader.open(filename); - return reader.getNextEvent(); + if (!bgreader.hasEvent()) openNextFile(); + return bgreader.getNextEvent(); } @Override public boolean processDataEvent(DataEvent event) { - if (filenames.size() > 0) { + if (!bgfilenames.isEmpty()) { DataEvent a = getBackgroundEvent(); DataEvent b = getBackgroundEvent(); - merger.mergeEvents(event, a, b); + bgmerger.mergeEvents(event, a, b); } return true; } From c3a4caae149e7b3e937ecb09528af041fb238a0e Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Tue, 20 Aug 2024 10:40:00 -0400 Subject: [PATCH 09/10] bugfix on boolean string parsing --- .../src/main/java/org/jlab/service/bg/BackgroundEngine.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reconstruction/bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java b/reconstruction/bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java index 7c003199f2..8c464c35ef 100644 --- a/reconstruction/bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java +++ b/reconstruction/bg/src/main/java/org/jlab/service/bg/BackgroundEngine.java @@ -51,8 +51,8 @@ public boolean init(String... filenames) { } String detectors = getEngineConfigString(CONF_DETECTORS,"DC,FTOF"); String orders = getEngineConfigString(CONF_ORDERS,"NOMINAL"); - Boolean suppressDoubles = Boolean.getBoolean(getEngineConfigString(CONF_SUPPRESS_DOUBLES,"true")); - Boolean preserveOrder = Boolean.getBoolean(getEngineConfigString(CONF_PRESERVE_ORDER,"true")); + Boolean suppressDoubles = Boolean.valueOf(getEngineConfigString(CONF_SUPPRESS_DOUBLES,"true")); + Boolean preserveOrder = Boolean.valueOf(getEngineConfigString(CONF_PRESERVE_ORDER,"true")); bgmerger = new EventMerger(detectors.split(","), orders.split(","), suppressDoubles, preserveOrder); openNextFile(); return true; From 50c0b84a49d282e24276c0a8259b585c0e7a9042 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Tue, 20 Aug 2024 10:53:36 -0400 Subject: [PATCH 10/10] cleanup --- .../org/jlab/clas/reco/EngineProcessor.java | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/common-tools/clas-reco/src/main/java/org/jlab/clas/reco/EngineProcessor.java b/common-tools/clas-reco/src/main/java/org/jlab/clas/reco/EngineProcessor.java index 380bd32c6c..0e1141ff76 100644 --- a/common-tools/clas-reco/src/main/java/org/jlab/clas/reco/EngineProcessor.java +++ b/common-tools/clas-reco/src/main/java/org/jlab/clas/reco/EngineProcessor.java @@ -36,23 +36,20 @@ public class EngineProcessor { public EngineProcessor(){} - /** - * Get the (first) engine with the given class name. Note, this exists - * because engines are mapped by (what can be) a user-defined name, and . - * @param clazz - * @return - */ private ReconstructionEngine findEngine(String clazz) { for (String k : processorEngines.keySet()) { - if (processorEngines.get(k).getClass().getName().equals(clazz)) + if (processorEngines.get(k).getClass().getName().equals(clazz)) { return processorEngines.get(k); + } } return null; } public void setBackgroundFiles(String filenames) { - if (findEngine(ENGINE_CLASS_BG) == null) + if (findEngine(ENGINE_CLASS_BG) == null) { + LOGGER.info("Adding BackgroundEngine for -B option."); addEngine("BG",ENGINE_CLASS_BG); + } findEngine(ENGINE_CLASS_BG).engineConfigMap.put("filename", filenames); findEngine(ENGINE_CLASS_BG).init(); } @@ -120,7 +117,7 @@ public void initDefault(){ public void initAll(){ String[] names = new String[]{ - "MAGFIELDS","BG", + "MAGFIELDS", "FTCAL", "FTHODO", "FTTRK", "FTEB", "URWELL", "DCCR", "DCHB","FTOFHB","EC","RASTER", "CVTFP","CTOF","CND","BAND", @@ -131,7 +128,6 @@ public void initAll(){ String[] services = new String[]{ "org.jlab.clas.swimtools.MagFieldsEngine", - "org.jlab.service.bg.BackgroundEngine", "org.jlab.rec.ft.cal.FTCALEngine", "org.jlab.rec.ft.hodo.FTHODOEngine", "org.jlab.rec.ft.trk.FTTRKEngine", @@ -144,7 +140,6 @@ public void initAll(){ "org.jlab.service.raster.RasterEngine", "org.jlab.rec.cvt.services.CVTEngine", "org.jlab.service.ctof.CTOFEngine", - //"org.jlab.service.cnd.CNDEngine", "org.jlab.service.cnd.CNDCalibrationEngine", "org.jlab.service.band.BANDEngine", "org.jlab.service.htcc.HTCCReconstructionService",