Commit 7d43636ef1fc420e8bdb7a9993012f78a344b73c
1 parent
b554fc2e
Add smoothly broken power law to science verification (#1948)
Showing
2 changed files
with
40 additions
and
0 deletions
test/data/sciver/crab_smoothbplaw.xml
0 → 100644
| 1 | +<?xml version="1.0" standalone="no"?> | ||
| 2 | +<source_library title="source library"> | ||
| 3 | + <source name="Crab" type="PointSource"> | ||
| 4 | + <spectrum type="SmoothBrokenPowerLaw"> | ||
| 5 | + <parameter name="Prefactor" scale="1e-16" value="5.7" min="1e-07" max="1000.0" free="1"/> | ||
| 6 | + <parameter name="Index1" scale="-1" value="2.48" min="0.0" max="+5.0" free="1"/> | ||
| 7 | + <parameter name="PivotEnergy" scale="1e6" value="0.3" min="0.01" max="1000.0" free="0"/> | ||
| 8 | + <parameter name="Index2" scale="-1" value="2.70" min="0.01" max="+5.0" free="1"/> | ||
| 9 | + <parameter name="BreakEnergy" scale="1e6" value="1.0" min="0.01" max="1000.0" free="1"/> | ||
| 10 | + <parameter name="BreakSmoothness" scale="1.0" value="0.2" min="0.01" max="10.0" free="1"/> | ||
| 11 | + </spectrum> | ||
| 12 | + <spatialModel type="PointSource"> | ||
| 13 | + <parameter name="RA" scale="1.0" value="83.6331" min="-360" max="360" free="0"/> | ||
| 14 | + <parameter name="DEC" scale="1.0" value="22.0145" min="-90" max="90" free="0"/> | ||
| 15 | + </spatialModel> | ||
| 16 | + </source> | ||
| 17 | + <source name="Background" type="CTAIrfBackground" instrument="CTA"> | ||
| 18 | + <spectrum type="PowerLaw"> | ||
| 19 | + <parameter name="Prefactor" scale="1.0" value="1.0" min="1e-3" max="1e3" free="1"/> | ||
| 20 | + <parameter name="Index" scale="1.0" value="0.0" min="-5.0" max="+5.0" free="1"/> | ||
| 21 | + <parameter name="PivotEnergy" scale="1e6" value="1.0" min="0.01" max="1000.0" free="0"/> | ||
| 22 | + </spectrum> | ||
| 23 | + </source> | ||
| 24 | +</source_library> |
test/science_verification.py
| @@ -245,6 +245,7 @@ class sciver(gammalib.GPythonTestSuite): | @@ -245,6 +245,7 @@ class sciver(gammalib.GPythonTestSuite): | ||
| 245 | self.append(self.spec_plaw_edisp, 'Test power law model with energy dispersion') | 245 | self.append(self.spec_plaw_edisp, 'Test power law model with energy dispersion') |
| 246 | self.append(self.spec_plaw_stacked, 'Test power law model with stacked analysis') | 246 | self.append(self.spec_plaw_stacked, 'Test power law model with stacked analysis') |
| 247 | self.append(self.spec_plaw2, 'Test power law 2 model') | 247 | self.append(self.spec_plaw2, 'Test power law 2 model') |
| 248 | + self.append(self.spec_smoothbplaw, 'Test smoothly broken power law model') | ||
| 248 | self.append(self.spec_eplaw, 'Test exponentially cut off power law model') | 249 | self.append(self.spec_eplaw, 'Test exponentially cut off power law model') |
| 249 | self.append(self.spec_supeplaw, 'Test super exponentially cut off power law model') | 250 | self.append(self.spec_supeplaw, 'Test super exponentially cut off power law model') |
| 250 | self.append(self.spec_logparabola, 'Test log parabola model') | 251 | self.append(self.spec_logparabola, 'Test log parabola model') |
| @@ -420,6 +421,21 @@ class sciver(gammalib.GPythonTestSuite): | @@ -420,6 +421,21 @@ class sciver(gammalib.GPythonTestSuite): | ||
| 420 | self.test('Pull_Background_Index') | 421 | self.test('Pull_Background_Index') |
| 421 | return | 422 | return |
| 422 | 423 | ||
| 424 | + # Test smoothly broken power law model | ||
| 425 | + def spec_smoothbplaw(self): | ||
| 426 | + """ | ||
| 427 | + Test smoothly broken power law model | ||
| 428 | + """ | ||
| 429 | + self.pull('data/sciver/crab_smoothbplaw') | ||
| 430 | + self.test('Pull_Crab_Prefactor') | ||
| 431 | + self.test('Pull_Crab_Index1') | ||
| 432 | + self.test('Pull_Crab_Index2') | ||
| 433 | + self.test('Pull_Crab_BreakEnergy') | ||
| 434 | + self.test('Pull_Crab_BreakSmoothness') | ||
| 435 | + self.test('Pull_Background_Prefactor') | ||
| 436 | + self.test('Pull_Background_Index') | ||
| 437 | + return | ||
| 438 | + | ||
| 423 | # Test exponentially cut off power law model | 439 | # Test exponentially cut off power law model |
| 424 | def spec_eplaw(self): | 440 | def spec_eplaw(self): |
| 425 | """ | 441 | """ |