spectrum - 1D spectrum analysis


gammapy.spectrum holds functions and classes related to 1D region based spectral analysis. This includes also simulation tools.

The basic of 1D spectral analysis are explained in this talk. A good reference for the forward-folding on-off likelihood fitting methods is Section 7.5 “Spectra and Light Curves” in [Naurois2012], in publications usually the reference [Piron2001] is used. A standard reference for the unfolding method is [Albert2007].

Getting Started

The following code snippet demonstrates how to load an observation stored in OGIP format and fit a spectral model.

from gammapy.spectrum import SpectrumDatasetOnOff
from gammapy.modeling import Fit
from gammapy.modeling.models import PowerLawSpectralModel

filename = '$GAMMAPY_DATA/joint-crab/spectra/hess/pha_obs23523.fits'
dataset = SpectrumDatasetOnOff.from_ogip_files(filename)

model = PowerLawSpectralModel(
    amplitude='1e-12 cm-2 s-1 TeV-1',
    reference='1 TeV',

dataset.model = model

fit = Fit([dataset])
result = fit.run()
model.parameters.covariance = result.parameters.covariance

It will print the following output to the console:



       name     value     error        unit      min max frozen
    --------- --------- --------- -------------- --- --- ------
        index 2.817e+00 1.496e-01                nan nan  False
    amplitude 5.142e-11 6.423e-12 cm-2 s-1 TeV-1 nan nan  False
    reference 1.000e+00 0.000e+00            TeV nan nan   True


       name     index   amplitude reference
    --------- --------- --------- ---------
        index 2.239e-02 6.160e-13 0.000e+00
    amplitude 6.160e-13 4.126e-23 0.000e+00
    reference 0.000e+00 0.000e+00 0.000e+00

Using gammapy.spectrum

For more advanced use cases please go to the tutorial notebooks:

The following pages describe gammapy.spectrum in more detail:


gammapy.spectrum Package

1D spectrum analysis.


BackgroundEstimate(on_region, on_events, …) Container class for background estimate.
CountsSpectrum(energy_lo, energy_hi[, data, …]) Generic counts spectrum.
FluxPoints(table) Flux points container.
FluxPointsDataset(model, data[, mask_fit, …]) Fit a set of flux points with a parametric model.
FluxPointsEstimator(datasets, e_edges[, …]) Flux points estimator.
PhaseBackgroundEstimator(on_region, …) Background estimation with on and off phases.
ReflectedRegionsBackgroundEstimator(…[, binsz]) Reflected Regions background estimator.
ReflectedRegionsFinder(region, center[, …]) Find reflected regions.
SensitivityEstimator(arf, rmf, bkg, livetime) Estimate differential sensitivity.
SpectrumDataset([model, counts, livetime, …]) Spectrum dataset for likelihood fitting.
SpectrumDatasetOnOff([model, counts, …]) Spectrum dataset for on-off likelihood fitting.
SpectrumEvaluator(model[, aeff, edisp, …]) Calculate number of predicted counts (npred).
SpectrumExtraction(observations, bkg_estimate) Creating input data to 1D spectrum fitting.