diff options
Diffstat (limited to 'src/likelihood.c')
-rw-r--r-- | src/likelihood.c | 29 |
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); |