Feature #1147

Implement GModelSpectralSuperExpPlaw

Added by Mayer Michael about 10 years ago. Updated almost 10 years ago.

Status:ClosedStart date:02/16/2014
Priority:NormalDue date:
Assigned To:Mayer Michael% Done:

100%

Category:-
Target version:00-09-00
Duration:

Description

The final piece of spectral models which is missing in gammalib to fully support work with the second Fermi Catalog (2FGL) is a power law with a super exponential cut off.
The formula which is needed can be found here

The proposed XML interface is:

<spectrum type="PLSuperExpCutoff">
      <parameter free="1" max="100" min="0.01" name="Prefactor" scale="1e-17" value="1.0"/>
      <parameter free="1" max="5" min="0" name="Index1" scale="-1" value="2.0"/>
      <parameter free="0" max="1e7" min="1e5" name="Scale" scale="1" value="1e6"/>
      <parameter free="1" max="100" min="0.01" name="Cutoff" scale="1e6" value="1.0"/>
      <parameter free="1" max="5" min="0" name="Index2" scale="1" value="1"/>
</spectrum>

Two things to discuss:
  • The class name: My proposal would be GModelSpectralSuperExpPlaw, returning “PLSuperExpCutoff” as type()
  • Do we keep the parameter names from Fermi-LAT or do we change to something more meaningful, e.g. “Index2” → “CutoffIndex”

pull_distributions.png (87.2 KB) Mayer Michael, 02/16/2014 10:45 PM

Pull_distributions

Recurrence

No recurrence.

History

#1 Updated by Mayer Michael about 10 years ago

  • Subject changed from Implement @GModelSpectralSuperExpPlaw@ to Implement GModelSpectralSuperExpPlaw
  • Assigned To set to Mayer Michael
  • Target version set to 00-08-01

#2 Updated by Mayer Michael about 10 years ago

I created all the necessary files. So far, I only tested the read()-functionality by reading in the 2FGL catalog, which fully succeeded. The corresponding code, which is very much inspired by GModelSpectralExpPlaw is available on branch:
1147-implement-GModelSpectralSuperExpPlaw

#3 Updated by Mayer Michael about 10 years ago

  • % Done changed from 0 to 50

#4 Updated by Knödlseder Jürgen about 10 years ago

  • Status changed from New to In Progress
  • Target version changed from 00-08-01 to 00-08-02

Mayer Michael wrote:

The final piece of spectral models which is missing in gammalib to fully support work with the second Fermi Catalog (2FGL) is a power law with a super exponential cut off.
The formula which is needed can be found here

Thanks for implementing this!

Two things to discuss:
  • The class name: My proposal would be GModelSpectralSuperExpPlaw, returning “PLSuperExpCutoff” as type()

Fine for me.

  • Do we keep the parameter names from Fermi-LAT or do we change to something more meaningful, e.g. “Index2” → “CutoffIndex”

I think we should use the same philosophy as for other classes. Have the possibility to read in Fermi/LAT XML files, but support also more meaningful names (which in particular should be coherent among GammaLib).

#5 Updated by Mayer Michael about 10 years ago

#6 Updated by Mayer Michael about 10 years ago

  • Status changed from In Progress to Feedback
  • % Done changed from 50 to 90

Using cspull, I created pull distributions for the GModelSpectralSuperExpPlaw. As input model, I used $GAMMALIB/test/data/model_point_supeplaw.xml (available in the feature branch). cspull created 3500 trials, each with an effective exposure of 18ks.
The pull distributions look quite ok. However, the prefactor seems to be slightly asymmetric, which might possibly be related to strong correlations of the parameters.

I think we should use the same philosophy as for other classes. Have the possibility to read in Fermi/LAT XML files, but support also more meaningful names (which in particular should be coherent among GammaLib).

For now, only the Fermi terminology is supported, i.e. parameter names are Prefactor, Index1, Cutoff, Scale and Index2. I am a bit unimaginative for better names of Index1 and Index2. Do you have any suggestions, or should we leave it like this?

#7 Updated by Knödlseder Jürgen about 10 years ago

Mayer Michael wrote:

Using cspull, I created pull distributions for the GModelSpectralSuperExpPlaw. As input model, I used $GAMMALIB/test/data/model_point_supeplaw.xml (available in the feature branch). cspull created 3500 trials, each with an effective exposure of 18ks.
The pull distributions look quite ok. However, the prefactor seems to be slightly asymmetric, which might possibly be related to strong correlations of the parameters.

Looks great! The asymmetric Prefactor may come from small statistics (non Gaussian case). If it were correlations I would expect to see the problem also in other parameters.

I think we should use the same philosophy as for other classes. Have the possibility to read in Fermi/LAT XML files, but support also more meaningful names (which in particular should be coherent among GammaLib).

For now, only the Fermi terminology is supported, i.e. parameter names are Prefactor, Index1, Cutoff, Scale and Index2. I am a bit unimaginative for better names of Index1 and Index2. Do you have any suggestions, or should we leave it like this?

Okay, let’s stick with this for the moment. We can always change this once we have some good idea.

#8 Updated by Knödlseder Jürgen about 10 years ago

Is this ready for merging?

#9 Updated by Mayer Michael about 10 years ago

  • Status changed from Feedback to Pull request
  • % Done changed from 90 to 100

Looks great! The asymmetric Prefactor may come from small statistics (non Gaussian case). If it were correlations I would expect to see the problem also in other parameters.

Sounds reasonable.

Is this ready for merging?

Yes, I would say so.

#10 Updated by Knödlseder Jürgen about 10 years ago

  • Status changed from Pull request to Feedback

Merged into devel.

I made some minor adjustment during integration, the most significant ones being a correction of the XML read method (corrected the expected model type) and the introduction of a unit test.

#11 Updated by Mayer Michael about 10 years ago

Looks good. Everything is working.

#12 Updated by Knödlseder Jürgen almost 10 years ago

  • Status changed from Feedback to Resolved
  • Target version changed from 00-08-02 to 00-09-00

Skip release 0.8.2.

#13 Updated by Knödlseder Jürgen almost 10 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF