SpectrumEvaluator¶
-
class
gammapy.spectrum.SpectrumEvaluator(model, aeff=None, edisp=None, livetime=None, e_true=None)[source]¶ Bases:
objectCalculate number of predicted counts (
npred).The true and reconstructed energy binning are inferred from the provided IRFs.
Parameters: - model :
SpectralModel Spectral model
- aeff :
EffectiveAreaTable EffectiveArea
- edisp :
EnergyDispersion, optional EnergyDispersion
- livetime :
Quantity Observation duration (may be contained in aeff)
- e_true :
Quantity, optional Desired energy axis of the prediced counts vector if no IRFs are given
Examples
Calculate predicted counts in a desired reconstruced energy binning
import numpy as np import astropy.units as u import matplotlib.pyplot as plt from gammapy.irf import EffectiveAreaTable, EnergyDispersion from gammapy.modeling.models import PowerLawSpectralModel from gammapy.spectrum import SpectrumEvaluator e_true = np.logspace(-2, 2.5, 109) * u.TeV e_reco = np.logspace(-2, 2, 73) * u.TeV aeff = EffectiveAreaTable.from_parametrization(energy=e_true) edisp = EnergyDispersion.from_gauss(e_true=e_true, e_reco=e_reco, sigma=0.3, bias=0) model = PowerLawSpectralModel(index=2.3, amplitude="2.5e-12 cm-2 s-1 TeV-1", reference="1 TeV") predictor = SpectrumEvaluator(model=model, aeff=aeff, edisp=edisp, livetime="1 hour") predictor.compute_npred().plot_hist() plt.show()
Methods Summary
apply_aeff(self, integral_flux)apply_edisp(self, true_counts)compute_npred(self)Methods Documentation
- model :