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.
A spectral model shape is assumed, all parameters except the norm are fixed A 1D amplitude fit is done, to find the amplitude so that npred equals excess.
This is done for each group independently.
The method is used for example in this FERMI-LAT catalog paper https://ui.adsabs.harvard.edu/#abs/2015ApJS..218…23A or the HESS GPS paper https://ui.adsabs.harvard.edu/#abs/2018A%26A…612A…1H
Parameters: obs :
SpectrumObservation
orSpectrumObservationList
Spectrum observation(s)
groups :
SpectrumEnergyGroups
Energy groups (usually output of
SpectrumEnergyGroupMaker
)model :
SpectralModel
Global model (usually output of
SpectrumFit
)Attributes Summary
fit
Instance of SpectrumFit
obs
Observations participating in the fit Methods Summary
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[, …])Attributes Documentation
-
fit
¶ Instance of
SpectrumFit
-
obs
¶ Observations participating in the fit
Methods Documentation
-
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)
-