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.



Plot spectrum datasets of regions.


CountsSpectrum(energy_lo, energy_hi[, data, …])

Generic counts spectrum.


Flux points container.

FluxPointsDataset(models, data[, mask_fit, …])

Fit a set of flux points with a parametric model.

FluxPointsEstimator(datasets, e_edges[, …])

Flux points estimator.

PhaseBackgroundMaker(on_phase, off_phase)

Background estimation with on and off phases.


Reflected regions background maker.

ReflectedRegionsFinder(region, center[, …])

Find reflected regions.

SensitivityEstimator(arf, rmf, bkg, livetime)

Estimate differential sensitivity.

SpectrumDataset([models, counts, livetime, …])

Spectrum dataset for likelihood fitting.


Make spectrum for a single IACT observation.

SpectrumDatasetOnOff([models, counts, …])

Spectrum dataset for on-off likelihood fitting.