From 5bd16a2aa0ced041f61e7a3e74cc6ab18ff33bf1 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Thu, 2 Apr 2026 19:27:25 -0400 Subject: [PATCH 1/9] use bank index instead of string --- .../dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java index 4a66375c08..ebb858604a 100644 --- a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java +++ b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java @@ -127,9 +127,9 @@ private void getDCRBJitters(boolean swapBits) { DataBank bankTS = event.getBank(bankNames.getTimeStampBank()); for(int i=0; i>24)|((timestamp&0x0000000000ffffffL)<<24)); } From d948091fdb4c779921688ceb60e791cff21b6fb2 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 3 Apr 2026 10:55:32 -0400 Subject: [PATCH 2/9] reduce check calculations and redundancies --- .../java/org/jlab/rec/dc/banks/HitReader.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java index ebb858604a..135c333266 100644 --- a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java +++ b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java @@ -355,6 +355,8 @@ private void read_HBHits(TimeToDistanceEstimator tde) { double[] tFlight = new double[rows]; double[] trkDoca = new double[rows]; + boolean ismc = event.hasBank("MC::Particle") ? true : event.getBank("RUN::config").getInt("run",0)<=100; + for (int i = 0; i < rows; i++) { id[i] = bank.getShort("id", i); status[i] = bank.getShort("status", i); @@ -377,6 +379,10 @@ private void read_HBHits(TimeToDistanceEstimator tde) { tFlight[i] = this.id2tidtFlight.get(id[i]); } + if (ismc) { + tProp[i] = 0; + tFlight[i] = 0; + } } int size = layer.length; @@ -394,14 +400,15 @@ private void read_HBHits(TimeToDistanceEstimator tde) { continue; } - if (event.hasBank(recBankName) && - event.getBank(recBankName).getFloat("startTime", 0)==-1000) { + if (event.getBank(recBankName).getFloat("startTime", 0)==-1000) { continue; } - if (event.hasBank(recBankName)) - T_Start = event.getBank(recBankName).getFloat("startTime", 0); - + if (!ismc) { + //T_0 = this.getT0(sector[i], slayer[i], layer[i], wire[i], T0, T0ERR)[0]; + T_Start = event.getBank(recBankName).getFloat("startTime", 0); + } + T_0 = this.getT0(sector[i], slayer[i], layer[i], wire[i], t0s)[0]; FittedHit hit = new FittedHit(sector[i], slayer[i], layer[i], wire[i], tdc[i], jitter[i], id[i]); hit.set_Id(id[i]); From 68147c9f2dea2672ac332687a8ff316ef585e1ba Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 3 Apr 2026 10:58:07 -0400 Subject: [PATCH 3/9] remove redundant bank access, cleanup logic --- .../main/java/org/jlab/rec/dc/banks/HitReader.java | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java index 135c333266..aedd3319db 100644 --- a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java +++ b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java @@ -393,22 +393,17 @@ private void read_HBHits(TimeToDistanceEstimator tde) { continue; } - double T_0 = 0; - double T_Start = 0; - if (!event.hasBank(recBankName)) { continue; } - if (event.getBank(recBankName).getFloat("startTime", 0)==-1000) { + double T_0 = 0; + double T_Start = ismc ? 0 : event.getBank(recBankName).getFloat("startTime", 0); + + if (T_Start == -1000) { continue; } - if (!ismc) { - //T_0 = this.getT0(sector[i], slayer[i], layer[i], wire[i], T0, T0ERR)[0]; - T_Start = event.getBank(recBankName).getFloat("startTime", 0); - } - T_0 = this.getT0(sector[i], slayer[i], layer[i], wire[i], t0s)[0]; FittedHit hit = new FittedHit(sector[i], slayer[i], layer[i], wire[i], tdc[i], jitter[i], id[i]); hit.set_Id(id[i]); From 2fcd88d56b9745098a177c370df96a3f8c17a78c Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 3 Apr 2026 11:14:31 -0400 Subject: [PATCH 4/9] Revert "use bank index instead of string" This reverts commit 0b7dd394eba321038792bd4d25c0e05278a2428c. --- .../dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java index aedd3319db..f0871bae37 100644 --- a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java +++ b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java @@ -127,9 +127,9 @@ private void getDCRBJitters(boolean swapBits) { DataBank bankTS = event.getBank(bankNames.getTimeStampBank()); for(int i=0; i>24)|((timestamp&0x0000000000ffffffL)<<24)); } From 30ac3f68b10066ab691c15d3f6c6e09f98711915 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 3 Apr 2026 11:22:09 -0400 Subject: [PATCH 5/9] stop rereading start time from bank --- .../dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java index f0871bae37..316969641e 100644 --- a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java +++ b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java @@ -356,6 +356,8 @@ private void read_HBHits(TimeToDistanceEstimator tde) { double[] trkDoca = new double[rows]; boolean ismc = event.hasBank("MC::Particle") ? true : event.getBank("RUN::config").getInt("run",0)<=100; + + double T_Start = ismc || !event.hasBank(recBankName) ? 0 : event.getBank(recBankName).getFloat("startTime", 0); for (int i = 0; i < rows; i++) { id[i] = bank.getShort("id", i); @@ -398,8 +400,6 @@ private void read_HBHits(TimeToDistanceEstimator tde) { } double T_0 = 0; - double T_Start = ismc ? 0 : event.getBank(recBankName).getFloat("startTime", 0); - if (T_Start == -1000) { continue; } From d882af29f9e33ebcab967d849fe2af8f3be0eccc Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 3 Apr 2026 12:04:25 -0400 Subject: [PATCH 6/9] make em final --- .../dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java index 316969641e..efa30645d9 100644 --- a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java +++ b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java @@ -355,9 +355,9 @@ private void read_HBHits(TimeToDistanceEstimator tde) { double[] tFlight = new double[rows]; double[] trkDoca = new double[rows]; - boolean ismc = event.hasBank("MC::Particle") ? true : event.getBank("RUN::config").getInt("run",0)<=100; + final boolean ismc = event.hasBank("MC::Particle") ? true : event.getBank("RUN::config").getInt("run",0)<=100; - double T_Start = ismc || !event.hasBank(recBankName) ? 0 : event.getBank(recBankName).getFloat("startTime", 0); + final double T_Start = ismc || !event.hasBank(recBankName) ? 0 : event.getBank(recBankName).getFloat("startTime", 0); for (int i = 0; i < rows; i++) { id[i] = bank.getShort("id", i); From 7d896250aee7e4b24c207d29e512baac47596b03 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 3 Apr 2026 12:05:05 -0400 Subject: [PATCH 7/9] reduce bank accesses --- .../src/main/java/org/jlab/rec/dc/banks/HitReader.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java index efa30645d9..6fadfb587c 100644 --- a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java +++ b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java @@ -330,10 +330,11 @@ private void read_HBHits(TimeToDistanceEstimator tde) { DataBank pbank = event.getBank(pointName); for (int i = 0; i < pbank.rows(); i++) { - id2tid.put((int)pbank.getShort("id", i), (int)pbank.getShort("tid", i)); - id2tidB.put((int)pbank.getShort("id", i), (double)pbank.getFloat("B", i)); - id2tidtFlight.put((int)pbank.getShort("id", i), (double)pbank.getFloat("TFlight", i)); - id2tidtProp.put((int)pbank.getShort("id", i), (double)pbank.getFloat("TProp", i)); + int id = pbank.getShort("id",i); + id2tid.put(id, (int)pbank.getShort("tid", i)); + id2tidB.put(id, (double)pbank.getFloat("B", i)); + id2tidtFlight.put(id, (double)pbank.getFloat("TFlight", i)); + id2tidtProp.put(id, (double)pbank.getFloat("TProp", i)); } DataBank bank = event.getBank(bankName); From 8093688c0618a6ef29392ddfc755baffedbf2f15 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 3 Apr 2026 12:07:29 -0400 Subject: [PATCH 8/9] reduce bank accesses --- .../src/main/java/org/jlab/rec/dc/banks/HitReader.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java index 6fadfb587c..94e760a342 100644 --- a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java +++ b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java @@ -614,12 +614,10 @@ private void setToPionHypothesis(DataEvent event, int trkId, FittedHit hit) { for (int i = 0; i < rows; i++) { if (bank.getByte("detector", i) == 6 && bank.getShort("index", i) == trkId - 1) { - px = event.getBank(partBankName).getFloat("px", - bank.getShort("pindex", i)); - py = event.getBank(partBankName).getFloat("py", - bank.getShort("pindex", i)); - pz = event.getBank(partBankName).getFloat("pz", - bank.getShort("pindex", i)); + short pindex = bank.getShort("pindex",i); + px = event.getBank(partBankName).getFloat("px",pindex); + py = event.getBank(partBankName).getFloat("py",pindex); + pz = event.getBank(partBankName).getFloat("pz",pindex); } } From 7850580bbd047ce10df0d88032b24ff32745883d Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Tue, 12 May 2026 16:05:33 -0400 Subject: [PATCH 9/9] reduce string accessors --- .../java/org/jlab/rec/dc/banks/HitReader.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java index 94e760a342..5138f562b0 100644 --- a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java +++ b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java @@ -608,16 +608,17 @@ private void setToPionHypothesis(DataEvent event, int trkId, FittedHit hit) { double pz=0; if (!event.hasBank(partBankName) || !event.hasBank(trackBankName)) return ; - DataBank bank = event.getBank(trackBankName); + DataBank tbank = event.getBank(trackBankName); + DataBank pbank = event.getBank(partBankName); - int rows = bank.rows(); + int rows = tbank.rows(); for (int i = 0; i < rows; i++) { - if (bank.getByte("detector", i) == 6 && - bank.getShort("index", i) == trkId - 1) { - short pindex = bank.getShort("pindex",i); - px = event.getBank(partBankName).getFloat("px",pindex); - py = event.getBank(partBankName).getFloat("py",pindex); - pz = event.getBank(partBankName).getFloat("pz",pindex); + if (tbank.getByte("detector", i) == 6 && + tbank.getShort("index", i) == trkId - 1) { + short pindex = tbank.getShort("pindex",i); + px = pbank.getFloat("px",pindex); + py = pbank.getFloat("py",pindex); + pz = pbank.getFloat("pz",pindex); } }