threeML 2.4.3.dev1__tar.gz → 2.5.0.dev1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. {threeml-2.4.3.dev1/threeML.egg-info → threeml-2.5.0.dev1}/PKG-INFO +5 -2
  2. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/_version.py +3 -3
  3. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/analysis_results.py +1 -3
  4. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/bayesian/bayesian_analysis.py +2 -3
  5. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/bayesian/ultranest_sampler.py +18 -19
  6. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/classicMLE/goodness_of_fit.py +3 -1
  7. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/classicMLE/joint_likelihood.py +1 -2
  8. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/classicMLE/joint_likelihood_set.py +7 -0
  9. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/minimizer/minimization.py +25 -27
  10. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/minimizer/tutorial_material.py +7 -3
  11. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_FermiLATLike.py +1 -1
  12. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/data_download/Fermi_LAT/download_LAT_data.py +2 -2
  13. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/spectrum/pha_spectrum.py +4 -6
  14. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/statistics/likelihood_functions.py +4 -2
  15. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1/threeML.egg-info}/PKG-INFO +5 -2
  16. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/LICENSE +0 -0
  17. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/MANIFEST.in +0 -0
  18. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/README.md +0 -0
  19. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/setup.cfg +0 -0
  20. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/setup.py +0 -0
  21. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/__init__.py +0 -0
  22. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/bayesian/__init__.py +0 -0
  23. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/bayesian/autoemcee_sampler.py +0 -0
  24. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/bayesian/dynesty_sampler.py +0 -0
  25. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/bayesian/emcee_sampler.py +0 -0
  26. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/bayesian/multinest_sampler.py +0 -0
  27. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/bayesian/nautilus_sampler.py +0 -0
  28. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/bayesian/sampler_base.py +0 -0
  29. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/bayesian/tutorial_material.py +0 -0
  30. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/bayesian/zeus_sampler.py +0 -0
  31. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/catalogs/Fermi.py +0 -0
  32. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/catalogs/FermiGBM.py +0 -0
  33. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/catalogs/FermiLAT.py +0 -0
  34. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/catalogs/FermiLLE.py +0 -0
  35. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/catalogs/Swift.py +0 -0
  36. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/catalogs/VirtualObservatoryCatalog.py +0 -0
  37. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/catalogs/__init__.py +0 -0
  38. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/catalogs/catalog_utils.py +0 -0
  39. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/classicMLE/__init__.py +0 -0
  40. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/classicMLE/likelihood_ratio_test.py +0 -0
  41. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/config/__init__.py +0 -0
  42. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/config/catalog_structure.py +0 -0
  43. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/config/config.py +0 -0
  44. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/config/config_structure.py +0 -0
  45. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/config/config_utils.py +0 -0
  46. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/config/fitting_structure.py +0 -0
  47. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/config/plotting_structure.py +0 -0
  48. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/config/plugin_structure.py +0 -0
  49. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/config/point_source_structure.py +0 -0
  50. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/bat/gbm_bat_joint_BAT.pha +0 -0
  51. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/bat/gbm_bat_joint_BAT.rsp +0 -0
  52. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/bn090217206/bn090217206_b1_bkgspectra.bak +0 -0
  53. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/bn090217206/bn090217206_b1_srcspectra.pha +0 -0
  54. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/bn090217206/bn090217206_b1_weightedrsp.rsp +0 -0
  55. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/bn090217206/bn090217206_n6_bkgspectra.bak +0 -0
  56. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/bn090217206/bn090217206_n6_srcspectra.pha +0 -0
  57. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/bn090217206/bn090217206_n6_weightedrsp.rsp +0 -0
  58. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/bn090217206/bn090217206_n9_bkgspectra.bak +0 -0
  59. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/bn090217206/bn090217206_n9_srcspectra.pha +0 -0
  60. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/bn090217206/bn090217206_n9_weightedrsp.rsp +0 -0
  61. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/example_integral.pha +0 -0
  62. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/example_integral.rsp +0 -0
  63. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/example_integral_spi.pha +0 -0
  64. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/example_integral_spi.rsp +0 -0
  65. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/gbm/bn080916009/glg_cspec_b0_bn080916009_v00.rsp2 +0 -0
  66. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/gbm/bn080916009/glg_cspec_n3_bn080916009_v00.rsp2 +0 -0
  67. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/gbm/bn080916009/glg_cspec_n3_bn080916009_v01.pha +0 -0
  68. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/gbm/bn080916009/glg_tte_b0_bn080916009_v01.fit.gz +0 -0
  69. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/gbm/bn080916009/glg_tte_n3_bn080916009_v01.fit.gz +0 -0
  70. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/gbm/gbm_bat_joint_BGO_00.bak +0 -0
  71. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/gbm/gbm_bat_joint_BGO_00.pha +0 -0
  72. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/gbm/gbm_bat_joint_BGO_00.rsp +0 -0
  73. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/gbm/gbm_bat_joint_NAI_06.bak +0 -0
  74. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/gbm/gbm_bat_joint_NAI_06.pha +0 -0
  75. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/gbm/gbm_bat_joint_NAI_06.rsp +0 -0
  76. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/glg_cspec_n3_bn080916009_v00.rsp2 +0 -0
  77. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/glg_cspec_n3_bn080916009_v01.pha +0 -0
  78. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/glg_cspec_n3_bn080916009_v07.rsp +0 -0
  79. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/glg_tte_n3_bn080916009_v01.fit.gz +0 -0
  80. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/gll_cspec_bn080916009_v10.rsp +0 -0
  81. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/gll_lle_bn080916009_v10.fit +0 -0
  82. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/gll_pt_bn080916009_v10.fit +0 -0
  83. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/lat/bn090217206_LAT_xmlmodel.xml +0 -0
  84. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/lat/gll_cspec_bn080916009_v10.pha +0 -0
  85. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/lat/gll_cspec_bn080916009_v10.rsp +0 -0
  86. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/lat/gll_ft1_tr_bn090217206_v00_filt.fit +0 -0
  87. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/lat/gll_ft1_tr_bn090217206_v00_filt_expomap.fit +0 -0
  88. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/lat/gll_ft1_tr_bn090217206_v00_filt_ltcube.fit.gz +0 -0
  89. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/lat/gll_lle_bn080916009_v10.fit +0 -0
  90. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/lat/gll_pt_bn080916009_v10.fit +0 -0
  91. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/multi_analysis/awt.arf +0 -0
  92. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/multi_analysis/awt.pi +0 -0
  93. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/multi_analysis/awt.rmf +0 -0
  94. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/multi_analysis/awt_fit.fit +0 -0
  95. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/multi_analysis/awtback.pi +0 -0
  96. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/multi_analysis/awtsource.pi +0 -0
  97. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/ogip_powerlaw.bak +0 -0
  98. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/ogip_powerlaw.pha +0 -0
  99. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/ogip_powerlaw.rsp +0 -0
  100. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/test.pha +0 -0
  101. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/test_bak.pha +0 -0
  102. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/xrt/interval0wtback.pi +0 -0
  103. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/xrt/interval0wtsource.pi +0 -0
  104. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/xrt/xrt.arf +0 -0
  105. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/xrt/xrt.rmf +0 -0
  106. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/xrt/xrt_bkg.pha +0 -0
  107. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/xrt/xrt_src.pha +0 -0
  108. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/datasets/xy_powerlaw.txt +0 -0
  109. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/default_style.yml +0 -0
  110. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/doc_config.yml +0 -0
  111. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/fermipy_basic_config.yml +0 -0
  112. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/ogip_test_gbm_b0.rsp2 +0 -0
  113. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/ogip_test_gbm_n6.rsp +0 -0
  114. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/ogip_test_xmm_pn.arf +0 -0
  115. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/ogip_test_xmm_pn.rmf +0 -0
  116. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/optical_filters/filter_library.h5 +0 -0
  117. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/threeml.mplstyle +0 -0
  118. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/threeml_docs.mplstyle +0 -0
  119. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/xmm/pnS004-A2443_reg2.arf +0 -0
  120. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/xmm/pnS004-A2443_reg2.fak +0 -0
  121. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data/xmm/pnS004-A2443_reg2.rmf +0 -0
  122. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/data_list.py +0 -0
  123. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/exceptions/__init__.py +0 -0
  124. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/exceptions/custom_exceptions.py +0 -0
  125. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/__init__.py +0 -0
  126. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/calculate_flux.py +0 -0
  127. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/cern_root_utils/__init__.py +0 -0
  128. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/cern_root_utils/io_utils.py +0 -0
  129. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/cern_root_utils/tobject_to_numpy.py +0 -0
  130. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/configuration.py +0 -0
  131. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/detect_notebook.py +0 -0
  132. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/dict_with_pretty_print.py +0 -0
  133. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/download_from_ftp.py +0 -0
  134. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/download_from_http.py +0 -0
  135. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/file_utils.py +0 -0
  136. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/fits_file.py +0 -0
  137. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/get_heasarc_table_as_pandas.py +0 -0
  138. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/hdf5_utils.py +0 -0
  139. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/logging.py +0 -0
  140. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/network.py +0 -0
  141. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/package_data.py +0 -0
  142. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/plotting/__init__.py +0 -0
  143. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/plotting/cmap_cycle.py +0 -0
  144. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/plotting/data_residual_plot.py +0 -0
  145. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/plotting/get_style.py +0 -0
  146. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/plotting/light_curve_plots.py +0 -0
  147. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/plotting/model_plot.py +0 -0
  148. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/plotting/model_plot_2D.py +0 -0
  149. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/plotting/model_plot_tags.py +0 -0
  150. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/plotting/post_process_data_plots.py +0 -0
  151. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/plotting/step_plot.py +0 -0
  152. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/results_table.py +0 -0
  153. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/rich_display.py +0 -0
  154. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/serialization.py +0 -0
  155. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/suppress_stdout.py +0 -0
  156. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/table.py +0 -0
  157. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/io/uncertainty_formatter.py +0 -0
  158. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/minimizer/ROOT_minimizer.py +0 -0
  159. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/minimizer/__init__.py +0 -0
  160. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/minimizer/grid_minimizer.py +0 -0
  161. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/minimizer/minuit_minimizer.py +0 -0
  162. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/minimizer/multinest_minimizer.py +0 -0
  163. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/minimizer/pagmo_minimizer.py +0 -0
  164. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/minimizer/scipy_minimizer.py +0 -0
  165. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/parallel/__init__.py +0 -0
  166. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/parallel/parallel_client.py +0 -0
  167. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/plugin_prototype.py +0 -0
  168. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/plugins/BinnedProfileLike.py +0 -0
  169. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/plugins/DispersionSpectrumLike.py +0 -0
  170. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/plugins/FermiLATLike.py +0 -0
  171. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/plugins/FermipyLike.py +0 -0
  172. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/plugins/HAWCLike.py +0 -0
  173. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/plugins/OGIPLike.py +0 -0
  174. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/plugins/PhotometryLike.py +0 -0
  175. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/plugins/SpectrumLike.py +0 -0
  176. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/plugins/SwiftXRTLike.py +0 -0
  177. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/plugins/UnbinnedPoissonLike.py +0 -0
  178. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/plugins/UnresolvedExtendedXYLike.py +0 -0
  179. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/plugins/XYLike.py +0 -0
  180. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/plugins/__init__.py +0 -0
  181. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/plugins/experimental/CastroLike.py +0 -0
  182. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/plugins/experimental/SherpaLike.py +0 -0
  183. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/plugins/experimental/VERITASLike.py +0 -0
  184. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/plugins/experimental/__init__.py +0 -0
  185. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/random_variates.py +0 -0
  186. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/__init__.py +0 -0
  187. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/conftest.py +0 -0
  188. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/generate_pha.py +0 -0
  189. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_AAA_against_xspec.py +0 -0
  190. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_FermipyLike.py +0 -0
  191. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_UnresolvedExtendedXYLike.py +0 -0
  192. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_XYLike.py +0 -0
  193. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_analysis_results.py +0 -0
  194. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_basic.py +0 -0
  195. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_bayesian.py +0 -0
  196. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_catalogs.py +0 -0
  197. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_configuration.py +0 -0
  198. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_download_GBM_data.py +0 -0
  199. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_download_LAT_data.py +0 -0
  200. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_event_list.py +0 -0
  201. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_file_utils.py +0 -0
  202. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_fits_file.py +0 -0
  203. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_fitted_point_sources.py +0 -0
  204. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_generic.py +0 -0
  205. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_get_package_data.py +0 -0
  206. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_goodness_of_fit.py +0 -0
  207. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_hawc.py +0 -0
  208. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_histogram.py +0 -0
  209. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_joint_likelihood_set.py +0 -0
  210. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_minimizers.py +0 -0
  211. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_model_from_catalog.py +0 -0
  212. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_ogip.py +0 -0
  213. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_photometry_utils.py +0 -0
  214. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_plotting.py +0 -0
  215. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_plugin_loading.py +0 -0
  216. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_power_of_two_utils.py +0 -0
  217. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_response.py +0 -0
  218. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_spectrum_class.py +0 -0
  219. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_spectrumlike.py +0 -0
  220. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_time_energy_fit.py +0 -0
  221. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_time_interval.py +0 -0
  222. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_time_series.py +0 -0
  223. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_unbinned_poisson_like.py +0 -0
  224. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/test/test_verbosity.py +0 -0
  225. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/OGIP/__init__.py +0 -0
  226. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/OGIP/pha.py +0 -0
  227. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/OGIP/response.py +0 -0
  228. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/__init__.py +0 -0
  229. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/bayesian_blocks.py +0 -0
  230. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/binner.py +0 -0
  231. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/cartesian.py +0 -0
  232. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/data_builders/__init__.py +0 -0
  233. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/data_builders/fermi/__init__.py +0 -0
  234. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/data_builders/fermi/gbm_data.py +0 -0
  235. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/data_builders/fermi/lat_data.py +0 -0
  236. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/data_builders/fermi/lat_transient_builder.py +0 -0
  237. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/data_builders/fermi/test.py +0 -0
  238. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/data_builders/time_series_builder.py +0 -0
  239. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/data_download/Fermi_GBM/__init__.py +0 -0
  240. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/data_download/Fermi_GBM/download_GBM_data.py +0 -0
  241. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/data_download/Fermi_LAT/__init__.py +0 -0
  242. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/data_download/Fermi_LAT/download_LLE_data.py +0 -0
  243. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/data_download/__init__.py +0 -0
  244. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/differentiation.py +0 -0
  245. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/fermi_relative_mission_time.py +0 -0
  246. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/fitted_objects/__init__.py +0 -0
  247. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/fitted_objects/fitted_point_sources.py +0 -0
  248. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/fitted_objects/fitted_source_handler.py +0 -0
  249. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/histogram.py +0 -0
  250. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/interval.py +0 -0
  251. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/numba_utils.py +0 -0
  252. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/photometry/__init__.py +0 -0
  253. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/photometry/filter_library.py +0 -0
  254. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/photometry/filter_set.py +0 -0
  255. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/photometry/photometric_observation.py +0 -0
  256. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/polarization/__init__.py +0 -0
  257. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/polarization/binned_polarization.py +0 -0
  258. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/power_of_two_utils.py +0 -0
  259. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/progress_bar.py +0 -0
  260. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/spectrum/__init__.py +0 -0
  261. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/spectrum/binned_spectrum.py +0 -0
  262. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/spectrum/binned_spectrum_set.py +0 -0
  263. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/spectrum/share_spectrum.py +0 -0
  264. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/spectrum/spectrum_likelihood.py +0 -0
  265. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/statistics/__init__.py +0 -0
  266. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/statistics/gammaln.py +0 -0
  267. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/statistics/stats_tools.py +0 -0
  268. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/step_parameter_generator.py +0 -0
  269. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/string_utils.py +0 -0
  270. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/time_interval.py +0 -0
  271. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/time_series/__init__.py +0 -0
  272. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/time_series/binned_spectrum_series.py +0 -0
  273. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/time_series/event_list.py +0 -0
  274. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/time_series/polynomial.py +0 -0
  275. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/time_series/time_series.py +0 -0
  276. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML/utils/unique_deterministic_tag.py +0 -0
  277. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML.egg-info/SOURCES.txt +0 -0
  278. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML.egg-info/dependency_links.txt +0 -0
  279. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML.egg-info/requires.txt +0 -0
  280. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/threeML.egg-info/top_level.txt +0 -0
  281. {threeml-2.4.3.dev1 → threeml-2.5.0.dev1}/versioneer.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: threeML
3
- Version: 2.4.3.dev1
3
+ Version: 2.5.0.dev1
4
4
  Summary: The Multi-Mission Maximum Likelihood framework
5
5
  Home-page: https://github.com/threeml/threeML
6
6
  Author: Giacomo Vianello
@@ -52,6 +52,9 @@ Requires-Dist: sphinx>=1.4; extra == "docs"
52
52
  Requires-Dist: sphinx_rtd_theme; extra == "docs"
53
53
  Requires-Dist: nbsphinx; extra == "docs"
54
54
  Requires-Dist: sphinx-autoapi; extra == "docs"
55
+ Dynamic: keywords
56
+ Dynamic: license
57
+ Dynamic: license-file
55
58
 
56
59
  ![CI](https://github.com/threeML/threeML/workflows/CI/badge.svg?branch=master&event=push)
57
60
  [![Conda Build and Publish](https://github.com/threeML/threeML/actions/workflows/conda_build.yml/badge.svg)](https://github.com/threeML/threeML/actions/workflows/conda_build.yml)
@@ -9,11 +9,11 @@ import json
9
9
 
10
10
  version_json = '''
11
11
  {
12
- "date": "2024-09-11T16:28:56-0400",
12
+ "date": "2025-05-19T11:00:17-0700",
13
13
  "dirty": false,
14
14
  "error": null,
15
- "full-revisionid": "df578f0d4c5b2d572f6ca9388ce9060b608941e0",
16
- "version": "2.4.3.dev1"
15
+ "full-revisionid": "8fbb6df91da65abfa6816a64961cede7a90c6ff2",
16
+ "version": "2.5.0.dev1"
17
17
  }
18
18
  ''' # END VERSION_JSON
19
19
 
@@ -1181,9 +1181,7 @@ class BayesianResults(_AnalysisResults):
1181
1181
  see: https://samreay.github.io/ChainConsumer/chain_api.html#chainconsumer.ChainConsumer.configure
1182
1182
  for all options
1183
1183
  :param parameters: list of parameters to plot
1184
- :param renamed_parameters: a python dictionary of parameters to rename.
1185
- Useful when e.g. spectral indices in models have different names but you wish to compare them. Format is
1186
- {'old label': 'new label'}
1184
+ :param renamed_parameters: a python dictionary of parameters to rename. Useful when e.g. spectral indices in models have different names but you wish to compare them. Format is {'old label': 'new label'}
1187
1185
  :param **cc_kwargs: chainconsumer general keyword arguments
1188
1186
  :return fig:
1189
1187
  """
@@ -270,9 +270,8 @@ class BayesianAnalysis:
270
270
  @property
271
271
  def log_marginal_likelihood(self) -> Optional[float]:
272
272
  """
273
- Return the log marginal likelihood (evidence
274
- ) if computed
275
- :return:
273
+ Return the log marginal likelihood (evidence) if computed
274
+ :return: marginal_likelihood
276
275
  """
277
276
 
278
277
  return self._sampler.marginal_likelihood
@@ -66,29 +66,28 @@ class UltraNestSampler(UnitCubeSampler):
66
66
  **kwargs,
67
67
  ):
68
68
  """
69
- set up the Ultranest sampler. Consult the documentation:
70
-
71
- https://johannesbuchner.github.io/UltraNest/ultranest.html?highlight=reactive#ultranest.integrator.ReactiveNestedSampler
72
-
73
- :param min_num_live_points: minimum number of live points throughout the run
74
- :type min_num_live_points: int
75
- :param dlogz: Target evidence uncertainty. This is the std between bootstrapped logz integrators.
76
- :type dlogz: float
77
- :param chain_name: where to store output files
78
- :type chain_name:
79
- :param resume: ('resume', 'resume-similar', 'overwrite' or 'subfolder') –
69
+ set up the Ultranest sampler. Consult the documentation:
70
+ https://johannesbuchner.github.io/UltraNest/ultranest.html?highlight=reactive#ultranest.integrator.ReactiveNestedSampler
71
+
72
+ :param min_num_live_points: minimum number of live points throughout the run
73
+ :type min_num_live_points: int
74
+ :param dlogz: Target evidence uncertainty. This is the std between bootstrapped logz integrators.
75
+ :type dlogz: float
76
+ :param chain_name: where to store output files
77
+ :type chain_name:
78
+ :param resume: ('resume', 'resume-similar', 'overwrite' or 'subfolder') –
80
79
  if ‘overwrite’, overwrite previous data.
81
80
  if ‘subfolder’, create a fresh subdirectory in log_dir.
82
81
  if ‘resume’ or True, continue previous run if available. Only works when dimensionality, transform or likelihood are consistent.
83
82
  if ‘resume-similar’, continue previous run if available. Only works when dimensionality and transform are consistent. If a likelihood difference is detected, the existing likelihoods are updated until the live point order differs. Otherwise, behaves like resume.
84
- :type resume: str
85
- :param wrapped_params: (list of bools) – indicating whether this parameter wraps around (circular parameter).
86
- :type wrapped_params:
87
- :param stepsampler:
88
- :type stepsampler:
89
- :param use_mlfriends: Whether to use MLFriends+ellipsoidal+tellipsoidal region (better for multi-modal problems) or just ellipsoidal sampling (faster for high-dimensional, gaussian-like problems).
90
- :type use_mlfriends: bool
91
- :returns:
83
+ :type resume: str
84
+ :param wrapped_params: (list of bools) – indicating whether this parameter wraps around (circular parameter).
85
+ :type wrapped_params:
86
+ :param stepsampler:
87
+ :type stepsampler:
88
+ :param use_mlfriends: Whether to use MLFriends+ellipsoidal+tellipsoidal region (better for multi-modal problems) or just ellipsoidal sampling (faster for high-dimensional, gaussian-like problems).
89
+ :type use_mlfriends: bool
90
+ :returns:
92
91
 
93
92
  """
94
93
 
@@ -58,7 +58,7 @@ class GoodnessOfFit(object):
58
58
 
59
59
  return new_model
60
60
 
61
- def by_mc(self, n_iterations=1000, continue_on_failure=False):
61
+ def by_mc(self, n_iterations=1000, continue_on_failure=False, preprocessor=None, postprocessor=None):
62
62
  """
63
63
  Compute goodness of fit by generating Monte Carlo datasets and fitting the current model on them. The fraction
64
64
  of synthetic datasets which have a value for the likelihood larger or equal to the observed one is a measure
@@ -75,6 +75,8 @@ class GoodnessOfFit(object):
75
75
  self.get_model,
76
76
  n_iterations,
77
77
  iteration_name="simulation",
78
+ preprocessor=preprocessor,
79
+ postprocessor=postprocessor,
78
80
  )
79
81
 
80
82
  # Use the same minimizer as in the joint likelihood object
@@ -226,8 +226,7 @@ class JointLikelihood(object):
226
226
  :param quiet: If True, print the results (default), otherwise do not print anything
227
227
  :param compute_covariance:If True (default), compute and display the errors and the correlation matrix.
228
228
  :param n_samples: Number of samples to scan the likelihood.
229
- :return: a dictionary with the results on the parameters, and the values of the likelihood at the minimum
230
- for each dataset and the total one.
229
+ :return: a dictionary with the results on the parameters, and the values of the likelihood at the minimum for each dataset and the total one.
231
230
  """
232
231
 
233
232
  # Update the list of free parameters, to be safe against changes the user might do between
@@ -27,6 +27,7 @@ class JointLikelihoodSet(object):
27
27
  n_iterations,
28
28
  iteration_name="interval",
29
29
  preprocessor=None,
30
+ postprocessor=None,
30
31
  ):
31
32
 
32
33
  # Store the data and model getter
@@ -108,6 +109,8 @@ class JointLikelihoodSet(object):
108
109
 
109
110
  self._preprocessor = preprocessor
110
111
 
112
+ self._postprocessor = postprocessor
113
+
111
114
  def set_minimizer(self, minimizer):
112
115
 
113
116
  if isinstance(minimizer, _Minimization):
@@ -163,6 +166,10 @@ class JointLikelihoodSet(object):
163
166
 
164
167
  jl = JointLikelihood(this_model, this_data)
165
168
 
169
+ if self._postprocessor is not None:
170
+
171
+ self._postprocessor(this_model, this_data, quiet=True)
172
+
166
173
  this_parameter_frame, this_like_frame = self._fitter(jl)
167
174
 
168
175
  # Append results
@@ -1179,33 +1179,31 @@ class Minimizer(object):
1179
1179
  **options
1180
1180
  ):
1181
1181
  """
1182
- Generate confidence contours for the given parameters by stepping for the given number of steps between
1183
- the given boundaries. Call it specifying only source_1, param_1, param_1_minimum and param_1_maximum to
1184
- generate the profile of the likelihood for parameter 1. Specify all parameters to obtain instead a 2d
1185
- contour of param_1 vs param_2
1186
-
1187
- :param param_1: name of the first parameter
1188
- :param param_1_minimum: lower bound for the range for the first parameter
1189
- :param param_1_maximum: upper bound for the range for the first parameter
1190
- :param param_1_n_steps: number of steps for the first parameter
1191
- :param param_2: name of the second parameter
1192
- :param param_2_minimum: lower bound for the range for the second parameter
1193
- :param param_2_maximum: upper bound for the range for the second parameter
1194
- :param param_2_n_steps: number of steps for the second parameter
1195
- :param progress: (True or False) whether to display progress or not
1196
- :param log: by default the steps are taken linearly. With this optional parameter you can provide a tuple of
1197
- booleans which specify whether the steps are to be taken logarithmically. For example,
1198
- 'log=(True,False)' specify that the steps for the first parameter are to be taken logarithmically, while they
1199
- are linear for the second parameter. If you are generating the profile for only one parameter, you can specify
1200
- 'log=(True,)' or 'log=(False,)' (optional)
1201
- :param: parallel: whether to use or not parallel computation (default:False)
1202
- :return: a : an array corresponding to the steps for the first parameter
1203
- b : an array corresponding to the steps for the second parameter (or None if stepping only in one
1204
- direction)
1205
- contour : a matrix of size param_1_steps x param_2_steps containing the value of the function at the
1206
- corresponding points in the grid. If param_2_steps is None (only one parameter), then this reduces to
1207
- an array of size param_1_steps.
1208
- """
1182
+ Generate confidence contours for the given parameters by stepping for the given number of steps between
1183
+ the given boundaries. Call it specifying only source_1, param_1, param_1_minimum and param_1_maximum to
1184
+ generate the profile of the likelihood for parameter 1. Specify all parameters to obtain instead a 2d
1185
+ contour of param_1 vs param_2
1186
+
1187
+ :param param_1: name of the first parameter
1188
+ :param param_1_minimum: lower bound for the range for the first parameter
1189
+ :param param_1_maximum: upper bound for the range for the first parameter
1190
+ :param param_1_n_steps: number of steps for the first parameter
1191
+ :param param_2: name of the second parameter
1192
+ :param param_2_minimum: lower bound for the range for the second parameter
1193
+ :param param_2_maximum: upper bound for the range for the second parameter
1194
+ :param param_2_n_steps: number of steps for the second parameter
1195
+ :param progress: (True or False) whether to display progress or not
1196
+ :param log: by default the steps are taken linearly. With this optional parameter you can provide a tuple of
1197
+ booleans which specify whether the steps are to be taken logarithmically. For example,
1198
+ 'log=(True,False)' specify that the steps for the first parameter are to be taken logarithmically, while they
1199
+ are linear for the second parameter. If you are generating the profile for only one parameter, you can specify
1200
+ 'log=(True,)' or 'log=(False,)' (optional)
1201
+ :param: parallel: whether to use or not parallel computation (default:False)
1202
+ :return:
1203
+ a : an array corresponding to the steps for the first parameter
1204
+ b : an array corresponding to the steps for the second parameter (or None if stepping only in one direction)
1205
+ contour : a matrix of size param_1_steps x param_2_steps containing the value of the function at the corresponding points in the grid. If param_2_steps is None (only one parameter), then this reduces to an array of size param_1_steps.
1206
+ """
1209
1207
 
1210
1208
  # Figure out if we are making a 1d or a 2d contour
1211
1209
 
@@ -125,9 +125,13 @@ def plot_minimizer_path(jl, points=False):
125
125
  qx_ = np.array(
126
126
  jl.likelihood_model.test.spectrum.main.shape._traversed_points, dtype=float
127
127
  )
128
- qy_ = np.array(
129
- jl.likelihood_model.test.spectrum.main.shape._returned_values, dtype=float
130
- )
128
+ # Horrible hack to get around a ValueError: setting an array element with a
129
+ # sequence
130
+ values = jl.likelihood_model.test.spectrum.main.shape._returned_values
131
+ for idx, item in enumerate(values):
132
+ if np.isnan(item):
133
+ values[idx] = np.array([np.nan])
134
+ qy_ = np.asarray(values, dtype=float)
131
135
 
132
136
  fig, sub = plt.subplots(1, 1)
133
137
 
@@ -43,8 +43,8 @@ datarepository = 'FermiData'
43
43
 
44
44
 
45
45
  #@pytest.mark.xfail
46
- @skip_if_internet_is_not_available
47
46
  @skip_if_LAT_is_not_available
47
+ @skip_if_internet_is_not_available
48
48
  def test_make_LAT_dataset():
49
49
  myLATdataset = LAT_dataset()
50
50
 
@@ -24,7 +24,7 @@ from threeML.utils.unique_deterministic_tag import get_unique_deterministic_tag
24
24
  log = setup_logger(__name__)
25
25
 
26
26
  # Set default timeout for operations
27
- socket.setdefaulttimeout(120)
27
+ socket.setdefaulttimeout(180)
28
28
 
29
29
 
30
30
  class DivParser(html.parser.HTMLParser):
@@ -660,7 +660,7 @@ class LAT_dataset():
660
660
 
661
661
  def extract_events(self,roi, zmax, irf, thetamax=180.0,strategy='time',data_quality=True):
662
662
  from GtBurst import dataHandling
663
- global lastDisplay
663
+ #global lastDisplay
664
664
 
665
665
  LATdata = dataHandling.LATData(self.ft1, self.rspfile, self.ft2)
666
666
 
@@ -941,9 +941,8 @@ class PHASpectrum(BinnedSpectrumWithDispersion):
941
941
  @property
942
942
  def background_file(self) -> Union[None, str]:
943
943
  """
944
- Returns the background file definied in the header, or None if there is none defined
945
- p
946
- :return: a path to a file, or None
944
+ Returns the background file definied in the header, or None if there is none defined
945
+ :return: a path to a file, or None
947
946
  """
948
947
 
949
948
  back_file = self._return_file("backfile")
@@ -1355,9 +1354,8 @@ class PHASpectrumSet(BinnedSpectrumSet):
1355
1354
  @property
1356
1355
  def background_file(self):
1357
1356
  """
1358
- Returns the background file definied in the header, or None if there is none defined
1359
- p
1360
- :return: a path to a file, or None
1357
+ Returns the background file definied in the header, or None if there is none defined
1358
+ :return: a path to a file, or None
1361
1359
  """
1362
1360
 
1363
1361
  return self._return_file("backfile")
@@ -294,7 +294,9 @@ def half_chi2(y, yerr, expectation):
294
294
  #yerr[yerr<1]=np.sqrt(0.75)
295
295
 
296
296
  for n in range(N):
297
-
298
- log_likes[n] = (y[n] - expectation[n]) ** 2 / (yerr[n] ** 2)
297
+
298
+ log_likes[n] = 0
299
+ if yerr[n] > 0:
300
+ log_likes[n] = (y[n] - expectation[n]) ** 2 / (yerr[n] ** 2)
299
301
 
300
302
  return 0.5 * log_likes
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: threeML
3
- Version: 2.4.3.dev1
3
+ Version: 2.5.0.dev1
4
4
  Summary: The Multi-Mission Maximum Likelihood framework
5
5
  Home-page: https://github.com/threeml/threeML
6
6
  Author: Giacomo Vianello
@@ -52,6 +52,9 @@ Requires-Dist: sphinx>=1.4; extra == "docs"
52
52
  Requires-Dist: sphinx_rtd_theme; extra == "docs"
53
53
  Requires-Dist: nbsphinx; extra == "docs"
54
54
  Requires-Dist: sphinx-autoapi; extra == "docs"
55
+ Dynamic: keywords
56
+ Dynamic: license
57
+ Dynamic: license-file
55
58
 
56
59
  ![CI](https://github.com/threeML/threeML/workflows/CI/badge.svg?branch=master&event=push)
57
60
  [![Conda Build and Publish](https://github.com/threeML/threeML/actions/workflows/conda_build.yml/badge.svg)](https://github.com/threeML/threeML/actions/workflows/conda_build.yml)
File without changes
File without changes
File without changes
File without changes
File without changes