From 36afac2753be51d800b52ac68c037d9f36396d6c Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Tue, 14 Jul 2026 18:21:37 -0400 Subject: [PATCH 1/2] cleanup, remove unused variables/methods --- .../java/org/jlab/service/eb/EBAnalyzer.java | 12 +- .../main/java/org/jlab/service/eb/EBio.java | 202 +----------------- 2 files changed, 4 insertions(+), 210 deletions(-) diff --git a/reconstruction/eb/src/main/java/org/jlab/service/eb/EBAnalyzer.java b/reconstruction/eb/src/main/java/org/jlab/service/eb/EBAnalyzer.java index 86dea6d0f2..fe6211a784 100644 --- a/reconstruction/eb/src/main/java/org/jlab/service/eb/EBAnalyzer.java +++ b/reconstruction/eb/src/main/java/org/jlab/service/eb/EBAnalyzer.java @@ -262,9 +262,7 @@ public void assignParticleStartTimes(DetectorEvent event,DetectorType type,int l ebrf.getStartTime(trig, type, layer, event.getParticles().get(ii).vertex().z())); } - } - } public void assignNeutralMomenta(DetectorEvent de) { @@ -325,9 +323,8 @@ public void assignBetas(DetectorEvent event,final boolean useStartTimeFromFT){ event.getEventHeader().getStartTime(); for (DetectorParticle p : event.getParticles()) { - double beta = -99; - final double thisStartTime = p.getCharge()==0 ? startTime : p.getStartTime(); + double beta = -99; if (p.isTriggerParticle()) { final double mass = PDGDatabase.getParticleById(p.getPid()).mass(); final double mom = p.vector().mag(); @@ -359,6 +356,7 @@ public void assignBetas(DetectorEvent event,final boolean useStartTimeFromFT){ p.setBeta(beta); } } + public void assignPids(DetectorEvent event,final boolean useStartTimeFromFT) { PIDHypothesis pidHyp = new PIDHypothesis(event.getEventHeader().getTorus()); @@ -389,12 +387,9 @@ else if (p.getCharge()<0) { } } - - public class PIDHypothesis { private float torus = 0; - private int theoryPID = -1; private double PIDquality = 0.0; private DetectorEvent event; private boolean useStartTimeFromFT = false; @@ -426,7 +421,6 @@ public void PIDMatch(DetectorParticle p, int pid) { final boolean htccPionThreshold = p.vector().mag()>EBConstants.HTCC_PION_THRESHOLD; final boolean ltccPionThreshold = p.vector().mag()>EBConstants.LTCC_PION_THRESHOLD; - final boolean ltccKaonThreshold = p.vector().mag()>EBConstants.LTCC_KAON_THRESHOLD; switch(abs(pid)) { case 11: @@ -594,12 +588,10 @@ else if (p.getCharge()!=0) { */ public void finalizePID(DetectorParticle p, int pid) { p.setPid(pid); - theoryPID = pid; PIDquality = this.PIDQuality(p, pid); p.setPidQuality(PIDquality); } - } } diff --git a/reconstruction/eb/src/main/java/org/jlab/service/eb/EBio.java b/reconstruction/eb/src/main/java/org/jlab/service/eb/EBio.java index a6bc117a44..b777c2ae77 100644 --- a/reconstruction/eb/src/main/java/org/jlab/service/eb/EBio.java +++ b/reconstruction/eb/src/main/java/org/jlab/service/eb/EBio.java @@ -2,13 +2,11 @@ import java.util.ArrayList; import java.util.List; -import org.jlab.detector.base.DetectorType; import org.jlab.io.base.DataBank; import org.jlab.io.base.DataEvent; import org.jlab.io.evio.EvioDataBank; -import org.jlab.io.evio.EvioFactory; -import org.jlab.clas.detector.*; - +import org.jlab.clas.detector.DetectorHeader; +import org.jlab.clas.detector.DetectorParticle; import org.jlab.rec.eb.EBScalers; import org.jlab.rec.eb.EBCCDBEnum; import org.jlab.rec.eb.EBCCDBConstants; @@ -101,7 +99,6 @@ public static List readTracks(DataEvent event, int type){ return dpList; } - public static List readCentralTracks(DataEvent event){ List dpList = new ArrayList<>(); if(event.hasBank("CVTRec::Tracks")==true){ @@ -133,200 +130,5 @@ public static List readCentralTracks(DataEvent event){ return dpList; } - public static boolean isTimeBased(DataEvent de){ - boolean tb = false; - if(de.hasBank("TimeBasedTrkg::TBHits")==true){ - return true; - } - return tb; - } - - public static List readTracks(DataEvent event){ - return readTracks(event,EBio.TRACKS_TB); - } - - - /** - * Creates a DataBank from list of particles. type will - * indicate which bank to create type=TRACKS_HB will create - * a EVENTHB bank, and type=TRACKS_TB will create a bank EVENTTB. - * @param particles list of detector particles - * @param type type of the bank to create (Time based or Hit based) - * @return - */ - public static DataBank writeTraks(List particles, int type){ - - String bankName = "EVENTHB::particle"; - - switch (type){ - case 1 : bankName = "EVENTHB::particle"; break; - case 2 : bankName = "EVENTTB::particle"; break; - default: break; - } - - EvioDataBank bank = EvioFactory.createBank(bankName, particles.size()); - - for(int i = 0; i < particles.size(); i++){ - - DetectorParticle p = particles.get(i); - - bank.setInt("charge", i, p.getCharge()); - bank.setInt("pid", i, p.getPid()); - - bank.setFloat("beta",i, (float) p.getBeta()); - - bank.setFloat("px", i, (float) p.vector().x()); - bank.setFloat("py", i, (float) p.vector().y()); - bank.setFloat("pz", i, (float) p.vector().z()); - - bank.setFloat("vx", i, (float) p.vertex().x()); - bank.setFloat("vy", i, (float) p.vertex().y()); - bank.setFloat("vz", i, (float) p.vertex().z()); - } - - return bank; - } - - //write cherenkov responses - - public static DataBank writeResponses(List responses, int type ){ - String bankName = "EVENTHB::particle"; - - switch (type){ - case 1 : bankName = "EVENTHB::detector"; break; - case 2 : bankName = "EVENTTB::detector"; break; - default: break; - } - - EvioDataBank bank = EvioFactory.createBank(bankName, responses.size()); - - for(int i = 0; i < responses.size();i++){ - bank.setInt("pindex", i,responses.get(i).getAssociation()); - bank.setInt("index", i,i); - bank.setInt("detector", i, responses.get(i).getDescriptor().getType().getDetectorId()); - bank.setInt("sector", i, responses.get(i).getDescriptor().getSector()); - bank.setInt("layer", i, responses.get(i).getDescriptor().getLayer()); - - bank.setFloat("X", i, (float) responses.get(i).getPosition().x()); - bank.setFloat("Y", i, (float) responses.get(i).getPosition().y()); - bank.setFloat("Z", i, (float) responses.get(i).getPosition().z()); - - bank.setFloat("hX", i, (float) responses.get(i).getMatchedPosition().x()); - bank.setFloat("hY", i, (float) responses.get(i).getMatchedPosition().y()); - bank.setFloat("hZ", i, (float) responses.get(i).getMatchedPosition().z()); - - bank.setFloat("path", i, (float) responses.get(i).getPath()); - bank.setFloat("time", i, (float) responses.get(i).getTime()); - bank.setFloat("energy", i, (float) responses.get(i).getEnergy()); - - } - return bank; - } - - public static DataBank writeCherenkovResponses(List responses, int type ) { - String bankName = "EVENTHB::particle"; - - switch (type){ - case 1 : bankName = "EVENTHB::cherenkov"; break; - case 2 : bankName = "EVENTTB::cherenkov"; break; - default: break; - } - EvioDataBank bank = EvioFactory.createBank(bankName, responses.size()); - for(int i = 0; i < responses.size();i++){ - bank.setInt("pindex", i,responses.get(i).getAssociation()); - bank.setInt("index", i,i); - bank.setFloat("X", i, (float) responses.get(i).getHitPosition().x()); - bank.setFloat("Y", i, (float) responses.get(i).getHitPosition().y()); - bank.setFloat("Z", i, (float) responses.get(i).getHitPosition().z()); - bank.setFloat("time", i, (float) responses.get(i).getTime()); - bank.setFloat("nphe", i, (float) responses.get(i).getEnergy()); - } - return bank; - } - - public static DataBank writeTrigger(DetectorEvent event){ - String bankName = "Trigger::info"; - EvioDataBank bank = EvioFactory.createBank(bankName, 1); - //bank.setDouble("starttime", 0, event.getEventTrigger().getStartTime()); - //bank.setDouble("vertextime",0, event.getEventTrigger().getVertexTime()); - //bank.setDouble("rftime", 0, event.getEventTrigger().getRFTime()); - //bank.setInt("id",0,event.getEventTrigger().getTriggerID()); - return bank; - } - - public static List readECAL(DataEvent event){ - List ecal = new ArrayList<>(); - if(event.hasBank("ECDetector::clusters")==true){ - EvioDataBank bank = (EvioDataBank) event.getBank("ECDetector::clusters"); - int nrows = bank.rows(); - for(int i = 0; i < nrows; i++){ - int sector = bank.getInt("sector", i); - int layer = bank.getInt("layer", i); - DetectorResponse resp = new DetectorResponse(); - resp.getDescriptor().setType(DetectorType.ECAL); - resp.getDescriptor().setSectorLayerComponent(sector, layer, 0); - resp.setPosition( - bank.getDouble("X", i),bank.getDouble("Y", i), - bank.getDouble("Z", i) - ); - resp.setTime(bank.getDouble("time", i)); - resp.setEnergy(bank.getDouble("energy", i)); - ecal.add(resp); - } - } - return ecal; - } - - public static List readFTOF(DataEvent event){ - List ftof = new ArrayList<>(); - if(event.hasBank("FTOFRec::ftofhits")==true){ - EvioDataBank bank = (EvioDataBank) event.getBank("FTOFRec::ftofhits"); - int nrows = bank.rows(); - for(int i = 0; i < nrows; i++){ - int sector = bank.getInt("sector", i); - int layer = bank.getInt("panel_id", i); - int paddle = bank.getInt("paddle_id", i); - if(layer==2||layer==3){ - DetectorResponse resp = new DetectorResponse(); - resp.getDescriptor().setType(DetectorType.FTOF); - resp.getDescriptor().setSectorLayerComponent(sector, layer, paddle); - resp.setPosition( - bank.getFloat("x", i),bank.getFloat("y", i), - bank.getFloat("z", i) - ); - resp.setTime(bank.getFloat("time", i)); - resp.setEnergy(bank.getFloat("energy", i)); - ftof.add(resp); - } - } - } - return ftof; - } - - public static List readHTCC(DataEvent event) { - List htcc = new ArrayList<>(); - if(event.hasBank("HTCCRec::clusters")==true){ - - EvioDataBank bank = (EvioDataBank) event.getBank("HTCCRec::clusters"); - int nrows = bank.rows(); - for(int i = 0; i < nrows; i++){ - int nphe = bank.getInt("nphe", i); - double dtheta = bank.getDouble("dtheta",i); - double dphi = bank.getDouble("dphi",i); - double x = bank.getDouble("x",i); - double y = bank.getDouble("y",i); - double z = bank.getDouble("z",i); - double time = bank.getFloat("time",i); - CherenkovResponse che = new CherenkovResponse(dtheta,dphi); - che.setHitPosition(x, y, z); - che.setEnergy(nphe); - che.setTime(time); - che.getDescriptor().setType(DetectorType.HTCC); - htcc.add(che); - - } - } - return htcc; - } } From dde732aa91dfc961cb1145f007afbff0693348c9 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Tue, 14 Jul 2026 18:37:38 -0400 Subject: [PATCH 2/2] remove unused clas-physics references --- .../org/jlab/clas/detector/DetectorData.java | 75 ------------------- .../org/jlab/clas/detector/DetectorEvent.java | 51 +------------ .../jlab/clas/detector/DetectorResponse.java | 1 - .../jlab/clas/detector/TaggerResponse.java | 1 - .../java/org/jlab/rec/ft/cal/FTCALEngine.java | 22 ++---- .../org/jlab/rec/ft/hodo/FTHODOEngine.java | 4 +- .../java/org/jlab/rec/ft/trk/FTTRKEngine.java | 2 - .../org/jlab/service/ft/FTTRKEngineTest.java | 2 - .../java/org/jlab/rec/mucal/MUCALEngine.java | 12 ++- .../java/org/jlab/rec/muhd/MUHDEngine.java | 6 +- 10 files changed, 18 insertions(+), 158 deletions(-) diff --git a/common-tools/clas-reco/src/main/java/org/jlab/clas/detector/DetectorData.java b/common-tools/clas-reco/src/main/java/org/jlab/clas/detector/DetectorData.java index d0228a11c2..3c5a019387 100644 --- a/common-tools/clas-reco/src/main/java/org/jlab/clas/detector/DetectorData.java +++ b/common-tools/clas-reco/src/main/java/org/jlab/clas/detector/DetectorData.java @@ -5,7 +5,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.jlab.clas.physics.Particle; import org.jlab.detector.base.DetectorType; import org.jlab.geom.prim.Vector3D; import org.jlab.io.base.DataBank; @@ -90,80 +89,6 @@ public static List readDetectorParticles(DataEvent event, Stri return particles; } - /** - * reads Detector Event, detector particles and detector responses and then - * adds all associated responses to each particle. - * - * @param event - * @return - */ - public static DetectorEvent readDetectorEvent(DataEvent event) { - return DetectorData.readDetectorEvent(event, "REC::Particle", "REC::Detector"); - } - - public static DetectorEvent readDetectorEvent(DataEvent event, String particle_bank, String response_bank) { - - List particles = DetectorData.readDetectorParticles(event, particle_bank); - DetectorEvent detectorEvent = new DetectorEvent(); - for (DetectorParticle p : particles) { - detectorEvent.addParticle(p); - } - - List responses = DetectorData.readDetectorResponses(event, response_bank); - for (DetectorResponse r : responses) { - int association = r.getAssociation(); - if (association >= 0 && association < detectorEvent.getParticles().size()) { - detectorEvent.getParticles().get(association).addResponse(r); - } - } - - detectorEvent.getPhysicsEvent().clear(); - - for (DetectorParticle p : particles) { - if (p.getPid() == 0) { - Particle part = Particle.createWithMassCharge( - p.getMass(), p.getCharge(), - p.vector().x(), p.vector().y(), p.vector().z(), - p.vertex().x(), p.vertex().y(), p.vertex().z() - ); - detectorEvent.getPhysicsEvent().addParticle(part); - } else { - Particle part = Particle.createWithPid(p.getPid(), - p.vector().x(), p.vector().y(), p.vector().z(), - p.vertex().x(), p.vertex().y(), p.vertex().z() - ); - detectorEvent.getPhysicsEvent().addParticle(part); - } - } - - if (event.hasBank("MC::Particle") == true) { - DataBank bank = event.getBank("MC::Particle"); - detectorEvent.getGeneratedEvent().clear(); - int nrows = bank.rows(); - for (int row = 0; row < nrows; row++) { - detectorEvent.getGeneratedEvent().addGeneratedParticle( - bank.getInt("pid", row), - bank.getFloat("px", row), - bank.getFloat("py", row), - bank.getFloat("pz", row), - bank.getFloat("vx", row), - bank.getFloat("vy", row), - bank.getFloat("vz", row) - ); - detectorEvent.getPhysicsEvent().addGeneratedParticle( - bank.getInt("pid", row), - bank.getFloat("px", row), - bank.getFloat("py", row), - bank.getFloat("pz", row), - bank.getFloat("vx", row), - bank.getFloat("vy", row), - bank.getFloat("vz", row) - ); - } - } - return detectorEvent; - } - /** * creates a bank with particles information. * diff --git a/common-tools/clas-reco/src/main/java/org/jlab/clas/detector/DetectorEvent.java b/common-tools/clas-reco/src/main/java/org/jlab/clas/detector/DetectorEvent.java index b364b31877..40bafc8de2 100644 --- a/common-tools/clas-reco/src/main/java/org/jlab/clas/detector/DetectorEvent.java +++ b/common-tools/clas-reco/src/main/java/org/jlab/clas/detector/DetectorEvent.java @@ -3,11 +3,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import org.jlab.clas.physics.Particle; -import org.jlab.clas.physics.PhysicsEvent; import org.jlab.detector.base.DetectorType; -import org.jlab.io.base.DataEvent; - /** * @@ -16,56 +12,19 @@ public class DetectorEvent { private final List particleList = new ArrayList<>(); - private final PhysicsEvent generatedEvent = new PhysicsEvent(); - private final PhysicsEvent reconstructedEvent = new PhysicsEvent(); private DetectorHeader eventHeader = new DetectorHeader(); - public DetectorEvent(){ - - } + public DetectorEvent(){} public void sort() { Collections.sort(particleList); setAssociation(); } - public static DetectorEvent readDetectorEvent(DataEvent event){ - return DetectorData.readDetectorEvent(event); - } - public DetectorHeader getEventHeader() { return eventHeader; } - public PhysicsEvent getGeneratedEvent(){ - return this.generatedEvent; - } - - public PhysicsEvent getPhysicsEvent(){ - return this.reconstructedEvent; - } - - public DetectorParticle matchedParticle(int pid, int skip){ - Particle particle = generatedEvent.getParticleByPid(pid, skip); - if(particle.p()<0.0000001) return new DetectorParticle(); - return matchedParticle(particle); - } - - public DetectorParticle matchedParticle(Particle p){ - double compare = 100.0; - int index = -1; - for(int i = 0; i < particleList.size();i++){ - if(p.charge()==particleList.get(i).getCharge()){ - if(particleList.get(i).compare(p.vector().vect())0.2) return new DetectorParticle(); - return this.particleList.get(index); - } - public void clear(){ this.particleList.clear(); } @@ -180,14 +139,6 @@ public void setAssociation(){ } } - public void addParticle(double px, double py, double pz, - double vx, double vy, double vz){ - DetectorParticle particle = new DetectorParticle(); - particle.vector().setXYZ(px, py, pz); - particle.vertex().setXYZ(vx, vy, vz); - this.addParticle(particle); - } - public DetectorParticle getTriggerParticle() { for (int ii=0; ii clusters = trk.processDataEventAndGetClusters(event); int nStripsInClusters = 0; - DetectorEvent detectorEvent = DetectorData.readDetectorEvent(event); - PhysicsEvent gen = detectorEvent.getGeneratedEvent(); double maxcomp1=-100, maxcomp2=-100, maxcomp3=-100, maxcomp4=-100; int imax1 = -1, imax2 = -1, imax3 = -1, imax4 = -1; if(event.hasBank("FTTRK::hits")) { diff --git a/reconstruction/ft/src/test/java/org/jlab/service/ft/FTTRKEngineTest.java b/reconstruction/ft/src/test/java/org/jlab/service/ft/FTTRKEngineTest.java index 753f5faa0b..b527e17de0 100644 --- a/reconstruction/ft/src/test/java/org/jlab/service/ft/FTTRKEngineTest.java +++ b/reconstruction/ft/src/test/java/org/jlab/service/ft/FTTRKEngineTest.java @@ -215,8 +215,6 @@ public static void main (String arg[]) { clusters = trk.processDataEventAndGetClusters(event); int nStripsInClusters = 0; - DetectorEvent detectorEvent = DetectorData.readDetectorEvent(event); - PhysicsEvent gen = detectorEvent.getGeneratedEvent(); double maxcomp1=-100, maxcomp2=-100, maxcomp3=-100, maxcomp4=-100; int imax1 = -1, imax2 = -1, imax3 = -1, imax4 = -1; if(event.hasBank("FTTRK::hits")) { diff --git a/reconstruction/mu/src/main/java/org/jlab/rec/mucal/MUCALEngine.java b/reconstruction/mu/src/main/java/org/jlab/rec/mucal/MUCALEngine.java index 463c1a34bd..5c659ce735 100644 --- a/reconstruction/mu/src/main/java/org/jlab/rec/mucal/MUCALEngine.java +++ b/reconstruction/mu/src/main/java/org/jlab/rec/mucal/MUCALEngine.java @@ -127,8 +127,6 @@ public static void main (String arg[]) { DataEvent event = (DataEvent) reader.getNextEvent(); cal.processDataEvent(event); - DetectorEvent detectorEvent = DetectorData.readDetectorEvent(event); - PhysicsEvent gen = detectorEvent.getGeneratedEvent(); if(event.hasBank("MUCAL::clusters")) { DataBank bank = event.getBank("MUCAL::clusters"); int nrows = bank.rows(); @@ -140,11 +138,11 @@ public static void main (String arg[]) { /// h5.fill(bank.getFloat("time",i)-124.25); // 124.25 offet for MC data h5.fill(bank.getFloat("time", i)); h6.fill(cluster.x(), cluster.y()); - if(gen.countGenerated() != 0){ - h2.fill(bank.getFloat("energy",i)-gen.getGeneratedParticle(0).vector().p()); - h3.fill(Math.toDegrees(cluster.theta()-gen.getGeneratedParticle(0).theta())); - h4.fill(Math.toDegrees(cluster.phi()-gen.getGeneratedParticle(0).phi())); - } + // if(gen.countGenerated() != 0){ + // h2.fill(bank.getFloat("energy",i)-gen.getGeneratedParticle(0).vector().p()); + // h3.fill(Math.toDegrees(cluster.theta()-gen.getGeneratedParticle(0).theta())); + // h4.fill(Math.toDegrees(cluster.phi()-gen.getGeneratedParticle(0).phi())); + // } } } } diff --git a/reconstruction/mu/src/main/java/org/jlab/rec/muhd/MUHDEngine.java b/reconstruction/mu/src/main/java/org/jlab/rec/muhd/MUHDEngine.java index 806bd92856..e2e77b3141 100644 --- a/reconstruction/mu/src/main/java/org/jlab/rec/muhd/MUHDEngine.java +++ b/reconstruction/mu/src/main/java/org/jlab/rec/muhd/MUHDEngine.java @@ -109,14 +109,14 @@ public static void main (String arg[]) { DataEvent event = (DataEvent) reader.getNextEvent(); cal.processDataEvent(event); - DetectorEvent detectorEvent = DetectorData.readDetectorEvent(event); - PhysicsEvent gen = detectorEvent.getGeneratedEvent(); + //DetectorEvent detectorEvent = DetectorData.readDetectorEvent(event); + //PhysicsEvent gen = detectorEvent.getGeneratedEvent(); if(event.hasBank("MUHD::clusters")) { DataBank bank = event.getBank("MUHD::clusters"); int nrows = bank.rows(); for(int i=0; i