diff options
author | tlatorre <tlatorre@uchicago.edu> | 2018-05-01 16:48:11 -0400 |
---|---|---|
committer | tlatorre <tlatorre@uchicago.edu> | 2018-05-01 16:48:11 -0400 |
commit | c6980ff0ff68f13554169c25cc6f5248fe697cdd (patch) | |
tree | 35a43dccf52c79c00004fb644da397beeb190e0f | |
parent | b98b96017def905786fe8b26867e861975776379 (diff) | |
download | sddm-c6980ff0ff68f13554169c25cc6f5248fe697cdd.tar.gz sddm-c6980ff0ff68f13554169c25cc6f5248fe697cdd.tar.bz2 sddm-c6980ff0ff68f13554169c25cc6f5248fe697cdd.zip |
add some phase space factors for the integral over the earth
-rw-r--r-- | calculate_limits.c | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/calculate_limits.c b/calculate_limits.c index cbcb3a5..6dd37f0 100644 --- a/calculate_limits.c +++ b/calculate_limits.c @@ -2,11 +2,14 @@ #include <gsl/gsl_integration.h> #include <math.h> /* For M_PI */ +/* Mass of dark matter particle (MeV). */ +double mass = 1000.0; + /* Decay length of mediator V (in mm). */ double decay_length = 1000e9; -/* Mass of dark matter particle (MeV). */ -double mass = 1000.0; +/* Cross section for dark matter interaction (in mm^2). */ +double dm_cross_section = 1e-30; /* Approximate dark matter density in MeV/mm^3. From Tom Caldwell's thesis. */ double dm_density = 400e3; @@ -44,7 +47,7 @@ double radius_fiducial = 5000; double x_sno[3]; double epsabs = 1e-1; -double epsrel = 1e-2; +double epsrel = 1e-1; double deg2rad(double deg) { @@ -227,7 +230,11 @@ double f4_earth(double phi_earth, void *params) gsl_integration_workspace_free(w); - return result; + /* For now we assume the event rate is constant throughout the earth, so we + * are implicitly assuming that the cross section is pretty small. */ + double flux = dm_velocity*dm_density/mass; + + return dm_cross_section*number_density*flux*result*data[0]*data[0]*sin(data[1]); } double f3_earth(double theta_earth, void *params) @@ -281,18 +288,16 @@ double get_event_rate(double dm_mass, double gamma_length, double cs) F.function = &f2_earth; F.params = NULL; - /* For now we are storing the gamma decay length as a global variable. */ + /* For now we just use global variables. */ + mass = dm_mass; decay_length = gamma_length; + dm_cross_section = cs; gsl_integration_qags(&F, 0, radius_earth, epsabs, epsrel, 1000, w, &result, &error); gsl_integration_workspace_free(w); - /* For now we assume the event rate is constant throughout the earth, so we - * are implicitly assuming that the cross section is pretty small. */ - double flux = dm_velocity*dm_density/dm_mass; - - return cs*number_density*flux*result; + return result; } int main(int argc, char **argv) @@ -307,7 +312,7 @@ int main(int argc, char **argv) /* Calculate the event rate for a standard DM candidate with a mass of 1 * GeV, and a mediator decay length of 1 m. */ - printf("event rate = %.18e Hz\n", get_event_rate(1000, 1000, 1e-30)); + printf("event rate = %.18e Hz\n", get_event_rate(1000, 1000e9, 1e-30)); return 0; } |