Exponential cutoff power law norm spectral model#

This model parametrises a cutoff power law spectral correction with a norm parameter.

Example plot#

Here is an example plot of the model:

from astropy import units as u
import matplotlib.pyplot as plt
from gammapy.modeling.models import (
    ExpCutoffPowerLawNormSpectralModel,
    Models,
    SkyModel,
    TemplateSpectralModel,
)

energy_bounds = [0.1, 100] * u.TeV

energy = [0.3, 1, 3, 10, 30] * u.TeV
values = [40, 30, 20, 10, 1] * u.Unit("TeV-1 s-1 cm-2")
template = TemplateSpectralModel(energy, values)
norm = ExpCutoffPowerLawNormSpectralModel(
    norm=2,
    reference=1 * u.TeV,
)

template.plot(energy_bounds=energy_bounds, label="Template model")
ecpl_norm = template * norm
ecpl_norm.plot(
    energy_bounds, label="Template model with ExpCutoffPowerLaw norm correction"
)
plt.legend(loc="best")
plt.grid(which="both")
plot exp cutoff powerlaw norm spectral
/home/runner/work/gammapy-docs/gammapy-docs/gammapy/.tox/build_docs/lib/python3.9/site-packages/gammapy/modeling/models/spectral.py:1394: GammapyDeprecationWarning: The default index value changed from 1.5 to 0 since v1.3
  warnings.warn(

YAML representation#

Here is an example YAML file using the model:

model = SkyModel(spectral_model=ecpl_norm, name="exp-cutoff-power-law-norm-model")
models = Models([model])

print(models.to_yaml())
components:
-   name: exp-cutoff-power-law-norm-model
    type: SkyModel
    spectral:
        type: CompoundSpectralModel
        model1:
            type: TemplateSpectralModel
            parameters: []
            energy:
                data:
                - 0.3
                - 1.0
                - 3.0
                - 10.0
                - 30.0
                unit: TeV
            values:
                data:
                - 40.0
                - 30.0
                - 20.0
                - 10.0
                - 1.0
                unit: 1 / (cm2 s TeV)
        model2:
            type: ExpCutoffPowerLawNormSpectralModel
            parameters:
            -   name: index
                value: 0.0
            -   name: norm
                value: 2.0
            -   name: reference
                value: 1.0
                unit: TeV
            -   name: lambda_
                value: 0.1
                unit: TeV-1
            -   name: alpha
                value: 1.0
        operator: mul
metadata:
    creator: Gammapy 2.0.dev42+g127e9e1ae
    date: '2024-11-23T17:31:17.997971'
    origin: null

Gallery generated by Sphinx-Gallery