From acaf7d2ae5b2402bf82567e1ea9f566391b10142 Mon Sep 17 00:00:00 2001 From: rodwyer100 Date: Wed, 12 Mar 2025 09:12:23 -0700 Subject: [PATCH 1/8] Update ShaperLinearFitAlgorithm.java --- .../tracking/ShaperLinearFitAlgorithm.java | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/tracking/src/main/java/org/hps/recon/tracking/ShaperLinearFitAlgorithm.java b/tracking/src/main/java/org/hps/recon/tracking/ShaperLinearFitAlgorithm.java index ca62366fdc..eb9c9cfee5 100644 --- a/tracking/src/main/java/org/hps/recon/tracking/ShaperLinearFitAlgorithm.java +++ b/tracking/src/main/java/org/hps/recon/tracking/ShaperLinearFitAlgorithm.java @@ -55,6 +55,7 @@ public class ShaperLinearFitAlgorithm implements ShaperFitAlgorithm, FCNBase { private boolean fitPedestal = false; private boolean debug = false; private static final Logger minuitLoggger = Logger.getLogger("org.freehep.math.minuit"); + private int runNum = 1000000; public ShaperLinearFitAlgorithm(int nPulses) { this.nPulses = nPulses; @@ -89,6 +90,11 @@ public void setFitTimeMinimizer(String fitTimeMinimizer) { this.fitTimeMinimizer = fitTimeMinimizer; } + @Override + public void setRunNum(int RunNum){ + this.runNum=RunNum; + } + @Override //===> public Collection fitShape(RawTrackerHit rth, ChannelConstants constants) { public Collection fitShape(RawTrackerHit rth, PulseShape shape) { @@ -142,6 +148,66 @@ public Collection fitShape(short[] samples) { ArrayList fits = new ArrayList(); + double[][] mults={{0.859375, 0.78125, 0.75, 0.796875, 0.875, 0.921875, 0.90625, 0.90625, 0.859375, 0.953125, 0.984375, 0.953125, 0.984375,1.0}, + {1.0, 0.859375, 0.765625, 0.890625, 1.078125, 1.125, 0.96875, 0.96875, 0.890625, 0.984375, 1.015625, 0.984375, 0.984375,1.0}, + {1.046875, 0.90625, 0.828125, 0.890625, 1.0, 1.109375, 1.0, 1.0625, 0.90625, 1.015625, 1.03125, 1.09375, 0.953125,1.0}, + {0.859375, 0.828125, 0.71875, 0.8125, 1.03125, 1.078125, 1.015625, 1.046875, 0.875, 1.03125, 1.0625, 1.09375, 0.953125,1.0}, + {0.84375, 0.796875, 0.71875, 0.75, 1.03125, 1.109375, 0.96875, 1.015625, 0.90625, 1.046875, 1.0625, 1.09375, 0.984375,1.0}, + {0.859375, 0.8125, 0.703125, 0.71875, 1.078125, 1.078125, 1.03125, 1.078125, 0.90625, 1.0625, 1.078125, 1.15625, 1.0,1.0}, + {0.828125, 0.765625, 0.703125, 0.765625, 1.046875, 1.09375, 0.984375, 1.015625, 0.890625, 1.015625, 1.03125, 1.03125, 1.0,1.0}, + {0.828125, 0.71875, 0.6875, 0.734375, 1.078125, 1.125, 1.015625, 1.078125, 0.90625, 1.078125, 1.125, 1.140625, 0.984375,1.0}, + {0.828125, 0.75, 0.71875, 0.765625, 1.0625, 1.125, 1.0, 1.03125, 0.921875, 1.046875, 1.09375, 1.09375, 1.0625,1.0}, + {0.8125, 0.71875, 0.65625, 0.671875, 1.03125, 1.0625, 0.984375, 1.015625, 0.875, 1.015625, 1.046875, 1.03125, 0.96875,1.0}, + {0.84375, 0.703125, 0.6875, 0.703125, 1.0, 1.0625, 0.984375, 1.046875, 0.875, 1.03125, 1.046875, 1.078125, 1.0,1.0}, + {0.765625, 0.703125, 0.625, 0.609375, 1.0, 1.015625, 0.96875, 0.96875, 0.828125, 0.96875, 0.96875, 0.96875, 0.921875,1.0}, + {0.8125, 0.734375, 0.703125, 0.8125, 1.09375, 1.09375, 1.125, 1.078125, 0.84375, 1.0, 1.0, 1.046875, 0.953125,1.0}, + {0.8125, 0.75, 0.671875, 0.71875, 1.03125, 1.03125, 0.96875, 1.015625, 0.875, 1.0, 1.015625, 1.078125, 0.953125,1.0}, + {0.8125, 0.734375, 0.671875, 0.734375, 1.046875, 1.078125, 1.046875, 1.0, 0.875, 1.0, 1.015625, 1.03125, 0.953125,1.0}, + {0.796875, 0.78125, 0.703125, 0.796875, 1.09375, 1.09375, 1.078125, 1.09375, 0.9375, 1.125, 1.09375, 1.171875, 1.125,1.0}, + {0.78125, 0.734375, 0.65625, 0.734375, 1.0, 1.078125, 1.015625, 1.015625, 0.859375, 1.0, 1.03125, 1.046875, 0.953125,1.0}, + {0.71875, 0.65625, 0.640625, 0.640625, 0.90625, 0.9375, 0.96875, 1.0, 0.84375, 1.0, 1.046875, 1.046875, 0.96875,1.0}, + {0.75, 0.703125, 0.640625, 0.75, 1.09375, 1.140625, 1.015625, 0.984375, 0.828125, 0.96875, 0.921875, 1.03125, 0.921875,1.0}, + {0.765625, 0.71875, 0.671875, 0.71875, 1.03125, 1.078125, 1.046875, 1.046875, 0.875, 0.984375, 1.03125, 1.046875, 0.984375,1.0}, + {0.765625, 0.703125, 0.640625, 0.671875, 0.96875, 1.03125, 0.96875, 0.953125, 0.84375, 0.984375, 0.984375, 1.03125, 0.90625,1.0}, + {0.75, 0.734375, 0.671875, 0.75, 1.03125, 1.046875, 0.984375, 1.046875, 0.84375, 1.03125, 1.03125, 1.09375, 0.984375,1.0}, + {0.734375, 0.703125, 0.65625, 0.75, 1.046875, 1.046875, 0.984375, 1.03125, 0.875, 1.03125, 1.015625, 1.046875, 0.984375,1.0}, + {0.734375, 0.71875, 0.703125, 0.765625, 1.125, 1.125, 1.09375, 1.09375, 0.9375, 1.125, 1.109375, 1.1875, 1.109375,1.0}, + + {0.71875, 0.71875, 0.6875, 0.71875, 1.0625, 1.03125, 1.0, 1.03125, 0.859375, 1.046875, 1.0, 1.046875, 0.96875,1.0}, + {0.734375, 0.671875, 0.609375, 0.640625, 1.015625, 1.015625, 1.015625, 1.015625, 0.84375, 1.0, 1.015625, 1.046875, 0.984375,1.0}, + {0.859375, 0.828125, 0.828125, 0.921875, 1.078125, 1.09375, 1.09375, 1.078125, 0.84375, 1.03125, 1.09375, 1.125, 1.03125,1.0}, + {0.875, 0.859375, 0.90625, 0.984375, 1.09375, 1.078125, 1.09375, 1.03125, 0.875, 1.046875, 1.0625, 1.140625, 1.0,1.0}, + {0.890625, 0.859375, 0.828125, 0.859375, 1.0, 1.140625, 1.09375, 1.046875, 0.84375, 1.046875, 1.078125, 1.09375, 0.984375,1.0}, + {0.78125, 0.890625, 0.953125, 0.953125, 0.984375, 1.03125, 0.984375, 0.953125, 0.859375, 1.03125, 1.046875, 1.03125, 0.96875,1.0}, + {0.953125, 0.90625, 0.96875, 1.046875, 1.0, 1.078125, 1.09375, 1.078125, 0.859375, 1.0625, 1.046875, 1.09375, 0.96875,1.0}, + {0.953125, 0.921875, 0.890625, 1.046875, 1.046875, 1.03125, 1.09375, 1.109375, 0.859375, 1.03125, 1.109375, 1.078125, 0.953125,1.0}, + {0.984375, 0.953125, 1.0, 1.078125, 1.015625, 1.03125, 1.0625, 1.046875, 0.828125, 0.984375, 1.0, 1.078125, 0.984375,1.0}, + {1.046875, 1.0, 1.078125, 1.21875, 1.078125, 1.078125, 1.09375, 1.109375, 0.875, 1.109375, 1.078125, 1.125, 1.09375,1.0}, + {1.09375, 1.03125, 1.09375, 1.171875, 1.015625, 1.046875, 1.078125, 1.015625, 0.84375, 1.03125, 1.03125, 1.078125, 0.984375,1.0}, + + {1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0}}; + + int[] runs = {14170,14185,14191,14200,14204,14210,14222,14232,14262,14272, + 14291,14314,14332,14340,14381,14391,14408,14421,14443,14460, + 14470,14482,14506,14520,14540,14550,14573,14596,14612,14654, + 14710,14720,14731,14750,14772}; + boolean helper = true; + int holder = mults.length-1; + //System.out.println("The run number is "); + //System.out.println(this.runNum); + for (int i = 0; i=mults.length-1){ + holder=mults.length-1; + } for (int i = 0; i < nPulses; i++) { ShapeFitParameters fit = new ShapeFitParameters(); fit.setAmp(amplitudes[i]); From a1eb18f2eab77856ad641c34016ca895bd3581af Mon Sep 17 00:00:00 2001 From: rodwyer100 Date: Wed, 12 Mar 2025 09:15:12 -0700 Subject: [PATCH 2/8] Update RawTrackerHitFitterDriver.java --- .../java/org/hps/recon/tracking/RawTrackerHitFitterDriver.java | 1 + 1 file changed, 1 insertion(+) diff --git a/tracking/src/main/java/org/hps/recon/tracking/RawTrackerHitFitterDriver.java b/tracking/src/main/java/org/hps/recon/tracking/RawTrackerHitFitterDriver.java index 2d03af98fd..ee80bfb87b 100644 --- a/tracking/src/main/java/org/hps/recon/tracking/RawTrackerHitFitterDriver.java +++ b/tracking/src/main/java/org/hps/recon/tracking/RawTrackerHitFitterDriver.java @@ -239,6 +239,7 @@ public void process(EventHeader event) { int strip = hit.getIdentifierFieldValue("strip"); HpsSiSensor sensor = (HpsSiSensor) hit.getDetectorElement(); //===> ChannelConstants constants = HPSSVTCalibrationConstants.getChannelConstants((SiSensor) hit.getDetectorElement(), strip); + fitter.setRunNum(event.getRunNumber()); for (ShapeFitParameters fit : fitter.fitShape(hit, shape)) { if (correctTimeOffset) { From 6ccc9dc540823d1a806ba822274c69846bf1e434 Mon Sep 17 00:00:00 2001 From: rodwyer100 Date: Wed, 12 Mar 2025 09:16:42 -0700 Subject: [PATCH 3/8] Update ShaperPileupFitAlgorithm.java --- .../org/hps/recon/tracking/ShaperPileupFitAlgorithm.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tracking/src/main/java/org/hps/recon/tracking/ShaperPileupFitAlgorithm.java b/tracking/src/main/java/org/hps/recon/tracking/ShaperPileupFitAlgorithm.java index ce8a05eca1..da06f8f528 100644 --- a/tracking/src/main/java/org/hps/recon/tracking/ShaperPileupFitAlgorithm.java +++ b/tracking/src/main/java/org/hps/recon/tracking/ShaperPileupFitAlgorithm.java @@ -14,6 +14,7 @@ public class ShaperPileupFitAlgorithm implements ShaperFitAlgorithm { private int refitAttempts = 0; private int refitsAccepted = 0; private int doOldDT = 1; + private int runNum = 1000000; public ShaperPileupFitAlgorithm() { } @@ -28,7 +29,10 @@ public void setFitTimeMinimizer(String fitTimeMinimizer) { this.onePulseFitter.setFitTimeMinimizer(fitTimeMinimizer); this.twoPulseFitter.setFitTimeMinimizer(fitTimeMinimizer); } - + @Override + public void setRunNum(int RunNum){ + this.runNum=RunNum; + } //===> public Collection fitShape(RawTrackerHit rth, HPSSVTCalibrationConstants.ChannelConstants constants) { public Collection fitShape(RawTrackerHit rth, PulseShape shape) { Collection fittedPulses = onePulseFitter.fitShape(rth, shape); From 6fb7d872834b495f68578ff1968e17aad6a391e8 Mon Sep 17 00:00:00 2001 From: rodwyer100 Date: Wed, 12 Mar 2025 09:17:35 -0700 Subject: [PATCH 4/8] Update DumbShaperFit.java --- .../src/main/java/org/hps/recon/tracking/DumbShaperFit.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tracking/src/main/java/org/hps/recon/tracking/DumbShaperFit.java b/tracking/src/main/java/org/hps/recon/tracking/DumbShaperFit.java index 4e71d9cd9b..c529e281ba 100644 --- a/tracking/src/main/java/org/hps/recon/tracking/DumbShaperFit.java +++ b/tracking/src/main/java/org/hps/recon/tracking/DumbShaperFit.java @@ -12,6 +12,7 @@ public class DumbShaperFit implements ShaperFitAlgorithm { private boolean debug = false; private String fitTimeMinimizer = "Simplex"; + private int runNum = 1000000; public DumbShaperFit() { } @@ -20,6 +21,10 @@ public void setDebug(boolean debug) { this.debug = debug; } + @Override + public void setRunNum(int RunNum){ + this.runNum=RunNum; + } @Override public void setFitTimeMinimizer(String fitTimeMinimizer) { this.fitTimeMinimizer = fitTimeMinimizer; From f35059c3790004e4d8e4abdccb0d390480cd648b Mon Sep 17 00:00:00 2001 From: rodwyer100 Date: Wed, 12 Mar 2025 09:18:24 -0700 Subject: [PATCH 5/8] Update ShaperAnalyticFitAlgorithm.java --- .../org/hps/recon/tracking/ShaperAnalyticFitAlgorithm.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tracking/src/main/java/org/hps/recon/tracking/ShaperAnalyticFitAlgorithm.java b/tracking/src/main/java/org/hps/recon/tracking/ShaperAnalyticFitAlgorithm.java index 234592a493..b31613a52d 100644 --- a/tracking/src/main/java/org/hps/recon/tracking/ShaperAnalyticFitAlgorithm.java +++ b/tracking/src/main/java/org/hps/recon/tracking/ShaperAnalyticFitAlgorithm.java @@ -15,12 +15,18 @@ public class ShaperAnalyticFitAlgorithm implements ShaperFitAlgorithm { private boolean debug = false; + private int runNum = 1000000; public String fitTimeMinimizer; public void setDebug(boolean debug) { this.debug = debug; } + @Override + public void setRunNum(int RunNum){ + this.runNum=RunNum; + } + @Override public void setFitTimeMinimizer(String fitTimeMinimizer) { this.fitTimeMinimizer = fitTimeMinimizer; From fc113c6aade0f404bc3caaf971117ecef5651c7d Mon Sep 17 00:00:00 2001 From: rodwyer100 Date: Wed, 12 Mar 2025 09:19:07 -0700 Subject: [PATCH 6/8] Update ShaperFitAlgorithm.java --- .../main/java/org/hps/recon/tracking/ShaperFitAlgorithm.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tracking/src/main/java/org/hps/recon/tracking/ShaperFitAlgorithm.java b/tracking/src/main/java/org/hps/recon/tracking/ShaperFitAlgorithm.java index acbc06f654..279be0f249 100644 --- a/tracking/src/main/java/org/hps/recon/tracking/ShaperFitAlgorithm.java +++ b/tracking/src/main/java/org/hps/recon/tracking/ShaperFitAlgorithm.java @@ -11,5 +11,7 @@ public interface ShaperFitAlgorithm { public void setDebug(boolean debug); + public void setRunNum(int runNum); + public void setFitTimeMinimizer(String fitTimeMinimizer); } From e05d5189435b75bffc83e77a9e847d5a25774c9f Mon Sep 17 00:00:00 2001 From: rodwyer100 Date: Wed, 12 Mar 2025 09:22:57 -0700 Subject: [PATCH 7/8] Update ShaperLinearFitAlgorithm.java --- .../org/hps/recon/tracking/ShaperLinearFitAlgorithm.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tracking/src/main/java/org/hps/recon/tracking/ShaperLinearFitAlgorithm.java b/tracking/src/main/java/org/hps/recon/tracking/ShaperLinearFitAlgorithm.java index eb9c9cfee5..7ed400cd47 100644 --- a/tracking/src/main/java/org/hps/recon/tracking/ShaperLinearFitAlgorithm.java +++ b/tracking/src/main/java/org/hps/recon/tracking/ShaperLinearFitAlgorithm.java @@ -211,11 +211,12 @@ public Collection fitShape(short[] samples) { for (int i = 0; i < nPulses; i++) { ShapeFitParameters fit = new ShapeFitParameters(); fit.setAmp(amplitudes[i]); - fit.setAmpErr(amplitudeErrors[i]); + fit.setAmpErr(amplitudeErrors[i]/mults[holder][sensor.getLayerNumber()-1]); + //Note IF WE CHOOSE TO DO FIT PEDESTAL, THESE WILL NEED TO BE FIXED!!! if (fitPedestal) { - fit.setChiProb(Gamma.regularizedGammaQ(samples.length - 2 * nPulses - 1, chisq)); + fit.setChiProb(Gamma.regularizedGammaQ(samples.length - 2 * nPulses - 1, chisq/mults[holder][sensor.getLayerNumber()-1])); } else { - fit.setChiProb(Gamma.regularizedGammaQ(samples.length - 2 * nPulses, chisq)); + fit.setChiProb(Gamma.regularizedGammaQ(samples.length - 2 * nPulses, chisq/mults[holder][sensor.getLayerNumber()-1])); } fit.setT0(min.userState().value(i)); From 012cb9b1e39af86f566fb923f27a1011f3890f67 Mon Sep 17 00:00:00 2001 From: rodwyer100 Date: Fri, 14 Mar 2025 11:29:51 -0700 Subject: [PATCH 8/8] Update NearestNeighborRMSClusterer.java --- .../org/hps/recon/tracking/NearestNeighborRMSClusterer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tracking/src/main/java/org/hps/recon/tracking/NearestNeighborRMSClusterer.java b/tracking/src/main/java/org/hps/recon/tracking/NearestNeighborRMSClusterer.java index cfee9dd5cf..0978334ddc 100644 --- a/tracking/src/main/java/org/hps/recon/tracking/NearestNeighborRMSClusterer.java +++ b/tracking/src/main/java/org/hps/recon/tracking/NearestNeighborRMSClusterer.java @@ -30,7 +30,7 @@ public class NearestNeighborRMSClusterer implements ClusteringAlgorithm { private double _timeWindow = 48; private double _neighborDeltaT = Double.POSITIVE_INFINITY; private double _neighborDeltaTSigma = Double.POSITIVE_INFINITY; - private final double _minChiProb = Gamma.regularizedGammaQ(4, 20); + private final double _minChiProb = .01;//Gamma.regularizedGammaQ(4, 20); private double _doTimeError = 0.0; private boolean _doDeadFix = false; private boolean _doVSplit = false;