From 211f4de0c6db05099f242a656678a3ae2547b557 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Thu, 2 Apr 2026 19:27:25 -0400 Subject: [PATCH 1/8] 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 eaa35990c4..5f779b562b 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 @@ -128,9 +128,9 @@ private void getDCRBJitters(boolean swapBits) { DataBank bankTS = event.getBank(bankNames.getTimeStampBank()); for(int i=0; i>24)|((timestamp&0x0000000000ffffffL)<<24)); } From c61c818ac2362cf642ad1373b2ff42bfdce32891 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 3 Apr 2026 10:55:32 -0400 Subject: [PATCH 2/8] reduce check calculations and redundancies --- .../main/java/org/jlab/rec/dc/banks/HitReader.java | 14 ++++++-------- 1 file changed, 6 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 5f779b562b..c1606dfcbd 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[] 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); @@ -378,8 +380,7 @@ private void read_HBHits(TimeToDistanceEstimator tde) { tFlight[i] = this.id2tidtFlight.get(id[i]); } - if (event.hasBank("MC::Particle") || - event.getBank("RUN::config").getInt("run", 0) < 100) { + if (ismc) { tProp[i] = 0; tFlight[i] = 0; } @@ -400,16 +401,13 @@ 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("MC::Particle") && - event.getBank("RUN::config").getInt("run", 0) > 100) { + if (!ismc) { //T_0 = this.getT0(sector[i], slayer[i], layer[i], wire[i], T0, T0ERR)[0]; - if (event.hasBank(recBankName)) - T_Start = event.getBank(recBankName).getFloat("startTime", 0); + T_Start = event.getBank(recBankName).getFloat("startTime", 0); } T_0 = this.getT0(sector[i], slayer[i], layer[i], wire[i], t0s)[0]; From 7d87bf003bcbc5236c45c061363c6e15a3223ab3 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 3 Apr 2026 10:58:07 -0400 Subject: [PATCH 3/8] 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 c1606dfcbd..8b1d3ce420 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 @@ -394,22 +394,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 b62ffd5e6369d6fcbd2c24cd325bb42ebb040ad2 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 3 Apr 2026 11:14:31 -0400 Subject: [PATCH 4/8] 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 8b1d3ce420..a6fa6b4e96 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 @@ -128,9 +128,9 @@ private void getDCRBJitters(boolean swapBits) { DataBank bankTS = event.getBank(bankNames.getTimeStampBank()); for(int i=0; i>24)|((timestamp&0x0000000000ffffffL)<<24)); } From a6abc5071eefb236a90426af8d86e7babbdf2a87 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 3 Apr 2026 11:22:09 -0400 Subject: [PATCH 5/8] 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 a6fa6b4e96..8d24f4e2de 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 @@ -357,6 +357,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); @@ -399,8 +401,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 efc2d8d72c4be113ed99db08f0315e4d56999b8f Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 3 Apr 2026 12:04:25 -0400 Subject: [PATCH 6/8] 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 8d24f4e2de..e448a9c678 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,9 +356,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 1f9123a549e34326e94dead6f170390e92e8ca11 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 3 Apr 2026 12:05:05 -0400 Subject: [PATCH 7/8] 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 e448a9c678..34c0885d34 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 @@ -331,10 +331,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 2632dfe2dfa84596afd24d8871e7f5dc0fa0a8b5 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 3 Apr 2026 12:07:29 -0400 Subject: [PATCH 8/8] 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 34c0885d34..b91a84f712 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 @@ -615,12 +615,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); } }