EnergyDispersion2D¶
-
class
gammapy.irf.
EnergyDispersion2D
(e_true_lo, e_true_hi, migra_lo, migra_hi, offset_lo, offset_hi, data, interp_kwargs=None)[source]¶ Bases:
object
Offset-dependent energy dispersion matrix.
See edisp_2d
Parameters: e_true_lo :
Quantity
True energy axis lower bounds
e_true_hi :
Quantity
True energy axis upper bounds
migra_lo :
ndarray
, listMigration axis lower bounds
migra_hi :
ndarray
, listMigration axis upper bounds
offset_lo :
Angle
Offset axis lower bounds
offset_hi :
Angle
Offset axis upper bounds
data :
ndarray
PDF matrix
Examples
Read energy dispersion from disk and create RMF matrix
>>> from gammapy.irf import EnergyDispersion2D >>> from gammapy.utils.energy import EnergyBounds >>> filename = '$GAMMAPY_EXTRA/test_datasets/irf/hess/pa/hess_edisp_2d_023523.fits.gz' >>> edisp = EnergyDispersion2D.read(filename, hdu='ENERGY DISPERSION') >>> print(edisp) EnergyDispersion2D NDDataArray summary info e_true : size = 15, min = 0.125 TeV, max = 80.000 TeV migra : size = 100, min = 0.051, max = 10.051 offset : size = 6, min = 0.125 deg, max = 2.500 deg Data : size = 9000, min = 0.000, max = 3.405 >>> e_axis = EnergyBounds.equal_log_spacing(0.1,20,60, 'TeV') >>> offset = '1.2 deg' >>> rmf = edisp.to_energy_dispersion(offset=offset, e_reco=e_axis, e_true=e_axis) >>> print(rmf) EnergyDispersion NDDataArray summary info e_true : size = 60, min = 0.105 TeV, max = 19.136 TeV e_reco : size = 60, min = 0.105 TeV, max = 19.136 TeV Data : size = 3600, min = 0.000, max = 0.266
Attributes Summary
default_interp_kwargs
Default Interpolation kwargs for NDDataArray
.e_true
True energy axis migra
Energy migration axis offset
Offset axis Methods Summary
from_gauss
(e_true, migra, bias, sigma, offset)Create Gaussian EnergyDispersion2D
matrix.from_hdulist
(hdulist[, hdu])from_table
(table)Create from Table
get_response
(offset, e_true[, e_reco, ...])Detector response R(Delta E_reco, E_true) peek
([figsize])Quick-look summary plots. plot_bias
([ax, offset, add_cbar])Plot migration as a function of true energy for a given offset plot_migration
([ax, offset, e_true, migra])Plot energy dispersion for given offset and true energy. read
(filename[, hdu])Read from FITS file. to_energy_dispersion
(offset[, e_true, e_reco])Detector response R(Delta E_reco, Delta E_true) Attributes Documentation
-
default_interp_kwargs
= {'fill_value': None, 'bounds_error': False}¶ Default Interpolation kwargs for
NDDataArray
. Extrapolate.
-
e_true
¶ True energy axis
-
migra
¶ Energy migration axis
-
offset
¶ Offset axis
Methods Documentation
-
classmethod
from_gauss
(e_true, migra, bias, sigma, offset)[source]¶ Create Gaussian
EnergyDispersion2D
matrix.The output matrix will be Gaussian in (e_true / e_reco). bias and sigma should be either floats or arrays of same dimension than e_true. Note that, the output matrix is flat in offset.
Parameters: e_true :
Quantity
,BinnedDataAxis
Bin edges of true energy axis
migra :
Quantity
,BinnedDataAxis
Bin edges of migra axis
bias : float or
array
Center of Gaussian energy dispersion, bias
sigma : float or
array
RMS width of Gaussian energy dispersion, resolution
offset :
Quantity
,BinnedDataAxis
, optionalBin edges of offset
-
get_response
(offset, e_true, e_reco=None, migra_step=0.005)[source]¶ Detector response R(Delta E_reco, E_true)
Probability to reconstruct a given true energy in a given reconstructed energy band. In each reco bin, you integrate with a riemann sum over the default migra bin of your analysis.
Parameters: e_true :
Energy
True energy
e_reco :
EnergyBounds
, NoneReconstructed energy axis
offset :
Angle
Offset
mig_step : float
Integration step in migration
Returns: rv :
ndarray
Redistribution vector
-
peek
(figsize=(15, 5))[source]¶ Quick-look summary plots.
Parameters: figsize : (float, float)
Size of the resulting plot
-
plot_bias
(ax=None, offset=None, add_cbar=False, **kwargs)[source]¶ Plot migration as a function of true energy for a given offset
Parameters: ax :
Axes
, optionalAxis
offset :
Angle
, optionalOffset
add_cbar : bool
Add a colorbar to the plot.
kwargs : dict
Keyword arguments passed to
pcolormesh
.Returns: ax :
Axes
Axis
-
plot_migration
(ax=None, offset=None, e_true=None, migra=None, **kwargs)[source]¶ Plot energy dispersion for given offset and true energy.
Parameters: ax :
Axes
, optionalAxis
offset :
Angle
, optionalOffset
e_true :
Energy
, optionalTrue energy
migra :
array
, list, optionalMigration nodes
Returns: ax :
Axes
Axis
-
classmethod
read
(filename, hdu='edisp_2d')[source]¶ Read from FITS file.
Parameters: filename : str
File name
-
to_energy_dispersion
(offset, e_true=None, e_reco=None)[source]¶ Detector response R(Delta E_reco, Delta E_true)
Probability to reconstruct an energy in a given true energy band in a given reconstructed energy band
Parameters: offset :
Angle
Offset
e_true :
EnergyBounds
, NoneTrue energy axis
e_reco :
EnergyBounds
Reconstructed energy axis
Returns: edisp :
EnergyDispersion
Energy disperion matrix
-