From d70984de03adf3ceb37734b700426d0f1ededd7f Mon Sep 17 00:00:00 2001 From: tlatorre Date: Tue, 11 Sep 2018 10:25:28 -0500 Subject: add absorption length This commit adds the absorption length to the likelihood calculation. For now I'm just using a single number independent of wavelength. I should update this in the future to actually use the absorption lengths as measured by SNO and then calculate an overall absorption length weighted by the Cerenkov spectrum and the PMT quantum efficiency. --- src/muon.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/muon.c') diff --git a/src/muon.c b/src/muon.c index d0eb03a..186363e 100644 --- a/src/muon.c +++ b/src/muon.c @@ -227,11 +227,14 @@ double get_dEdx(double T, double rho) double get_expected_charge(double x, double T, double theta0, double *pos, double *dir, double *pmt_pos, double *pmt_normal, double r) { - double pmt_dir[3], cos_theta, n, wavelength0, omega, E, p, beta, z, R, f, cos_theta_pmt; + double pmt_dir[3], cos_theta, n, wavelength0, omega, E, p, beta, z, R, f, cos_theta_pmt, absorption_length, distance; z = 1.0; SUB(pmt_dir,pmt_pos,pos); + + distance = NORM(pmt_dir); + normalize(pmt_dir); cos_theta_pmt = DOT(pmt_dir,pmt_normal); @@ -264,6 +267,8 @@ double get_expected_charge(double x, double T, double theta0, double *pos, doubl f = get_weighted_pmt_response(acos(-cos_theta_pmt)); + absorption_length = get_absorption_length_snoman_d2o(wavelength0); + /* FIXME: add angular response and scattering/absorption. */ - return f*omega*FINE_STRUCTURE_CONSTANT*z*z*(1-(1/(beta*beta*n*n)))*get_probability(beta, cos_theta, theta0); + return f*exp(-distance/absorption_length)*omega*FINE_STRUCTURE_CONSTANT*z*z*(1-(1/(beta*beta*n*n)))*get_probability(beta, cos_theta, theta0); } -- cgit