From ffc2f2a72724132b83c2e6ebe5f73596162b44c1 Mon Sep 17 00:00:00 2001 From: Raffaella De Vita Date: Thu, 21 May 2026 20:15:41 -0400 Subject: [PATCH 1/3] adding hit-track matchinng info --- etc/bankdefs/hipo4/rich.json | 2 ++ .../jlab/calibration/detectors/RICHBankBuilder.java | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/etc/bankdefs/hipo4/rich.json b/etc/bankdefs/hipo4/rich.json index 8b5a57415d..57f16c6002 100644 --- a/etc/bankdefs/hipo4/rich.json +++ b/etc/bankdefs/hipo4/rich.json @@ -238,6 +238,8 @@ {"name":"time", "type":"F", "info":"Hit time" }, {"name":"rawtime", "type":"F", "info":"Hit rawtime" }, {"name":"duration", "type":"S", "info":"Hit duration" }, + {"name":"mchi2", "type":"F", "info":"Track-cluster matching chi2 (if any)"}, + {"name":"msize", "type":"S", "info":"Cluster size"}, {"name":"status", "type":"S", "info":"Hit status" }, {"name":"used", "type":"B", "info":"eligible for PID in time (1=yes, 0=no) angle (10=yes, 0=no) hypo (100=by other) or cluster (2)"}, {"name":"emilay", "type":"B", "info":"aerogel layer of photon emission"}, diff --git a/reconstruction/calib/src/main/java/org/jlab/calibration/detectors/RICHBankBuilder.java b/reconstruction/calib/src/main/java/org/jlab/calibration/detectors/RICHBankBuilder.java index 5f52852a1f..4c5d8ac6fe 100644 --- a/reconstruction/calib/src/main/java/org/jlab/calibration/detectors/RICHBankBuilder.java +++ b/reconstruction/calib/src/main/java/org/jlab/calibration/detectors/RICHBankBuilder.java @@ -35,6 +35,7 @@ public DataBank buildCalibBank(DataEvent event) { DataBank part = event.getBank("REC::Particle"); DataBank rich = event.getBank("RICH::Particle"); DataBank hits = event.getBank("RICH::Hit"); + DataBank clus = event.getBank("RICH::Cluster"); DataBank phos = event.getBank("RICH::Photon"); List goodPhotons = new ArrayList<>(); @@ -45,9 +46,12 @@ public DataBank buildCalibBank(DataEvent event) { } Map part2Rich = new HashMap<>(); + Map clus2Rich = new HashMap<>(); for(int i=0; i goodClusters = new ArrayList<>(); @@ -99,6 +103,7 @@ public DataBank buildCalibBank(DataEvent event) { row++; } for(int i : goodClusters) { + int cluster = hits.getShort("cluster", i); calib.setShort("hindex", row, (short) i); calib.setByte( "sector", row, (byte) hits.getShort("sector", i)); calib.setShort("pmt", row, hits.getShort("pmt", i)); @@ -111,6 +116,14 @@ public DataBank buildCalibBank(DataEvent event) { calib.setFloat("time", row, hits.getFloat("time", i)); calib.setFloat("rawtime", row, hits.getFloat("rawtime", i)); calib.setShort("duration", row, hits.getShort("duration", i)); + if(clus2Rich.containsKey(cluster-1)) { + int rindex = clus2Rich.get(cluster-1); + calib.setShort("pindex", row, rich.getShort("pindex", rindex)); + calib.setFloat("mchi2", row, rich.getFloat("mchi2", rindex)); + calib.setShort("msize", row, clus.getShort("size", cluster-1)); + } + else + calib.setShort("pindex", row, (short) -1); row++; } return calib; From 6a944daaa662f7e3a39220cafd000eb9015f9d17 Mon Sep 17 00:00:00 2001 From: Raffaella De Vita Date: Fri, 22 May 2026 19:04:25 -0400 Subject: [PATCH 2/3] fixed type in reading/writing from/to the bank --- .../java/org/jlab/calibration/detectors/RICHBankBuilder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reconstruction/calib/src/main/java/org/jlab/calibration/detectors/RICHBankBuilder.java b/reconstruction/calib/src/main/java/org/jlab/calibration/detectors/RICHBankBuilder.java index 4c5d8ac6fe..337488d284 100644 --- a/reconstruction/calib/src/main/java/org/jlab/calibration/detectors/RICHBankBuilder.java +++ b/reconstruction/calib/src/main/java/org/jlab/calibration/detectors/RICHBankBuilder.java @@ -118,7 +118,7 @@ public DataBank buildCalibBank(DataEvent event) { calib.setShort("duration", row, hits.getShort("duration", i)); if(clus2Rich.containsKey(cluster-1)) { int rindex = clus2Rich.get(cluster-1); - calib.setShort("pindex", row, rich.getShort("pindex", rindex)); + calib.setByte("pindex", row, rich.getByte("pindex", rindex)); calib.setFloat("mchi2", row, rich.getFloat("mchi2", rindex)); calib.setShort("msize", row, clus.getShort("size", cluster-1)); } From 65b3a4b1ba93e4e4c56dc2bee746a33d4093e249 Mon Sep 17 00:00:00 2001 From: Raffaella De Vita Date: Fri, 22 May 2026 19:22:12 -0400 Subject: [PATCH 3/3] fixed type in reading/writing from/to the bank --- .../java/org/jlab/calibration/detectors/RICHBankBuilder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reconstruction/calib/src/main/java/org/jlab/calibration/detectors/RICHBankBuilder.java b/reconstruction/calib/src/main/java/org/jlab/calibration/detectors/RICHBankBuilder.java index 337488d284..4309ff89ef 100644 --- a/reconstruction/calib/src/main/java/org/jlab/calibration/detectors/RICHBankBuilder.java +++ b/reconstruction/calib/src/main/java/org/jlab/calibration/detectors/RICHBankBuilder.java @@ -123,7 +123,7 @@ public DataBank buildCalibBank(DataEvent event) { calib.setShort("msize", row, clus.getShort("size", cluster-1)); } else - calib.setShort("pindex", row, (short) -1); + calib.setByte("pindex", row, (byte) -1); row++; } return calib;