From 49e982b4bc495ad9947685a2844ccd03b0a7bc2f Mon Sep 17 00:00:00 2001 From: tlatorre Date: Mon, 17 Sep 2018 09:20:22 -0500 Subject: fix bug in single PE charge This commit makes sure that when we conolve the single PE charge distribution with a gaussian we integrate starting at zero since the PDF is zero for q < 0. --- src/sno_charge.c | 2 +- src/test.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/sno_charge.c b/src/sno_charge.c index 31de608..f96655b 100644 --- a/src/sno_charge.c +++ b/src/sno_charge.c @@ -231,7 +231,7 @@ void init_charge(void) for (j = 0; j < nq; j++) { params[0] = x[j]; params[1] = i; - gsl_integration_cquad(&F, x[j]-QSMEAR_ADC*10/MEAN_HIPT, x[j]+QSMEAR_ADC*10/MEAN_HIPT, 0, 1e-4, w, &result, &error, &nevals); + gsl_integration_cquad(&F, fmax(0.0,x[j]-QSMEAR_ADC*10/MEAN_HIPT), x[j]+QSMEAR_ADC*10/MEAN_HIPT, 0, 1e-4, w, &result, &error, &nevals); y[j] = result; } gsl_spline_free(splines[i-1]); diff --git a/src/test.c b/src/test.c index 9976f1f..6d7d934 100644 --- a/src/test.c +++ b/src/test.c @@ -278,7 +278,7 @@ int test_sno_charge_integral(char *err) gsl_integration_cquad(&F, -10.0, 1000.0, 0, 1e-9, w, &result, &error, &nevals); - if (!isclose(result, 1.0, 1e-9, 1e-9)) { + if (!isclose(result, 1.0, 1e-9, 1e-3)) { sprintf(err, "integral of single PE charge distribution is %.2f", result); goto err; } -- cgit