SpectrumDataset

class gammapy.spectrum.SpectrumDataset(model=None, counts=None, livetime=None, aeff=None, edisp=None, background=None, mask_safe=None, mask_fit=None, obs_id=None, gti=None)[source]

Bases: gammapy.utils.fitting.Dataset

Spectrum dataset for likelihood fitting.

The spectrum dataset bundles reduced counts data, with a spectral model, background model and instrument response function to compute the fit-statistic given the current model and data.

Parameters:
model : SpectralModel

Fit model

counts : CountsSpectrum

Counts spectrum

livetime : Quantity

Livetime

aeff : EffectiveAreaTable

Effective area

edisp : EnergyDispersion

Energy dispersion

background : CountsSpectrum

Background to use for the fit.

mask_safe : ndarray

Mask defining the safe data range.

mask_fit : ndarray

Mask to apply to the likelihood for fitting.

obs_id : int or list of int

Observation id(s) corresponding to the (stacked) dataset.

gti : ‘~gammapy.data.gti.GTI’

GTI of the observation or union of GTI if it is a stacked observation

See also

SpectrumDatasetOnOff, FluxPointsDataset, MapDataset

Attributes Summary

data_shape Shape of the counts data
energy_range Energy range defined by the safe mask
excess Excess (counts - alpha * counts_off)
likelihood_type
mask Combined fit and safe mask
model
parameters

Methods Summary

copy(self) A deep copy.
fake(self[, random_state]) Simulate fake counts for the current model and reduced irfs.
likelihood(self) Total likelihood given the current model parameters.
likelihood_per_bin(self) Likelihood per bin given the current model parameters
npred(self) Returns npred map (model + background)
plot_counts(self[, ax]) Plot predicted and detected counts.
plot_fit(self) Plot counts and residuals in two panels.
plot_residuals(self[, method, ax]) Plot residuals.
residuals(self[, method]) Compute the spectral residuals.

Attributes Documentation

data_shape

Shape of the counts data

energy_range

Energy range defined by the safe mask

excess

Excess (counts - alpha * counts_off)

likelihood_type = 'cash'
mask

Combined fit and safe mask

model
parameters

Methods Documentation

copy(self)

A deep copy.

fake(self, random_state='random-seed')[source]

Simulate fake counts for the current model and reduced irfs.

This method overwrites the counts defined on the dataset object.

Parameters:
random_state : {int, ‘random-seed’, ‘global-rng’, RandomState}

Defines random number generator initialisation. Passed to get_random_state.

likelihood(self)

Total likelihood given the current model parameters.

likelihood_per_bin(self)[source]

Likelihood per bin given the current model parameters

npred(self)[source]

Returns npred map (model + background)

plot_counts(self, ax=None)[source]

Plot predicted and detected counts.

Parameters:
ax : Axes

Axes object.

Returns:
ax : Axes

Axes object.

plot_fit(self)[source]

Plot counts and residuals in two panels.

Calls plot_counts and plot_residuals.

plot_residuals(self, method='diff', ax=None, **kwargs)[source]

Plot residuals.

Parameters:
ax : Axes

Axes object.

method : {“diff”, “diff/model”, “diff/sqrt(model)”}

Normalization used to compute the residuals, see SpectrumDataset.residuals()

**kwargs : dict

Keywords passed to CountsSpectrum.plot()

Returns:
ax : Axes

Axes object.

residuals(self, method='diff')[source]

Compute the spectral residuals.

Parameters:
method: {“diff”, “diff/model”, “diff/sqrt(model)”}
Method used to compute the residuals. Available options are:
  • diff (default): data - model
  • diff/model: (data - model) / model
  • diff/sqrt(model): (data - model) / sqrt(model)
Returns:
residuals : CountsSpectrum

Residual spectrum.