DarkBit_standalone_WIMP.cpp
Go to the documentation of this file.
34 using namespace BackendIniBit::Functown; // Functors wrapping the backend initialisation functions 36 QUICK_FUNCTION(DarkBit, TH_ProcessCatalog, OLD_CAPABILITY, TH_ProcessCatalog_WIMP, TH_ProcessCatalog, ()) 38 QUICK_FUNCTION(DarkBit, DarkMatterConj_ID, OLD_CAPABILITY, DarkMatterConj_ID_WIMP, std::string, ()) 39 QUICK_FUNCTION(DarkBit, DD_couplings, OLD_CAPABILITY, DD_couplings_WIMP, DM_nucleon_couplings, ()) 64 void dumpSpectrum(std::string filename, double mWIMP, double sv, std::vector<double> brList, double mPhi = -1) 185 // Note: In the three body final states, the gamma yield from AnnYield currently is just the contribution 235 std::cout << "**************************************************************************************" << std::endl; 236 std::cout << "This standalone example demonstrates how to calculate a range of observables and " << std::endl; 237 std::cout << "likelihoods for a generic WIMP model defined by the WIMP mass and an annihilation (or " << std::endl; 238 std::cout << "scattering) cross section. The model also contains three scalar particles which decay:" << std::endl; 244 std::cout << " 0: Outputs spectrum of gamma rays from WIMP annihilation to b bbar (dPhi_dE0.dat)" << std::endl; 245 std::cout << " 1: Outputs spectrum of gamma rays from WIMP annihilation to gamma Z_0 (dPhi_dE1.dat)" << std::endl; 246 std::cout << " 2: Outputs spectrum of gamma rays from WIMP annihilation to gamma gamma (dPhi_dE2.dat)" << std::endl; 247 std::cout << " 3: Outputs spectrum of gamma rays from WIMP annihilation to tau+ tau- (dPhi_dE3.dat)" << std::endl; 248 std::cout << " 4: Outputs spectrum of gamma rays from WIMP annihilation to W+ W- (dPhi_dE4.dat)" << std::endl; 249 std::cout << " 5: Outputs spectrum of gamma rays from WIMP annihilation to gamma e+ e- " << std::endl; 253 std::cout << " 7: Outputs tables of direct detection likelihoods in sigma / m_WIMP parameter" << std::endl; 255 std::cout << " >=10: Outputs spectrum of gamma rays from WIMP annihilation to phi phi_2. The" << std::endl; 256 std::cout << " mode value is m_phi while m_phi_2=100 GeV (dPhi_dE_FCMC_(mode).dat)" << std::endl; 258 std::cout << "**************************************************************************************" << std::endl; 281 if (not Backends::backendInfo().works["DarkSUSY_generic_wimp6.2.5"]) backend_error().raise(LOCAL_INFO, "DarkSUSY_generic_wimp_6.2.5 is missing!"); 282 if (not Backends::backendInfo().works["gamLike1.0.1"]) backend_error().raise(LOCAL_INFO, "gamLike 1.0.1 is missing!"); 283 if (not Backends::backendInfo().works["DDCalc2.2.0"]) backend_error().raise(LOCAL_INFO, "DDCalc 2.2.0 is missing!"); 284 if (not Backends::backendInfo().works["MicrOmegas_MSSM3.6.9.2"]) backend_error().raise(LOCAL_INFO, "MicrOmegas 3.6.9.2 for MSSM is missing!"); 289 ModelParameters* Halo_primary_parameters = Models::Halo_Einasto::Functown::primary_parameters.getcontentsPtr(); 303 ExtractLocalMaxwellianHalo.resolveDependency(&Models::Halo_Einasto::Functown::primary_parameters); 341 SimYieldTable_DarkSUSY.resolveBackendReq(&Backends::DarkSUSY_generic_wimp_6_2_5::Functown::dsanyield_sim); 362 cascadeMC_FinalStates.setOption<std::vector<std::string>>("cMC_finalStates", daFunk::vec((std::string)"gamma")); 376 &cascadeMC_InitialState, &cascadeMC_GenerateChain, &cascadeMC_Histograms, &cascadeMC_EventCount); 464 RD_oh2_DS_general.resolveBackendReq(&Backends::DarkSUSY_generic_wimp_6_2_5::Functown::dsrdstart); 476 PICO_60_2017_Calc.resolveBackendReq(&Backends::DDCalc_2_2_0::Functown::DDCalc_CalcRates_simple); 478 XENON1T_2017_Calc.resolveBackendReq(&Backends::DDCalc_2_2_0::Functown::DDCalc_CalcRates_simple); 485 PandaX_2017_GetLogLikelihood.resolveBackendReq(&Backends::DDCalc_2_2_0::Functown::DDCalc_Experiment); 486 PandaX_2017_GetLogLikelihood.resolveBackendReq(&Backends::DDCalc_2_2_0::Functown::DDCalc_LogLikelihood); 488 XENON1T_2017_GetLogLikelihood.resolveBackendReq(&Backends::DDCalc_2_2_0::Functown::DDCalc_Experiment); 489 XENON1T_2017_GetLogLikelihood.resolveBackendReq(&Backends::DDCalc_2_2_0::Functown::DDCalc_LogLikelihood); 491 PICO_60_2017_GetLogLikelihood.resolveBackendReq(&Backends::DDCalc_2_2_0::Functown::DDCalc_Experiment); 492 PICO_60_2017_GetLogLikelihood.resolveBackendReq(&Backends::DDCalc_2_2_0::Functown::DDCalc_LogLikelihood); 512 // The array that is being passed to dumpSpectrum give the branching fraction to various final states. 522 if (mode==5) dumpSpectrum("dPhi_dE5.dat", mass, sv*0.1, daFunk::vec<double>(0., 0., 0., 0., 0., 0., 0., 1.)); 523 if (mode==0) dumpSpectrum("dPhi_dE0.dat", mass, sv, daFunk::vec<double>(1., 0., 0., 0., 0., 0., 0., 0.)); 524 if (mode==1) dumpSpectrum("dPhi_dE1.dat", mass, sv, daFunk::vec<double>(0., 1., 0., 0., 0., 0., 0., 0.)); 525 if (mode==2) dumpSpectrum("dPhi_dE2.dat", mass, sv, daFunk::vec<double>(0., 0., 1., 0., 0., 0., 0., 0.)); 526 if (mode==3) dumpSpectrum("dPhi_dE3.dat", mass, sv, daFunk::vec<double>(0., 0., 0., 1., 0., 0., 0., 0.)); 527 if (mode==4) dumpSpectrum("dPhi_dE4.dat", mass, sv, daFunk::vec<double>(0., 0., 0., 0., 1., 0., 0., 0.)); 562 std::cout << "Calculating gamma-ray likelihood tables for annihilation to b bbar." << std::endl; 572 TH_ProcessCatalog_WIMP.setOption<std::vector<double>>("brList", daFunk::vec<double>(1., 0., 0., 0., 0., 0., 0., 0.)); 613 std::cout << "Calculating Fermi-LAT dwarf spheroidal likehood table for annihilation to tau+ tau-." << std::endl; 623 TH_ProcessCatalog_WIMP.setOption<std::vector<double>>("brList", daFunk::vec<double>(0., 0., 0., 1., 0., 0., 0., 0.)); 656 TH_ProcessCatalog_WIMP.setOption<std::vector<double>>("brList", daFunk::vec<double>(0., 0., 0., 0., 0., 1., 0., 0.)); 691 TH_ProcessCatalog_WIMP.setOption<std::vector<double>>("brList", daFunk::vec<double>(1., 0., 0., 0., 0., 0., 0., 0.)); 865 std::cout << "DarkBit_standalone_WIMP has exited with fatal exception: " << e.what() << std::endl; void lnL_FermiGC_gamLike(double &result) Fermi LAT galactic center likelihoods, using gamLike backend. Definition: SimpleLikelihoods.cpp:256 void cascadeMC_FinalStates(std::vector< std::string > &list) Function for retrieving list of final states for cascade decays. Definition: Cascades.cpp:41 void GA_missingFinalStates(std::vector< std::string > &result) Identification of final states that are not yet tabulated. Definition: GamYields.cpp:61 void dumpSpectrum(std::string filename, double mWIMP, double sv, std::vector< double > brList, double mPhi=-1) Definition: DarkBit_standalone_WIMP.cpp:64 TH_ParticleProperty getParticleProperty(str) const Retrieve properties of a given particle involved in one or more processes in this catalog... Definition: ProcessCatalog.cpp:161 void TH_ProcessCatalog_WIMP(TH_ProcessCatalog &result) Definition: DarkBit_standalone_WIMP.cpp:95 void sigma_SI_p_simple(double &result) Simple calculator of the spin-independent WIMP-proton cross-section. Definition: DirectDetection.cpp:301 Includes everything needed to use a GAMBIT module as a standalone analysis code. void RD_fraction_one(double &result) Definition: RelicDensity.cpp:1115 void SimYieldTable_DarkSUSY(SimYieldTable &result) SimYieldTable based on DarkSUSY6 tabulated results. Definition: GamYields.cpp:640 STL namespace. void cascadeMC_InitialState(std::string &pID) Function selecting initial state for decay chain. Definition: Cascades.cpp:140 std::vector< double > threshold_energy Definition: ProcessCatalog.hpp:66 void dump_GammaSpectrum(double &result) Helper function to dump gamma-ray spectra. Definition: SimpleLikelihoods.cpp:475 void SimYieldTable_MicrOmegas(SimYieldTable &result) SimYieldTable based on MicrOmegas tabulated results. Definition: GamYields.cpp:773 Helpers for making simple spectra from SLHAea objects. void RD_spectrum_from_ProcessCatalog(RD_spectrum_type &result) Collects information about resonances and threshold energies directly from the ProcessCatalog [NB: th... Definition: RelicDensity.cpp:302 General small utility functions. void cascadeMC_EventCount(std::map< std::string, int > &counts) Event counter for cascade decays. Definition: Cascades.cpp:175 void setValue(std::string const &inkey, double const &value) Set single parameter value. Definition: model_parameters.cpp:116 void cascadeMC_GenerateChain(DarkBit::DecayChain::ChainContainer &chain) Function for generating decay chains. Definition: Cascades.cpp:198 void GA_AnnYield_General(daFunk::Funk &result) General routine to derive annihilation yield. Definition: GamYields.cpp:420 TH_resonances_thresholds resonances_thresholds List of resonances and thresholds. Definition: ProcessCatalog.hpp:156 void initialise_standalone_logs(str) Logger setup standalone utility function. Definition: standalone_utils.cpp:26 Definition: log_tags.hpp:36 void DarkMatterConj_ID_WIMP(std::string &result) Definition: DarkBit_standalone_WIMP.cpp:208 void lnL_FermiLATdwarfs_gamLike(double &result) Fermi LAT dwarf likelihoods, using gamLike backend. Definition: SimpleLikelihoods.cpp:136 A container holding all annihilation and decay initial states relevant for DarkBit. Definition: ProcessCatalog.hpp:163 std::vector< double > logspace(double x0, double x1, unsigned int n) Definition: daFunk.hpp:186 const Logging::endofmessage EOM Explicit const instance of the end of message struct in Gambit namespace. Definition: logger.hpp:100 void set_gamLike_GC_halo(bool &result) Fermi LAT dwarf likelihoods, based on arXiv:1108.2914. Definition: SimpleLikelihoods.cpp:117 QUICK_FUNCTION(DarkBit, TH_ProcessCatalog, OLD_CAPABILITY, TH_ProcessCatalog_WIMP, TH_ProcessCatalog,()) QUICK_FUNCTION(DarkBit EXPORT_SYMBOLS Logging::LogMaster & logger() Function to retrieve a reference to the Gambit global log object. Definition: logger.cpp:95 void dump_array_to_file(const std::string &filename, const boost::multi_array< double, 2 > &a, const std::vector< double > &x, const std::vector< double > &y) Definition: DarkBit_standalone_WIMP.cpp:42 All data on a single annihilation or decay channel, e.g. Definition: ProcessCatalog.hpp:84 void ExtractLocalMaxwellianHalo(LocalMaxwellianHalo &result) Module function providing local density and velocity dispersion parameters. Definition: DarkBit.cpp:177 Rollcall header for module DarkBit. void lnL_HESSGC_gamLike(double &result) Definition: SimpleLikelihoods.cpp:177 void mwimp_generic(double &result) Retrieve the DM mass in GeV for generic models (GeV) Definition: DarkBit.cpp:60 void cascadeMC_Histograms(std::map< std::string, std::map< std::string, SimpleHist > > &result) Function responsible for histogramming, and evaluating end conditions for event loop. Definition: Cascades.cpp:363 void cascadeMC_DecayTable(DarkBit::DecayChain::DecayTable &table) Function setting up the decay table used in decay chains. Definition: Cascades.cpp:58 Definition: model_parameters.hpp:53 void DM_process_from_ProcessCatalog(std::string &result) Information about the nature of the DM process in question (i.e. Definition: DarkBit.cpp:114 void RD_oh2_DS_general(double &result) General routine for calculation of relic density, using DarkSUSY 6+ Boltzmann solver. Definition: RelicDensity.cpp:596 std::vector< TH_Process > processList Vector of all processes in this catalog. Definition: ProcessCatalog.hpp:186 void GalacticHalo_Einasto(GalacticHaloProperties &result) Module function to generate GalacticHaloProperties for Einasto profile. Definition: DarkBit.cpp:165 void lnL_CTAGC_gamLike(double &result) Definition: SimpleLikelihoods.cpp:220 #define addParticle(Name, Mass, spinX2) void RD_spectrum_ordered_func(RD_spectrum_type &result) Order RD_spectrum object and derive coannihilation thresholds. Definition: RelicDensity.cpp:345 double E(const double x, const double y) Definition: flav_loop_functions.hpp:280 |