ExpDecayTemporalModel#

class gammapy.modeling.models.ExpDecayTemporalModel(**kwargs)[source]#

Bases: TemporalModel

Temporal model with an exponential decay.

For more information see ExpDecay temporal model.

Parameters:
t0Quantity

Decay timescale. Default is 1 day.

t_refQuantity

The reference time in mjd. Frozen per default, at 2000-01-01.

Attributes Summary

covariance

default_parameters

frozen

Frozen status of a model, True if all parameters are frozen.

is_energy_dependent

parameters

Parameters as a Parameters object.

parameters_unique_names

reference_time

Reference time in MJD.

t0

A model parameter.

t_ref

A model parameter.

tag

type

Methods Summary

__call__(time[, energy])

Evaluate model.

copy(**kwargs)

Deep copy.

evaluate(time, t0, t_ref)

Evaluate at given times.

freeze()

Freeze all parameters.

from_dict(data, **kwargs)

Create a temporal model from a dictionary.

from_parameters(parameters, **kwargs)

Create model from parameter list.

integral(t_min, t_max)

Evaluate the integrated flux within the given time intervals.

plot(time_range[, ax, n_points])

Plot the temporal model.

reassign(datasets_names, new_datasets_names)

Reassign a model from one dataset to another.

sample_time(n_events, t_min, t_max[, ...])

Sample arrival times of events.

time_sum(t_min, t_max)

Total time between t_min and t_max.

to_dict([full_output])

Create dictionary for YAML serilisation.

unfreeze()

Restore parameters frozen status to default.

Attributes Documentation

covariance#
default_parameters = <gammapy.modeling.parameter.Parameters object>#
frozen#

Frozen status of a model, True if all parameters are frozen.

is_energy_dependent#
parameters#

Parameters as a Parameters object.

parameters_unique_names#
reference_time#

Reference time in MJD.

t0#

A model parameter.

Note that the parameter value has been split into a factor and scale like this:

value = factor x scale

Users should interact with the value, quantity or min and max properties and consider the fact that there is a factor` and scale an implementation detail.

That was introduced for numerical stability in parameter and error estimation methods, only in the Gammapy optimiser interface do we interact with the factor, factor_min and factor_max properties, i.e. the optimiser “sees” the well-scaled problem.

Parameters:
namestr

Name.

valuefloat or Quantity

Value.

scalefloat, optional

Scale (sometimes used in fitting).

unitUnit or str, optional

Unit.

minfloat, optional

Minimum (sometimes used in fitting).

maxfloat, optional

Maximum (sometimes used in fitting).

frozenbool, optional

Frozen (used in fitting).

errorfloat

Parameter error.

scan_minfloat

Minimum value for the parameter scan. Overwrites scan_n_sigma.

scan_maxfloat

Minimum value for the parameter scan. Overwrites scan_n_sigma.

scan_n_values: int

Number of values to be used for the parameter scan.

scan_n_sigmaint

Number of sigmas to scan.

scan_values: `numpy.array`

Scan values. Overwrites all the scan keywords before.

scale_method{‘scale10’, ‘factor1’, None}

Method used to set factor and scale.

interp{“lin”, “sqrt”, “log”}

Parameter scaling to use for the scan.

priorPrior

Prior set on the parameter.

t_ref#

A model parameter.

Note that the parameter value has been split into a factor and scale like this:

value = factor x scale

Users should interact with the value, quantity or min and max properties and consider the fact that there is a factor` and scale an implementation detail.

That was introduced for numerical stability in parameter and error estimation methods, only in the Gammapy optimiser interface do we interact with the factor, factor_min and factor_max properties, i.e. the optimiser “sees” the well-scaled problem.

Parameters:
namestr

Name.

valuefloat or Quantity

Value.

scalefloat, optional

Scale (sometimes used in fitting).

unitUnit or str, optional

Unit.

minfloat, optional

Minimum (sometimes used in fitting).

maxfloat, optional

Maximum (sometimes used in fitting).

frozenbool, optional

Frozen (used in fitting).

errorfloat

Parameter error.

scan_minfloat

Minimum value for the parameter scan. Overwrites scan_n_sigma.

scan_maxfloat

Minimum value for the parameter scan. Overwrites scan_n_sigma.

scan_n_values: int

Number of values to be used for the parameter scan.

scan_n_sigmaint

Number of sigmas to scan.

scan_values: `numpy.array`

Scan values. Overwrites all the scan keywords before.

scale_method{‘scale10’, ‘factor1’, None}

Method used to set factor and scale.

interp{“lin”, “sqrt”, “log”}

Parameter scaling to use for the scan.

priorPrior

Prior set on the parameter.

tag = ['ExpDecayTemporalModel', 'exp-decay']#
type#

Methods Documentation

__call__(time, energy=None)#

Evaluate model.

Parameters:
timeTime

Time object.

energyQuantity, optional

Energy. Default is None.

Returns:
valuesQuantity

Model values.

copy(**kwargs)#

Deep copy.

static evaluate(time, t0, t_ref)[source]#

Evaluate at given times.

freeze()#

Freeze all parameters.

classmethod from_dict(data, **kwargs)#

Create a temporal model from a dictionary.

Parameters:
datadict

Dictionary containing the model parameters.

**kwargsdict

Keyword arguments passed to from_parameters.

classmethod from_parameters(parameters, **kwargs)#

Create model from parameter list.

Parameters:
parametersParameters

Parameters for init.

Returns:
modelModel

Model instance.

integral(t_min, t_max)[source]#

Evaluate the integrated flux within the given time intervals.

Parameters:
t_minTime

Start times of observation.

t_maxTime

Stop times of observation.

Returns:
normfloat

Integrated flux norm on the given time intervals.

plot(time_range, ax=None, n_points=100, **kwargs)#

Plot the temporal model.

Parameters:
time_rangeTime

Times to plot the model.

axAxes, optional

Axis to plot on.

n_pointsint

Number of bins to plot model. Default is 100.

**kwargsdict

Keywords forwarded to errorbar.

Returns:
axAxes, optional

Matplotlib axes.

reassign(datasets_names, new_datasets_names)#

Reassign a model from one dataset to another.

Parameters:
datasets_namesstr or list

Name of the datasets where the model is currently defined.

new_datasets_namesstr or list

Name of the datasets where the model should be defined instead. If multiple names are given the two list must have the save length, as the reassignment is element-wise.

Returns:
modelModel

Reassigned model.

sample_time(n_events, t_min, t_max, t_delta='1 s', random_state=0)#

Sample arrival times of events.

Parameters:
n_eventsint

Number of events to sample.

t_minTime

Start time of the sampling.

t_maxTime

Stop time of the sampling.

t_deltaQuantity, optional

Time step used for sampling of the temporal model. Default is 1 s.

random_state{int, ‘random-seed’, ‘global-rng’, RandomState}

Defines random number generator initialisation. Passed to get_random_state. Default is 0.

Returns:
timeQuantity

Array with times of the sampled events.

static time_sum(t_min, t_max)#

Total time between t_min and t_max.

Parameters:
t_min, t_maxTime

Lower and upper bound of integration range.

Returns:
time_sumTimeDelta

Summed time in the intervals.

to_dict(full_output=False)#

Create dictionary for YAML serilisation.

unfreeze()#

Restore parameters frozen status to default.