EnergyDispersion2D

class gammapy.irf.EnergyDispersion2D(energy_axis_true, migra_axis, offset_axis, data, interp_kwargs=None, meta=None)[source]

Bases: object

Offset-dependent energy dispersion matrix.

Data format specification: EDISP_2D

Parameters
energy_axis_trueMapAxis

True energy axis

migra_axisMapAxis

Energy migration axis

offset_axisMapAxis

Field of view offset axis

datandarray

Energy dispersion probability density

See also

EnergyDispersion

Examples

Read energy dispersion IRF from disk:

>>> from gammapy.maps import MapAxis
>>> from gammapy.irf import EnergyDispersion2D
>>> filename = '$GAMMAPY_DATA/hess-dl3-dr1/data/hess_dl3_dr1_obs_id_020136.fits.gz'
>>> edisp2d = EnergyDispersion2D.read(filename, hdu="EDISP")

Create energy dispersion matrix (EnergyDispersion) for a given field of view offset and energy binning:

>>> energy = MapAxis.from_bounds(0.1, 20, nbin=60, unit="TeV", interp="log").edges
>>> edisp = edisp2d.to_edisp_kernel(offset='1.2 deg', e_reco=energy, energy_true=energy)

Attributes Summary

default_interp_kwargs

Default Interpolation kwargs for NDDataArray.

tag

Methods Summary

from_gauss(energy_true, migra, bias, sigma, …)

Create Gaussian energy dispersion matrix (EnergyDispersion2D).

from_hdulist(hdulist[, hdu])

Create from HDUList.

from_table(table)

Create from Table.

get_response(offset, energy_true[, energy])

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, energy_true, migra])

Plot energy dispersion for given offset and true energy.

read(filename[, hdu])

Read from FITS file.

to_edisp_kernel(offset[, energy_true, energy])

Detector response R(Delta E_reco, Delta E_true)

to_table()

Convert to Table.

to_table_hdu([name])

Convert to BinTable.

Attributes Documentation

default_interp_kwargs = {'bounds_error': False, 'fill_value': None}

Default Interpolation kwargs for NDDataArray. Extrapolate.

tag = 'edisp_2d'

Methods Documentation

classmethod from_gauss(energy_true, migra, bias, sigma, offset, pdf_threshold=1e-06)[source]

Create Gaussian energy dispersion matrix (EnergyDispersion2D).

The output matrix will be Gaussian in (energy_true / energy).

The bias and sigma should be either floats or arrays of same dimension than energy_true. bias refers to the mean value of the migra distribution minus one, i.e. bias=0 means no bias.

Note that, the output matrix is flat in offset.

Parameters
energy_trueQuantity

Bin edges of true energy axis

migraQuantity

Bin edges of migra axis

biasfloat or ndarray

Center of Gaussian energy dispersion, bias

sigmafloat or ndarray

RMS width of Gaussian energy dispersion, resolution

offsetQuantity

Bin edges of offset

pdf_thresholdfloat, optional

Zero suppression threshold

classmethod from_hdulist(hdulist, hdu='edisp_2d')[source]

Create from HDUList.

classmethod from_table(table)[source]

Create from Table.

get_response(offset, energy_true, energy=None)[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
energy_trueQuantity

True energy

energyQuantity, None

Reconstructed energy axis

offsetAngle

Offset

Returns
rvndarray

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
axAxes, optional

Axis

offsetAngle, optional

Offset

add_cbarbool

Add a colorbar to the plot.

kwargsdict

Keyword arguments passed to pcolormesh.

Returns
axAxes

Axis

plot_migration(ax=None, offset=None, energy_true=None, migra=None, **kwargs)[source]

Plot energy dispersion for given offset and true energy.

Parameters
axAxes, optional

Axis

offsetAngle, optional

Offset

energy_trueQuantity, optional

True energy

migrandarray, optional

Migration nodes

Returns
axAxes

Axis

classmethod read(filename, hdu='edisp_2d')[source]

Read from FITS file.

Parameters
filenamestr

File name

to_edisp_kernel(offset, energy_true=None, energy=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
offsetAngle

Offset

energy_trueQuantity, None

True energy axis

energyQuantity

Reconstructed energy axis

Returns
edispEDispKernel

Energy dispersion matrix

to_table()[source]

Convert to Table.

to_table_hdu(name='ENERGY DISPERSION')[source]

Convert to BinTable.