aboutsummaryrefslogtreecommitdiff
path: root/src/likelihood.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/likelihood.c')
-rw-r--r--src/likelihood.c29
1 files changed, 7 insertions, 22 deletions
diff --git a/src/likelihood.c b/src/likelihood.c
index f06fade..c90914b 100644
--- a/src/likelihood.c
+++ b/src/likelihood.c
@@ -201,33 +201,17 @@ double nll_muon(event *ev, double T0, double *pos, double *dir, double t0, doubl
* Cerenkov angle. */
x = R*sin(theta_cerenkov-theta)/sin(theta_cerenkov);
- if (x > 0 && x < range) {
- /* Split up the integral at the point where the PMT is at the
- * Cerenkov angle. */
- F.function = &gsl_muon_charge;
- gsl_integration_cquad(&F, 0, x, 0, 1e-2, w, &result, &error, &nevals);
- mu_direct[i] = result;
- gsl_integration_cquad(&F, x, range, 0, 1e-2, w, &result, &error, &nevals);
- mu_direct[i] += result;
+ F.function = &gsl_muon_charge;
+ gsl_integration_cquad(&F, 0, range, 0, 1e-2, w, &result, &error, &nevals);
+ mu_direct[i] = result;
- F.function = &gsl_muon_time;
- gsl_integration_cquad(&F, 0, x, 0, 1e-2, w, &result, &error, &nevals);
- ts[i] = result;
- gsl_integration_cquad(&F, x, range, 0, 1e-2, w, &result, &error, &nevals);
- ts[i] += result;
- } else {
- F.function = &gsl_muon_charge;
- gsl_integration_cquad(&F, 0, range, 0, 1e-2, w, &result, &error, &nevals);
- mu_direct[i] = result;
+ total_charge += mu_direct[i];
+ if (mu_direct[i] > 0.001) {
F.function = &gsl_muon_time;
gsl_integration_cquad(&F, 0, range, 0, 1e-2, w, &result, &error, &nevals);
ts[i] = result;
- }
- total_charge += mu_direct[i];
-
- if (mu_direct[i] > 0.001) {
ts[i] /= mu_direct[i];
ts[i] += t0;
tmean += ts[i];
@@ -239,7 +223,8 @@ double nll_muon(event *ev, double T0, double *pos, double *dir, double t0, doubl
path_free(params.p);
- tmean /= npmt;
+ if (npmt)
+ tmean /= npmt;
gsl_integration_cquad_workspace_free(w);