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..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 @@ -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); @@ -356,6 +357,10 @@ private void read_HBHits(TimeToDistanceEstimator tde) { double[] tFlight = new double[rows]; double[] trkDoca = new double[rows]; + final boolean ismc = event.hasBank("MC::Particle") ? true : event.getBank("RUN::config").getInt("run",0)<=100; + + 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); status[i] = bank.getShort("status", i); @@ -378,8 +383,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; } @@ -393,25 +397,15 @@ private void read_HBHits(TimeToDistanceEstimator tde) { continue; } - double T_0 = 0; - double T_Start = 0; - if (!event.hasBank(recBankName)) { continue; } - if (event.hasBank(recBankName) && - event.getBank(recBankName).getFloat("startTime", 0)==-1000) { + double T_0 = 0; + if (T_Start == -1000) { continue; } - if (!event.hasBank("MC::Particle") && - event.getBank("RUN::config").getInt("run", 0) > 100) { - //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_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]); @@ -621,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); } }