Note

You are not reading the most up to date version of Gammapy documentation.
Access the latest stable version v1.3 or the list of Gammapy releases.

FluxPointEstimator

class gammapy.spectrum.FluxPointEstimator(obs, groups, model)[source]

Bases: object

Flux point estimator.

Computes flux points for a given spectrum observation dataset (a 1-dim on/off observation), energy binning and spectral model.

Parameters:

obs : SpectrumObservation or SpectrumObservationList

Spectrum observation(s)

groups : SpectrumEnergyGroups

Energy groups (usually output of SpectrumEnergyGroupMaker)

model : SpectralModel

Global model (usually output of SpectrumFit)

Methods Summary

compute_approx_model(global_model, energy_group) Compute approximate model, to be used in the energy bin.
compute_flux_point(energy_group)
compute_flux_point_sqrt_ts(fit, stat_best_fit) Compute sqrt(TS) for flux point.
compute_flux_point_ul(fit, stat_best_fit[, …]) Compute upper limits for flux point values.
compute_points()
fit_point(model, energy_group, energy_ref[, …])

Methods Documentation

static compute_approx_model(global_model, energy_group)[source]

Compute approximate model, to be used in the energy bin. TODO: At the moment just the global model with fixed parameters is returned

compute_flux_point(energy_group)[source]
compute_flux_point_sqrt_ts(fit, stat_best_fit)[source]

Compute sqrt(TS) for flux point.

Parameters:

fit : SpectrumFit

Instance of spectrum fit.

stat_best_fit : float

TS value for best fit result.

Returns:

sqrt_ts : float

Sqrt(TS) for flux point.

compute_flux_point_ul(fit, stat_best_fit, delta_ts=4, negative=False)[source]

Compute upper limits for flux point values.

Parameters:

fit : SpectrumFit

Instance of spectrum fit.

stat_best_fit : float

TS value for best fit result.

delta_ts : float (4)

Difference in log-likelihood for given confidence interval. See Example below.

negative : bool

Compute limit in negative direction.

Returns:

dnde_ul : Quantity

Flux point upper limit.

Examples

To compute ~95% confidence upper limits (or 2 sigma) you can use:

from scipy.stats import chi2, norm

sigma = 2 cl = 1 - 2 * norm.sf(sigma) # using two sided p-value delta_ts = chi2.isf(1 - cl, df=1)

compute_points()[source]
fit_point(model, energy_group, energy_ref, sqrt_ts_threshold=1)[source]