aboutsummaryrefslogtreecommitdiff
path: root/src/sno_charge.h
diff options
context:
space:
mode:
authortlatorre <tlatorre@uchicago.edu>2019-11-06 11:28:27 -0600
committertlatorre <tlatorre@uchicago.edu>2019-11-06 11:28:27 -0600
commitb78b16d32f4ed170f4a24d290348765da198d5f0 (patch)
tree52206c009c858785655fea22cd7963433dcfad1c /src/sno_charge.h
parent86f64fd828259760ce7003416b70769cf5ba200d (diff)
downloadsddm-b78b16d32f4ed170f4a24d290348765da198d5f0.tar.gz
sddm-b78b16d32f4ed170f4a24d290348765da198d5f0.tar.bz2
sddm-b78b16d32f4ed170f4a24d290348765da198d5f0.zip
add a couple of improvements to the quad fitter and fix a bug in get_hough_transform()
This commit adds two improvements to the quad fitter: 1. I updated quad to weight the random PMT hit selection by the probability that the PMT hit is a multiphoton hit. The idea here is that we really only want to sample direct light and for high energy events the reflected and scattered light is usually single photon. 2. I added an option to quad to only use points in the quad cloud which are below a given quantile of t0. The idea here is that for particles like muons which travel more than a few centimeters in the detector the quad cloud usually looks like the whole track. Since we want the QUAD fitter to find the position of the *start* of the track we select only those quad cloud points with an early time so the position is closer to the position of the start of the track. Also, I fixed a major bug in get_hough_transform() in which I was using the wrong index variable when checking if a PMT was not flagged, a normal PMT, and was hit. This was causing the algorithm to completely miss finding more than one ring while I was testing it.
Diffstat (limited to 'src/sno_charge.h')
-rw-r--r--src/sno_charge.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/sno_charge.h b/src/sno_charge.h
index 7c6513d..b54f844 100644
--- a/src/sno_charge.h
+++ b/src/sno_charge.h
@@ -19,6 +19,8 @@
double get_qlo(void);
double get_qhi(void);
+double get_qmean(void);
+double get_qstd(void);
double get_most_likely_mean_pe(double q);
void init_charge(void);
double get_log_pq(double q, int n);