.. only:: html
.. note::
:class: sphx-glr-download-link-note
Click :ref:`here ` to download the full example code
.. rst-class:: sphx-glr-example-title
.. _sphx_glr_modeling_gallery_spectral_plot_piecewise_norm_spectral.py:
.. _piecewise-norm-spectral:
Piecewise Norm Spectral Model
==============================================
This model parametrises a piecewise spectral correction
with a free norm parameter at each fixed energy node.
Example plot
------------
Here is an example plot of the model:
.. code-block:: default
from astropy import units as u
import matplotlib.pyplot as plt
from gammapy.modeling.models import (
Models,
PiecewiseNormSpectralModel,
PowerLawSpectralModel,
SkyModel,
)
energy_range = [0.1, 100] * u.TeV
model = PiecewiseNormSpectralModel(
energy=[0.1, 1, 3, 10, 30, 100] * u.TeV, norms=[1, 3, 8, 10, 8, 2],
)
model.plot(energy_range, flux_unit="")
plt.grid(which="both")
.. image:: /modeling/gallery/spectral/images/sphx_glr_plot_piecewise_norm_spectral_001.png
:alt: plot piecewise norm spectral
:class: sphx-glr-single-img
YAML representation
-------------------
Here is an example YAML file using the model:
.. code-block:: default
model = model * PowerLawSpectralModel()
model = SkyModel(spectral_model=model, name="piecewise-norm-model")
models = Models([model])
print(models.to_yaml())
.. rst-class:: sphx-glr-script-out
Out:
.. code-block:: none
components:
- name: piecewise-norm-model
type: SkyModel
spectral:
type: CompoundSpectralModel
model1:
type: PiecewiseNormSpectralModel
parameters:
- name: norm_0
value: 1.0
- name: norm_1
value: 3.0
- name: norm_2
value: 8.0
- name: norm_3
value: 10.0
- name: norm_4
value: 8.0
- name: norm_5
value: 2.0
energy:
data:
- 0.1
- 1.0
- 3.0
- 10.0
- 30.0
- 100.0
unit: TeV
model2:
type: PowerLawSpectralModel
parameters:
- name: index
value: 2.0
- name: amplitude
value: 1.0e-12
unit: cm-2 s-1 TeV-1
- name: reference
value: 1.0
unit: TeV
frozen: true
operator: mul
.. _sphx_glr_download_modeling_gallery_spectral_plot_piecewise_norm_spectral.py:
.. only :: html
.. container:: sphx-glr-footer
:class: sphx-glr-footer-example
.. container:: sphx-glr-download sphx-glr-download-python
:download:`Download Python source code: plot_piecewise_norm_spectral.py `
.. container:: sphx-glr-download sphx-glr-download-jupyter
:download:`Download Jupyter notebook: plot_piecewise_norm_spectral.ipynb `
.. only:: html
.. rst-class:: sphx-glr-signature
`Gallery generated by Sphinx-Gallery `_