Note

You are not reading the most up to date version of Gammapy documentation.
Access the latest stable version v1.3 or the list of Gammapy releases.

Log Parabola Spectral Model

This model parametrises a log parabola spectrum.

It is defined by the following equation:

ϕ(E)=ϕ0(EE0)αβlog(EE0)

Note that log refers to the natural logarithm. This is consistent with the Fermi Science Tools and ctools. The Sherpa package, however, uses log10. If you have parametrization based on log10 you can use the from_log10() method.

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 LogParabolaSpectralModel, Models, SkyModel

energy_range = [0.1, 100] * u.TeV
model = LogParabolaSpectralModel(
    alpha=2.3, amplitude="1e-12 cm-2 s-1 TeV-1", reference=1 * u.TeV, beta=0.5,
)
model.plot(energy_range)
plt.grid(which="both")
../../../_images/sphx_glr_plot_logparabola_001.png

YAML representation

Here is an example YAML file using the model:

model = SkyModel(spectral_model=model, name="log-parabola-model")
models = Models([model])

print(models.to_yaml())

Out:

components:
-   name: log-parabola-model
    type: SkyModel
    spectral:
        type: LogParabolaSpectralModel
        parameters:
        - {name: amplitude, value: 1.0e-12, unit: cm-2 s-1 TeV-1, min: .nan, max: .nan,
            frozen: false, error: 0}
        - {name: reference, value: 1.0, unit: TeV, min: .nan, max: .nan, frozen: true,
            error: 0}
        - {name: alpha, value: 2.3, unit: '', min: .nan, max: .nan, frozen: false,
            error: 0}
        - {name: beta, value: 0.5, unit: '', min: .nan, max: .nan, frozen: false,
            error: 0}

Gallery generated by Sphinx-Gallery