Feature #1147
Implement GModelSpectralSuperExpPlaw
Status: | Closed | Start date: | 02/16/2014 | |
---|---|---|---|---|
Priority: | Normal | Due 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” astype()
- Do we keep the parameter names from Fermi-LAT or do we change to something more meaningful, e.g. “Index2” → “CutoffIndex”
Recurrence
No recurrence.
History
#1 Updated by Mayer Michael almost 11 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 almost 11 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 almost 11 years ago
- % Done changed from 0 to 50
#4 Updated by Knödlseder Jürgen almost 11 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” astype()
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 almost 11 years ago
- File pull_distributions.png added
#6 Updated by Mayer Michael almost 11 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 almost 11 years ago
Mayer Michael wrote:
Using
cspull
, I created pull distributions for theGModelSpectralSuperExpPlaw
. 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 almost 11 years ago
Is this ready for merging?
#9 Updated by Mayer Michael almost 11 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 almost 11 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 almost 11 years ago
Looks good. Everything is working.
#12 Updated by Knödlseder Jürgen over 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 over 10 years ago
- Status changed from Resolved to Closed