Gamma ray limits

Overview

hazma includes functionality for using existing gamma-ray data to constrain theories and for projecting the discovery reach of proposed gamma-ray detectors. For the first case, hazma defines a container class called FluxMeasurement for storing information about gamma-ray datasets, and TheoryGammaRayLimits contains a method for using these to set limits. The second case is also handled by a method in TheoryGammaRayLimits which takes arguments specifying various detector and target characteristics.

Limits from existing data

Discovery reach for upcoming detectors

Containers for measurements, background models and target parameters

class hazma.flux_measurement.FluxMeasurement(e_lows, e_highs, fluxes, upper_errors, lower_errors, energy_res, target, power=2)[source]

Container for all information about a completed gamma ray analysis.

e_lows[source]

Lower edges of energy bins.

Type

np.array

e_highs[source]

Upper edges of energy bins.

Type

np.array

fluxes[source]

Flux measurements for each bin (\(\mathrm{MeV}^{-1}\mathrm{cm}^{-2} \mathrm{s}^{-1} \mathrm{sr}^{-1}\)).

Type

np.array

upper_errors[source]

Size of upper error bars on flux measurements (\(\mathrm{MeV}^{-1}\mathrm{cm}^{-2} \mathrm{s}^{-1} \mathrm{sr}^{-1}\)).

Type

np.array

lower_errors[source]

Size of lower error bars on flux measurements (\(\mathrm{MeV}^{-1}\mathrm{cm}^{-2} \mathrm{s}^{-1} \mathrm{sr}^{-1}\)).

Type

np.array

energy_res[source]

Function returning energy resolution (\(\Delta E / E\)) as a function of photon energy.

Type

callable

target[source]

Information about the target observed for this measurement.

Type

TargetParams

__init__(e_lows, e_highs, fluxes, upper_errors, lower_errors, energy_res, target, power=2)[source]

Constructor.

Parameters
  • fname (str) –

    Name of file containing observation information. The columns of this file must be:

    1. Lower bin edge (MeV)

    2. Upper bin edge (MeV)

    3. \(E^2 d^2 \Phi/dE d\Omega\) (\(\mathrm{MeV}^{-1}\mathrm{cm}^{-2}\mathrm{s}^{-1}\mathrm{sr}^{-1}\)).

    4. Upper error bar (\(\mathrm{MeV}^{-1}\mathrm{cm}^{-2}\mathrm{s}^{-1}\mathrm{sr}^{-1}\)).

    5. Lower error bar (\(\mathrm{MeV}^{-1}\mathrm{cm}^{-2}\mathrm{s}^{-1}\mathrm{sr}^{-1}\)).

    Note that the error bar values are their y-coordinates, not their relative distances from the central flux.

  • energy_res (callable) – Energy resolution function.

  • target (TargetParams) – The target of the analysis

class hazma.background_model.BackgroundModel(e_range, dPhi_dEdOmega)[source]

Represents a gamma ray background model, which is required for computing projected limits for planned gamma-ray detectors.

Parameters
  • e_range ([float, float]) – Minimum and maximum photon energies for which this model is valid, in MeV.

  • dPhi_dEdOmega (np.array) – Background gamma ray flux (MeV^-1 sr^-1 cm^-2 s^-1) as a function of photon energy (MeV). This function must be vectorized.

dPhi_dEdOmega(es)[source]

Computes this background model’s gamma ray flux.

Parameters

es (float or np.array) – Photon energy/energies at which to compute

Returns

dPhi_dEdOmega – Background gamma ray flux, in MeV^-1 sr^-1 cm^-2 s^-1. For any energies outside of self.e_range, np.nan is returned.

Return type

np.array

class hazma.gamma_ray_parameters.TargetParams(J=None, D=None, dOmega=None, vx=0.001)[source]

Container for information about a target region.

Parameters
  • J (float) – (Averaged) J-factor for DM annihilation in MeV^2 cm^-5.

  • D (float) – (Averaged) D-factor for DM decay in MeV cm^-2.

  • dOmega (float) – Angular size in sr.

  • vx (float) – Average DM velocity in target in units of c. Defaults to 1e-3, the Milky Way velocity dispersion.

Observation regions

hazma.gamma_ray_parameters.comptel_diffuse_targets = {'ein': TargetParams(J=1.751e+29, D=5.541e+25, dOmega=1.433e+00, vx=1.000e-03), 'nfw': TargetParams(J=9.308e+28, D=4.866e+25, dOmega=1.433e+00, vx=1.000e-03)}[source]

COMPTEL diffuse targets

hazma.gamma_ray_parameters.comptel_diffuse_targets_optimistic = {'ein': TargetParams(J=1.040e+30, D=7.098e+25, dOmega=1.433e+00, vx=1.000e-03), 'nfw': TargetParams(J=1.530e+29, D=5.571e+25, dOmega=1.433e+00, vx=1.000e-03)}[source]

COMPTEL diffuse targets with optimistic parameters

hazma.gamma_ray_parameters.egret_diffuse_targets = {'ein': TargetParams(J=6.994e+27, D=1.738e+25, dOmega=6.585e+00, vx=1.000e-03), 'nfw': TargetParams(J=6.265e+27, D=1.710e+25, dOmega=6.585e+00, vx=1.000e-03)}[source]

EGRET diffuse targets

hazma.gamma_ray_parameters.egret_diffuse_targets_optimistic = {'ein': TargetParams(J=9.062e+27, D=1.952e+25, dOmega=6.585e+00, vx=1.000e-03), 'nfw': TargetParams(J=7.556e+27, D=1.761e+25, dOmega=6.585e+00, vx=1.000e-03)}[source]

EGRET diffuse targets with optimistic parameters

hazma.gamma_ray_parameters.fermi_diffuse_targets = {'ein': TargetParams(J=1.058e+28, D=1.832e+25, dOmega=1.082e+01, vx=1.000e-03), 'nfw': TargetParams(J=8.475e+27, D=1.782e+25, dOmega=1.082e+01, vx=1.000e-03)}[source]

Fermi-LAT diffuse targets

hazma.gamma_ray_parameters.fermi_diffuse_targets_optimistic = {'ein': TargetParams(J=1.601e+28, D=2.084e+25, dOmega=1.082e+01, vx=1.000e-03), 'nfw': TargetParams(J=1.106e+28, D=1.854e+25, dOmega=1.082e+01, vx=1.000e-03)}[source]

Fermi-LAT diffuse targets with optimistic parameters

hazma.gamma_ray_parameters.integral_diffuse_targets = {'ein': TargetParams(J=4.166e+29, D=8.760e+25, dOmega=5.421e-01, vx=1.000e-03), 'nfw': TargetParams(J=2.086e+29, D=7.301e+25, dOmega=5.421e-01, vx=1.000e-03)}[source]

INTEGRAL diffuse targets

hazma.gamma_ray_parameters.integral_diffuse_targets_optimistic = {'ein': TargetParams(J=4.166e+29, D=8.760e+25, dOmega=5.421e-01, vx=1.000e-03), 'nfw': TargetParams(J=2.086e+29, D=7.301e+25, dOmega=5.421e-01, vx=1.000e-03)}[source]

INTEGRAL diffuse targets with optimistic parameters

hazma.gamma_ray_parameters.draco_targets = {'nfw': {'1 arcmin cone': TargetParams(J=3.418e+30, D=5.949e+25, dOmega=2.660e-07, vx=1.000e-03), '5 deg cone': TargetParams(J=8.058e+26, D=1.986e+24, dOmega=2.390e-02, vx=1.000e-03)}}[source]

Draco dwarf

hazma.gamma_ray_parameters.m31_targets = {'nfw': {'1 arcmin cone': TargetParams(J=7.116e+29, D=9.449e+25, dOmega=2.660e-07, vx=1.000e-03), '5 deg cone': TargetParams(J=2.639e+26, D=5.507e+24, dOmega=2.390e-02, vx=1.000e-03)}}[source]

Andromeda target. See Sofue 2015, https://arxiv.org/abs/1504.05368

hazma.gamma_ray_parameters.fornax_targets = {'nfw': {'1 arcmin cone': TargetParams(J=5.316e+29, D=2.898e+26, dOmega=2.660e-07, vx=1.000e-03), '2 deg cone': TargetParams(J=2.558e+26, D=9.081e+24, dOmega=3.830e-03, vx=1.000e-03)}}[source]

Fornax cluster. See https://arxiv.org/abs/1009.5988.

Effective Areas

hazma.gamma_ray_parameters.effective_area_comptel(energy)[source]

Compute the effective area of the COMPTEL telescope [1]_.

Parameters

energy (array-like) – Energy where the effective area should be evaluated.

Returns

a_eff – Effective area Aeff(E).

Return type

array-like

References

1

Denherder, J. W., et al. “COMPTEL: Instrument description and

performance.” NASA. Goddard Space Flight Center, The Compton Observatory Science Workshop. 1992.

hazma.gamma_ray_parameters.effective_area_egret(energy)[source]

Compute the effective area of the EGRET telescope [1]_.

Parameters

energy (array-like) – Energy where the effective area should be evaluated.

Returns

a_eff – Effective area Aeff(E).

Return type

array-like

References

1

Strong, Andrew W., Igor V. Moskalenko, and Olaf Reimer. “Diffuse

galactic continuum gamma rays: a model compatible with EGRET data and cosmic-ray measurements.” The Astrophysical Journal 613.2 (2004): 962.

hazma.gamma_ray_parameters.effective_area_fermi(energy)[source]

Compute the effective area of the Fermi telescope [1]_.

Parameters

energy (array-like) – Energy where the effective area should be evaluated.

Returns

a_eff – Effective area Aeff(E).

Return type

array-like

References

1

Ackermann, Markus, et al. “Fermi-LAT observations of the diffuse

γ-ray emission: implications for cosmic rays and the interstellar medium.” The Astrophysical Journal 750.1 (2012): 3.

hazma.gamma_ray_parameters.effective_area_adept(energy)[source]

Compute the effective area of the proposed Advanced Energetic Pair Telescope (AdEPT) [1]_.

Parameters

energy (array-like) – Energy where the effective area should be evaluated.

Returns

a_eff – Effective area Aeff(E).

Return type

array-like

References

1

Hunter, Stanley D., et al. “Development of the Advance Energetic

Pair Telescope (AdEPT) for medium-energy gamma-ray astronomy.” Space Telescopes and Instrumentation 2010: Ultraviolet to Gamma Ray. Vol. 7732. SPIE, 2010.

hazma.gamma_ray_parameters.effective_area_all_sky_astrogam(energy)[source]

Compute the effective area of the proposed All-Sky-ASTROGAM telescope [1]_.

Parameters

energy (array-like) – Energy where the effective area should be evaluated.

Returns

a_eff – Effective area Aeff(E).

Return type

array-like

References

1

Mallamaci, Manuela, et al. “All-Sky-ASTROGAM: a MeV Companion for

Multimessenger Astrophysics.” 36th International Cosmic Ray Conference (ICRC2019). Vol. 36. 2019.

hazma.gamma_ray_parameters.effective_area_gecco(energy)[source]

Compute the effective area of proposed Galactic Explorer with a Coded Aperture Mask Compton Telescope (GECCO) [1]_.

Parameters

energy (array-like) – Energy where the effective area should be evaluated.

Returns

a_eff – Effective area Aeff(E).

Return type

array-like

References

1

Orlando, Elena, et al. “Exploring the MeV Sky with a Combined Coded

Mask and Compton Telescope: The Galactic Explorer with a Coded Aperture Mask Compton Telescope (GECCO).” arXiv preprint arXiv:2112.07190 (2021).

hazma.gamma_ray_parameters.effective_area_grams(energy)[source]

Compute the effective area of the proposed Dual MeV Gamma-Ray and Dark Matter Observator (GRAMS) [1]_.

Parameters

energy (array-like) – Energy where the effective area should be evaluated.

Returns

a_eff – Effective area Aeff(E).

Return type

array-like

References

1

Aramaki, Tsuguo, et al. “Dual MeV gamma-ray and dark matter

observatory-GRAMS Project.” Astroparticle Physics 114 (2020): 107-114.

hazma.gamma_ray_parameters.effective_area_mast(energy)[source]

Compute the effective area of the proposed Massive Argon Space Telescope (MAST) [1]_.

Parameters

energy (array-like) – Energy where the effective area should be evaluated.

Returns

a_eff – Effective area Aeff(E).

Return type

array-like

References

1

Dzhatdoev, Timur, and Egor Podlesnyi. “Massive Argon Space Telescope

(MAST): A concept of heavy time projection chamber for γ-ray astronomy in the 100 MeV–1 TeV energy range.” Astroparticle Physics 112 (2019): 1-7.

hazma.gamma_ray_parameters.effective_area_pangu(energy)[source]

Compute the effective area of proposed PAir-productioN Gamma-ray Unit (PANGU) [1]_.

Parameters

energy (array-like) – Energy where the effective area should be evaluated.

Returns

a_eff – Effective area Aeff(E).

Return type

array-like

References

1

Wu, Xin, et al. “PANGU: a high resolution gamma-ray space

telescope.” Space Telescopes and Instrumentation 2014: Ultraviolet to Gamma Ray. Vol. 9144. International Society for Optics and Photonics, 2014.

Energy Resolutions

hazma.gamma_ray_parameters.energy_res_adept(energy)[source]

Energy resolution for the AdEPT telescope [1]_ [2]_.

Note that the energy dependence fro AdEPT was not specified. We thus take it to be constant.

Parameters

energy (array-like) – Energy where the energy resoltuon should be evaluated.

Returns

e_res – Energy resoluton delta_e(e) / e.

Return type

array-like

References

1

Hunter, Stanley D., et al. “Development of the Advance Energetic

Pair Telescope (AdEPT) for medium-energy gamma-ray astronomy.” Space Telescopes and Instrumentation 2010: Ultraviolet to Gamma Ray. Vol. 7732. SPIE, 2010.

2

Hunter, Stanley D., et al. “A pair production telescope for

medium-energy gamma-ray polarimetry.” Astroparticle physics 59 (2014): 18-28.

hazma.gamma_ray_parameters.energy_res_amego(energy)[source]

Compute the energy resolution of the All-sky Medium Energy Gamma-ray Observatory (AMEGO) [1]_.

Parameters

energy (array-like) – Energy where the energy resoltuon should be evaluated.

Returns

e_res – Energy resoluton delta_e(e) / e.

Return type

array-like

References

1

McEnery, Julie, et al. “All-sky medium energy gamma-ray observatory:

exploring the extreme multimessenger universe.” arXiv preprint arXiv:1907.07558 (2019).

hazma.gamma_ray_parameters.energy_res_comptel(energy)[source]

Compute the energy resolution \(\Delta E / E\) of the COMPTEL [1]_.

This is the most optimistic value, taken from chapter II, page 11 of [2]_. The energy resolution at 1 MeV is 10% (FWHM).

Parameters

energy (array-like) – Energy where the energy resoltuon should be evaluated.

Returns

e_res – Energy resoluton delta_e(e) / e.

Return type

array-like

References

1

Denherder, J. W., et al. “COMPTEL: Instrument description and

performance.” NASA. Goddard Space Flight Center, The Compton Observatory Science Workshop. 1992.

2

Kappadath, Srinivas Cheenu. Measurement of the cosmic diffuse

gamma-ray spectrum from 800 keV to 30 MeV. University of New Hampshire, 1998.

hazma.gamma_ray_parameters.energy_res_all_sky_astrogam(energy)[source]

Compute the energy resolution of the proposed All-Sky-ASTROGAM telescope [1]_.

Parameters

energy (array-like) – Energy where the energy resoltuon should be evaluated.

Returns

e_res – Energy resoluton delta_e(e) / e.

Return type

array-like

References

1

Mallamaci, Manuela, et al. “All-Sky-ASTROGAM: a MeV Companion for

Multimessenger Astrophysics.” 36th International Cosmic Ray Conference (ICRC2019). Vol. 36. 2019.

hazma.gamma_ray_parameters.energy_res_egret(energy)[source]

Compute the energy resoluton \(\Delta E / E\) of the EGRET telescope [1]_.

This is the most optimistic value, taken from section 4.3.3 of [2]_.

Parameters

energy (array-like) – Energy where the energy resoltuon should be evaluated.

Returns

e_res – Energy resoluton delta_e(e) / e.

Return type

array-like

References

1

Strong, Andrew W., Igor V. Moskalenko, and Olaf Reimer. “Diffuse

galactic continuum gamma rays: a model compatible with EGRET data and cosmic-ray measurements.” The Astrophysical Journal 613.2 (2004): 962.

2

Thompson, D. J., et al. “Calibration of the energetic gamma-ray

experiment telescope (EGRET) for the Compton gamma-ray observatory.” The astrophysical Journal supplement series 86 (1993): 629-656.

hazma.gamma_ray_parameters.energy_res_fermi(energy)[source]

Compute the energy resolution \(\Delta E / E\) of the Fermi-LAT telescope.

This is the average of the most optimistic normal and 60deg off-axis values from Fig. (18) of [2]_.

Parameters

energy (array-like) – Energy where the energy resoltuon should be evaluated.

Returns

e_res – Energy resoluton delta_e(e) / e.

Return type

array-like

References

1

Ackermann, Markus, et al. “Fermi-LAT observations of the diffuse

γ-ray emission: implications for cosmic rays and the interstellar medium.” The Astrophysical Journal 750.1 (2012): 3.

2

Atwood, W. B., et al. “The large area telescope on the Fermi

gamma-ray space telescope mission.” The Astrophysical Journal 697.2 (2009): 1071.

hazma.gamma_ray_parameters.energy_res_gecco(energy)[source]

Compute the energy resolution \(\Delta E / E\) of proposed Galactic Explorer with a Coded Aperture Mask Compton Telescope (GECCO) [1]_.

Parameters

energy (array-like) – Energy where the energy resoltuon should be evaluated.

Returns

e_res – Energy resoluton delta_e(e) / e.

Return type

array-like

References

1

Orlando, Elena, et al. “Exploring the MeV Sky with a Combined Coded

Mask and Compton Telescope: The Galactic Explorer with a Coded Aperture Mask Compton Telescope (GECCO).” arXiv preprint arXiv:2112.07190 (2021).

hazma.gamma_ray_parameters.energy_res_grams(energy)[source]

Compute the energy resolution \(\Delta E / E\) of GRAMS [1]_.

Parameters

energy (array-like) – Energy where the energy resoltuon should be evaluated.

Returns

e_res – Energy resoluton delta_e(e) / e.

Return type

array-like

References

1

Aramaki, Tsuguo, et al. “Dual MeV gamma-ray and dark matter

observatory-GRAMS Project.” Astroparticle Physics 114 (2020): 107-114.

hazma.gamma_ray_parameters.energy_res_integral(energy)[source]

Compute the energy resolution \(\Delta E / E\) of INTEGRAL.

Parameters

energy (array-like) – Energy where the energy resoltuon should be evaluated.

Returns

e_res – Energy resoluton delta_e(e) / e.

Return type

array-like

References

1

Bouchet, Laurent, et al. “Diffuse emission measurement with the

spectrometer on INTEGRAL as an indirect probe of cosmic-ray electrons and positrons.” The Astrophysical Journal 739.1 (2011): 29.

hazma.gamma_ray_parameters.energy_res_mast(energy)[source]

Compute the energy resolution \(\Delta E / E\) of the proposed Massive Argon Space Telescope (MAST) [1]_.

Parameters

energy (array-like) – Energy where the energy resoltuon should be evaluated.

Returns

e_res – Energy resoluton delta_e(e) / e.

Return type

array-like

References

1

Dzhatdoev, Timur, and Egor Podlesnyi. “Massive Argon Space Telescope

(MAST): A concept of heavy time projection chamber for γ-ray astronomy in the 100 MeV–1 TeV energy range.” Astroparticle Physics 112 (2019): 1-7.

hazma.gamma_ray_parameters.energy_res_pangu(energy)[source]

Compute the energy resolution \(\Delta E / E\) of proposed PAir-productioN Gamma-ray Unit (PANGU) [1]_.

Parameters

energy (array-like) – Energy where the energy resoltuon should be evaluated.

Returns

e_res – Energy resoluton delta_e(e) / e.

Return type

array-like

References

1

Wu, Xin, et al. “PANGU: a high resolution gamma-ray space telescope.”

Space Telescopes and Instrumentation 2014: Ultraviolet to Gamma Ray. Vol. 9144. International Society for Optics and Photonics, 2014.