From 3909c539fa05c2588ee8b5487ed6e286bf6b2245 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 4 Sep 2026 19:37:00 -0400 Subject: [PATCH 1/2] move serial postprocessor utilities to clas-detector --- bin/postprocess2 | 2 +- .../analysis/postprocess/RebuildScalers.java | 3 ++- .../jlab/analysis/postprocess/Tag1ToEvent.java | 10 ++++++---- .../org/jlab/detector/serial/PostProcessor.java} | 16 ++++++++-------- .../org/jlab/detector/serial/SerialUtil.java} | 6 +++--- 5 files changed, 20 insertions(+), 17 deletions(-) rename common-tools/{clas-analysis/src/main/java/org/jlab/analysis/postprocess/Processor.java => clas-detector/src/main/java/org/jlab/detector/serial/PostProcessor.java} (93%) rename common-tools/{clas-analysis/src/main/java/org/jlab/analysis/postprocess/Util.java => clas-detector/src/main/java/org/jlab/detector/serial/SerialUtil.java} (98%) diff --git a/bin/postprocess2 b/bin/postprocess2 index b10c9ff07a..19219be743 100755 --- a/bin/postprocess2 +++ b/bin/postprocess2 @@ -6,5 +6,5 @@ export MALLOC_ARENA_MAX=1 java ${JAVA_OPTS-} -Xmx768m -Xms768m -XX:+UseSerialGC \ -cp ${COATJAVA_CLASSPATH:-''} \ - org.jlab.analysis.postprocess.Processor \ + org.jlab.detector.serial.PostProcessor \ $* diff --git a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/RebuildScalers.java b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/RebuildScalers.java index 525203f641..6fb4fe3d0c 100644 --- a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/RebuildScalers.java +++ b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/RebuildScalers.java @@ -9,6 +9,7 @@ import org.jlab.detector.scalers.DaqScalers; import org.jlab.detector.helicity.HelicitySequenceManager; import org.jlab.detector.scalers.DaqScalersSequence; +import org.jlab.detector.serial.SerialUtil; import org.jlab.jnp.hipo4.data.Bank; import org.jlab.jnp.hipo4.data.Event; import org.jlab.jnp.hipo4.io.HipoReader; @@ -122,7 +123,7 @@ else if (seq != null) { runScalerBank = ds.createRunBank(writer.getSchemaFactory()); helScalerBank = ds.createHelicityBank(writer.getSchemaFactory()); - Util.assignScalerHelicity(event, helScalerBank, helSeq); + SerialUtil.assignScalerHelicity(event, helScalerBank, helSeq); // put modified HEL/RUN::scaler back in the event: event.write(runScalerBank); diff --git a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/Tag1ToEvent.java b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/Tag1ToEvent.java index b85efd3a95..b3293962f2 100644 --- a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/Tag1ToEvent.java +++ b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/Tag1ToEvent.java @@ -1,5 +1,6 @@ package org.jlab.analysis.postprocess; +import org.jlab.detector.serial.PostProcessor; import java.util.TreeMap; import java.util.logging.Logger; import org.jlab.clas.reco.ReconstructionEngine; @@ -13,6 +14,7 @@ import org.jlab.detector.scalers.DaqScalersSequence; import org.jlab.detector.helicity.HelicityBit; import org.jlab.detector.helicity.HelicitySequenceDelayed; +import org.jlab.detector.serial.SerialUtil; import org.jlab.jnp.hipo4.data.SchemaFactory; import org.jlab.utils.groups.IndexedTable; import org.jlab.utils.options.OptionParser; @@ -81,7 +83,7 @@ public static void main(String[] args) { LOGGER.info("\n>>> Initializing helicity configuration from CCDB ...\n"); ConstantsManager conman = new ConstantsManager(); conman.init("/runcontrol/hwp","/runcontrol/helicity"); - final int run = Util.getRunNumber(parser.getInputList().get(0)); + final int run = SerialUtil.getRunNumber(parser.getInputList().get(0)); IndexedTable helTable = conman.getConstants(run, "/runcontrol/helicity"); // Initialize the scaler sequence from tag-1 events: @@ -102,7 +104,7 @@ public static void main(String[] args) { } // Initialize the unix-event map: - TreeMap eventUnix = Processor.getEventUnixMap(schema, parser.getInputList()); + TreeMap eventUnix = PostProcessor.getEventUnixMap(schema, parser.getInputList()); // Loop over the input HIPO files: LOGGER.info("\n>>> Starting post-processing ...\n"); @@ -138,7 +140,7 @@ public static void main(String[] args) { if (doHelicityDelay) { recEventBank.putByte("helicity",0,hb.value()); recEventBank.putByte("helicityRaw",0,hbraw.value()); - Util.assignScalerHelicity(runConfigBank.getLong("timestamp",0), helScalerBank, helSeq); + SerialUtil.assignScalerHelicity(runConfigBank.getLong("timestamp",0), helScalerBank, helSeq); } // Write beam charge to REC::Event: @@ -169,7 +171,7 @@ public static void main(String[] args) { writer.addEvent(event, event.getEventTag()); // Copy config banks to new, tag-1 events: - Util.createTag1Events(writer, event, configEvent, configBanks); + SerialUtil.createTag1Events(writer, event, configEvent, configBanks); } reader.close(); diff --git a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/Processor.java b/common-tools/clas-detector/src/main/java/org/jlab/detector/serial/PostProcessor.java similarity index 93% rename from common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/Processor.java rename to common-tools/clas-detector/src/main/java/org/jlab/detector/serial/PostProcessor.java index 7652b74d4c..0d0f1b96bc 100644 --- a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/Processor.java +++ b/common-tools/clas-detector/src/main/java/org/jlab/detector/serial/PostProcessor.java @@ -1,4 +1,4 @@ -package org.jlab.analysis.postprocess; +package org.jlab.detector.serial; import java.util.List; import java.util.TreeMap; @@ -24,7 +24,7 @@ * * @author baltzell */ -public class Processor { +public class PostProcessor { public static final String CCDB_TABLES[] = {"/runcontrol/fcup","/runcontrol/slm", "/runcontrol/helicity","/daq/config/scalers/dsc1","/runcontrol/hwp"}; @@ -37,7 +37,7 @@ public class Processor { private HelicitySequenceDelayed helicitySequence = null; private TreeMap eventUnix = null; - public Processor(List files, boolean restream, boolean rebuild) { + public PostProcessor(List files, boolean restream, boolean rebuild) { HipoReader r = new HipoReader(); r.open(files.get(0)); schemaFactory = r.getSchemaFactory(); @@ -46,13 +46,13 @@ public Processor(List files, boolean restream, boolean rebuild) { recEvent = new Bank(schemaFactory.getSchema("REC::Event")); conman = new ConstantsManager(); conman.init(CCDB_TABLES); - helicitySequence = Util.getHelicity(files, schemaFactory, restream, conman); + helicitySequence = SerialUtil.getHelicity(files, schemaFactory, restream, conman); if (rebuild) chargeSequence = DaqScalersSequence.rebuildSequence(1, conman, files); else chargeSequence = DaqScalersSequence.readSequence(files); eventUnix = getEventUnixMap(schemaFactory, files); } - public Processor(List files, SchemaFactory schema, HelicitySequenceDelayed h, DaqScalersSequence s) { + public PostProcessor(List files, SchemaFactory schema, HelicitySequenceDelayed h, DaqScalersSequence s) { schemaFactory = schema; helicitySequence = h; chargeSequence = s; @@ -102,7 +102,7 @@ private void processEventHelicity(DataEvent event, DataBank runcfg, DataBank rec DataBank helScaler = event.getBank("HEL::scaler"); if (helScaler.rows()>0) { event.removeBank("HEL::scaler"); - Util.assignScalerHelicity(runcfg.getLong("timestamp",0), ((HipoDataBank)helScaler).getBank(), helicitySequence); + SerialUtil.assignScalerHelicity(runcfg.getLong("timestamp",0), ((HipoDataBank)helScaler).getBank(), helicitySequence); event.appendBank(helScaler); } } @@ -122,7 +122,7 @@ private void processEventHelicity(Event event, Bank runcfg, Bank recevt) { event.read(helScaler); if (helScaler.getRows()>0) { event.remove(schemaFactory.getSchema("HEL::scaler")); - Util.assignScalerHelicity(runcfg.getLong("timestamp",0), helScaler, helicitySequence); + SerialUtil.assignScalerHelicity(runcfg.getLong("timestamp",0), helScaler, helicitySequence); event.write(helScaler); } } @@ -247,7 +247,7 @@ public static void main(String args[]) { boolean restream = !o.getOption("-f").isDefault(); boolean rebuild = !o.getOption("-c").isDefault(); - Processor post = new Processor(o.getInputList(), restream, rebuild); + PostProcessor post = new PostProcessor(o.getInputList(), restream, rebuild); HipoWriterSorted writer = null; diff --git a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/Util.java b/common-tools/clas-detector/src/main/java/org/jlab/detector/serial/SerialUtil.java similarity index 98% rename from common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/Util.java rename to common-tools/clas-detector/src/main/java/org/jlab/detector/serial/SerialUtil.java index 7ac75bcea2..8967760c25 100644 --- a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/Util.java +++ b/common-tools/clas-detector/src/main/java/org/jlab/detector/serial/SerialUtil.java @@ -1,4 +1,4 @@ -package org.jlab.analysis.postprocess; +package org.jlab.detector.serial; import java.sql.Time; import java.util.Arrays; @@ -26,9 +26,9 @@ * Static utility methods for postprocessing. * @author baltzell */ -class Util { +public class SerialUtil { - static final Logger logger = Logger.getLogger(Util.class.getName()); + static final Logger logger = Logger.getLogger(SerialUtil.class.getName()); /** * Assign the delay-corrected helicity to the HEL::scaler bank's rows From 6b836916a348cdd1573b3c4775c8f7646e4b5912 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 4 Sep 2026 19:42:46 -0400 Subject: [PATCH 2/2] fix --- common-tools/clara-io/pom.xml | 6 ------ .../src/main/java/org/jlab/io/clara/Clas12Writer.java | 4 ++-- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/common-tools/clara-io/pom.xml b/common-tools/clara-io/pom.xml index f5f100138e..f1c3f6f0e1 100644 --- a/common-tools/clara-io/pom.xml +++ b/common-tools/clara-io/pom.xml @@ -48,12 +48,6 @@ 14.2.0-SNAPSHOT - - org.jlab.clas - clas-analysis - 14.2.0-SNAPSHOT - - org.jlab.clas clas-utils diff --git a/common-tools/clara-io/src/main/java/org/jlab/io/clara/Clas12Writer.java b/common-tools/clara-io/src/main/java/org/jlab/io/clara/Clas12Writer.java index a094b939cd..e2d5aaa7a0 100644 --- a/common-tools/clara-io/src/main/java/org/jlab/io/clara/Clas12Writer.java +++ b/common-tools/clara-io/src/main/java/org/jlab/io/clara/Clas12Writer.java @@ -5,7 +5,6 @@ import java.util.List; import java.util.TreeMap; import java.util.TreeSet; -import org.jlab.analysis.postprocess.Processor; import org.jlab.clara.std.services.EventWriterException; import org.jlab.detector.calib.utils.ConstantsManager; import org.jlab.detector.decode.CLASDecoder4; @@ -13,6 +12,7 @@ import org.jlab.detector.helicity.HelicitySequenceDelayed; import org.jlab.detector.helicity.HelicityState; import org.jlab.detector.scalers.DaqScalersSequence; +import org.jlab.detector.serial.PostProcessor; import org.jlab.jnp.hipo4.data.Bank; import org.jlab.jnp.hipo4.data.Event; import org.jlab.jnp.hipo4.data.SchemaFactory; @@ -148,7 +148,7 @@ private void postprocess() { int d = conman.getConstants(getRunNumber(), "/runcontrol/helicity").getIntValue("delay",0,0,0); HelicitySequenceDelayed helicity = new HelicitySequenceDelayed(d); helicity.addStream(helicities); - Processor p = new Processor(List.of(filename), fullSchema, helicity, scalers); + PostProcessor p = new PostProcessor(List.of(filename), fullSchema, helicity, scalers); HipoReader r = new HipoReader(); r.open(filename); Event e = new Event();