From f6108725e8b54e50fe3e1bd7a35bb8f96552bc7c Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 28 Aug 2026 18:00:55 -0400 Subject: [PATCH] cleanup initialization --- .../org/jlab/clas/reco/EngineProcessor.java | 77 +++++++++---------- 1 file changed, 36 insertions(+), 41 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 b0b4a98542..39c93eefd4 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 @@ -46,6 +46,10 @@ public class EngineProcessor { public EngineProcessor(){} + public EngineProcessor(OptionParser parser) { + init(parser); + } + private ReconstructionEngine findEngine(String clazz) { for (String k : processorEngines.keySet()) { if (processorEngines.get(k).getClass().getName().equals(clazz)) { @@ -404,62 +408,53 @@ protected static OptionParser getParser() { return parser; } - public static void main(String[] args){ - - OptionParser parser = EngineProcessor.getParser(); - parser.parse(args); - parser.syncLogLevel(LOGGER); - - List services = parser.getInputList(); - - String inputFile = parser.getOption("-i").stringValue(); - String outputFile = parser.getOption("-o").stringValue(); - - EngineProcessor proc = new EngineProcessor(); + protected final void init(OptionParser p) { + p.syncLogLevel(LOGGER); - int config = parser.getOption("-c").intValue(); - int nskip = parser.getOption("-s").intValue(); - int nevents = parser.getOption("-n").intValue(); - String yamlFileName = parser.getOption("-y").stringValue(); + if(p.getOption("-u").stringValue().contains("false")) + updateDictionary = false; - String update = parser.getOption("-u").stringValue(); - if(update.contains("false")==true) proc.updateDictionary = false; - - if(!yamlFileName.equals("0")) { - proc.parseYaml(yamlFileName); + // configure from YAML: + if(!p.getOption("-y").stringValue().equals("0")) { + parseYaml(p.getOption("-y").stringValue()); } - else if (config>0){ - if(config>2){ - proc.initCaloDebug(); - } else if(config==2){ - proc.initAll(); - } else { - proc.initDefault(); - } + // use a builtin engine list: + else if (p.getOption("-c").intValue() > 0) { + if (p.getOption("-c").intValue() > 2 ) initCaloDebug(); + else if (p.getOption("-c").intValue() == 2) initAll(); + else initDefault(); } + // command-line engine list: else { - for(String engine : services){ + for(String engine : p.getInputList()){ System.out.println("Adding reconstruction engine " + engine); - proc.addEngine(engine); + addEngine(engine); } } // command-line schema overrides YAML: - if (parser.getOption("-S").stringValue() != null) - proc.setBanksToKeep(parser.getOption("-S").stringValue()); + if (p.getOption("-S").stringValue() != null) + setBanksToKeep(p.getOption("-S").stringValue()); // command-line filename for background merging overrides YAML: - if (parser.getOption("-B").stringValue() != null) - proc.setBackgroundFiles(parser.getOption("-B").stringValue()); + if (p.getOption("-B").stringValue() != null) + setBackgroundFiles(p.getOption("-B").stringValue()); // command-line filename for post-processing overrides YAML: - if (parser.getOption("-P").stringValue() != null) { - proc.setPreloadFiles(parser.getOption("-P").stringValue(), - parser.getOption("-H").intValue()!=0, - parser.getOption("-R").intValue()!=0); + if (p.getOption("-P").stringValue() != null) { + setPreloadFiles(p.getOption("-P").stringValue(), + p.getOption("-H").intValue()!=0, + p.getOption("-R").intValue()!=0); } - - proc.processFile(inputFile,outputFile,nskip,nevents); } + public static void main(String[] args) { + OptionParser parser = EngineProcessor.getParser(); + parser.parse(args); + EngineProcessor proc = new EngineProcessor(parser); + proc.processFile(parser.getOption("-i").stringValue(), + parser.getOption("-o").stringValue(), + parser.getOption("-s").intValue(), + parser.getOption("-n").intValue()); + } }