Commit abba998579f7da419eaaf73f42abf734f982debf

Authored by Jürgen Knödlseder
1 parent b9b2d265

Add spatial models to science verification

test/data/sciver/cena_lobes_parkes.fits 0 → 100644
No preview for this file type
test/data/sciver/crab_edisk.xml 0 → 100644
  1 +<?xml version="1.0" standalone="no"?>
  2 +<source_library title="source library">
  3 + <source name="Crab" type="ExtendedSource">
  4 + <spectrum type="PowerLaw">
  5 + <parameter name="Prefactor" scale="1e-16" value="5.7" min="1e-07" max="1000.0" free="1"/>
  6 + <parameter name="Index" scale="-1" value="2.48" min="0.0" max="+5.0" free="1"/>
  7 + <parameter name="Scale" scale="1e6" value="0.3" min="0.01" max="1000.0" free="0"/>
  8 + </spectrum>
  9 + <spatialModel type="EllipticalDisk">
  10 + <parameter name="RA" scale="1.0" value="83.6331" min="-360" max="360" free="1"/>
  11 + <parameter name="DEC" scale="1.0" value="22.0145" min="-90" max="90" free="1"/>
  12 + <parameter name="PA" scale="1.0" value="45.0" min="-360" max="360" free="1"/>
  13 + <parameter name="MinorRadius" scale="1.0" value="0.2" min="0.001" max="10" free="1"/>
  14 + <parameter name="MajorRadius" scale="1.0" value="0.4" min="0.001" max="10" free="1"/>
  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="Scale" scale="1e6" value="1.0" min="0.01" max="1000.0" free="0"/>
  22 + </spectrum>
  23 + </source>
  24 +</source_library>
... ...
test/data/sciver/crab_egauss.xml 0 → 100644
  1 +<?xml version="1.0" standalone="no"?>
  2 +<source_library title="source library">
  3 + <source name="Crab" type="ExtendedSource">
  4 + <spectrum type="PowerLaw">
  5 + <parameter name="Prefactor" scale="1e-16" value="5.7" min="1e-07" max="1000.0" free="1"/>
  6 + <parameter name="Index" scale="-1" value="2.48" min="0.0" max="+5.0" free="1"/>
  7 + <parameter name="Scale" scale="1e6" value="0.3" min="0.01" max="1000.0" free="0"/>
  8 + </spectrum>
  9 + <spatialModel type="EllipticalGauss">
  10 + <parameter name="RA" scale="1.0" value="83.6331" min="-360" max="360" free="1"/>
  11 + <parameter name="DEC" scale="1.0" value="22.0145" min="-90" max="90" free="1"/>
  12 + <parameter name="PA" scale="1.0" value="45.0" min="-360" max="360" free="1"/>
  13 + <parameter name="MinorRadius" scale="1.0" value="0.2" min="0.001" max="10" free="1"/>
  14 + <parameter name="MajorRadius" scale="1.0" value="0.4" min="0.001" max="10" free="1"/>
  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="Scale" scale="1e6" value="1.0" min="0.01" max="1000.0" free="0"/>
  22 + </spectrum>
  23 + </source>
  24 +</source_library>
... ...
test/data/sciver/crab_map.xml 0 → 100644
  1 +<?xml version="1.0" standalone="no"?>
  2 +<source_library title="source library">
  3 + <source name="Crab" type="DiffuseSource">
  4 + <spectrum type="PowerLaw">
  5 + <parameter name="Prefactor" scale="1e-16" value="5.7" min="1e-07" max="1000.0" free="1"/>
  6 + <parameter name="Index" scale="-1" value="2.48" min="0.0" max="+5.0" free="1"/>
  7 + <parameter name="Scale" scale="1e6" value="0.3" min="0.01" max="1000.0" free="0"/>
  8 + </spectrum>
  9 + <spatialModel type="SpatialMap" file="data/sciver/cena_lobes_parkes.fits">
  10 + <parameter scale="1" name="Prefactor" min="0.001" max="1000.0" value="1" free="0"/>
  11 + </spatialModel>
  12 + </source>
  13 + <source name="Background" type="CTAIrfBackground" instrument="CTA">
  14 + <spectrum type="PowerLaw">
  15 + <parameter name="Prefactor" scale="1.0" value="1.0" min="1e-3" max="1e3" free="1"/>
  16 + <parameter name="Index" scale="1.0" value="0.0" min="-5.0" max="+5.0" free="1"/>
  17 + <parameter name="Scale" scale="1e6" value="1.0" min="0.01" max="1000.0" free="0"/>
  18 + </spectrum>
  19 + </source>
  20 +</source_library>
... ...
test/data/sciver/crab_ptsrc.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="PowerLaw">
  5 + <parameter name="Prefactor" scale="1e-16" value="5.7" min="1e-07" max="1000.0" free="1"/>
  6 + <parameter name="Index" scale="-1" value="2.48" min="0.0" max="+5.0" free="1"/>
  7 + <parameter name="Scale" scale="1e6" value="0.3" min="0.01" max="1000.0" free="0"/>
  8 + </spectrum>
  9 + <spatialModel type="SkyDirFunction">
  10 + <parameter name="RA" scale="1.0" value="83.6331" min="-360" max="360" free="1"/>
  11 + <parameter name="DEC" scale="1.0" value="22.0145" min="-90" max="90" free="1"/>
  12 + </spatialModel>
  13 + </source>
  14 + <source name="Background" type="CTAIrfBackground" instrument="CTA">
  15 + <spectrum type="PowerLaw">
  16 + <parameter name="Prefactor" scale="1.0" value="1.0" min="1e-3" max="1e3" free="1"/>
  17 + <parameter name="Index" scale="1.0" value="0.0" min="-5.0" max="+5.0" free="1"/>
  18 + <parameter name="Scale" scale="1e6" value="1.0" min="0.01" max="1000.0" free="0"/>
  19 + </spectrum>
  20 + </source>
  21 +</source_library>
... ...
test/data/sciver/crab_rdisk.xml 0 → 100644
  1 +<?xml version="1.0" standalone="no"?>
  2 +<source_library title="source library">
  3 + <source name="Crab" type="ExtendedSource">
  4 + <spectrum type="PowerLaw">
  5 + <parameter name="Prefactor" scale="1e-16" value="5.7" min="1e-07" max="1000.0" free="1"/>
  6 + <parameter name="Index" scale="-1" value="2.48" min="0.0" max="+5.0" free="1"/>
  7 + <parameter name="Scale" scale="1e6" value="0.3" min="0.01" max="1000.0" free="0"/>
  8 + </spectrum>
  9 + <spatialModel type="DiskFunction">
  10 + <parameter name="RA" scale="1.0" value="83.6331" min="-360" max="360" free="1"/>
  11 + <parameter name="DEC" scale="1.0" value="22.0145" min="-90" max="90" free="1"/>
  12 + <parameter name="Radius" scale="1.0" value="0.2" min="0.01" max="10" free="1"/>
  13 + </spatialModel>
  14 + </source>
  15 + <source name="Background" type="CTAIrfBackground" instrument="CTA">
  16 + <spectrum type="PowerLaw">
  17 + <parameter name="Prefactor" scale="1.0" value="1.0" min="1e-3" max="1e3" free="1"/>
  18 + <parameter name="Index" scale="1.0" value="0.0" min="-5.0" max="+5.0" free="1"/>
  19 + <parameter name="Scale" scale="1e6" value="1.0" min="0.01" max="1000.0" free="0"/>
  20 + </spectrum>
  21 + </source>
  22 +</source_library>
... ...
test/data/sciver/crab_rgauss.xml 0 → 100644
  1 +<?xml version="1.0" standalone="no"?>
  2 +<source_library title="source library">
  3 + <source name="Crab" type="ExtendedSource">
  4 + <spectrum type="PowerLaw">
  5 + <parameter name="Prefactor" scale="1e-16" value="5.7" min="1e-07" max="1000.0" free="1"/>
  6 + <parameter name="Index" scale="-1" value="2.48" min="0.0" max="+5.0" free="1"/>
  7 + <parameter name="Scale" scale="1e6" value="0.3" min="0.01" max="1000.0" free="0"/>
  8 + </spectrum>
  9 + <spatialModel type="GaussFunction">
  10 + <parameter name="RA" scale="1.0" value="83.6331" min="-360" max="360" free="1"/>
  11 + <parameter name="DEC" scale="1.0" value="22.0145" min="-90" max="90" free="1"/>
  12 + <parameter name="Sigma" scale="1.0" value="0.20" min="0.01" max="10" free="1"/>
  13 + </spatialModel>
  14 + </source>
  15 + <source name="Background" type="CTAIrfBackground" instrument="CTA">
  16 + <spectrum type="PowerLaw">
  17 + <parameter name="Prefactor" scale="1.0" value="1.0" min="1e-3" max="1e3" free="1"/>
  18 + <parameter name="Index" scale="1.0" value="0.0" min="-5.0" max="+5.0" free="1"/>
  19 + <parameter name="Scale" scale="1e6" value="1.0" min="0.01" max="1000.0" free="0"/>
  20 + </spectrum>
  21 + </source>
  22 +</source_library>
... ...
test/data/sciver/crab_rshell.xml 0 → 100644
  1 +<?xml version="1.0" standalone="no"?>
  2 +<source_library title="source library">
  3 + <source name="Crab" type="ExtendedSource">
  4 + <spectrum type="PowerLaw">
  5 + <parameter name="Prefactor" scale="1e-16" value="5.7" min="1e-07" max="1000.0" free="1"/>
  6 + <parameter name="Index" scale="-1" value="2.48" min="0.0" max="+5.0" free="1"/>
  7 + <parameter name="Scale" scale="1e6" value="0.3" min="0.01" max="1000.0" free="0"/>
  8 + </spectrum>
  9 + <spatialModel type="ShellFunction">
  10 + <parameter name="RA" scale="1.0" value="83.6331" min="-360" max="360" free="1"/>
  11 + <parameter name="DEC" scale="1.0" value="22.0145" min="-90" max="90" free="1"/>
  12 + <parameter name="Radius" scale="1.0" value="0.30" min="0.01" max="10" free="1"/>
  13 + <parameter name="Width" scale="1.0" value="0.10" min="0.01" max="10" free="1"/>
  14 + </spatialModel>
  15 + </source>
  16 + <source name="Background" type="CTAIrfBackground" instrument="CTA">
  17 + <spectrum type="PowerLaw">
  18 + <parameter name="Prefactor" scale="1.0" value="1.0" min="1e-3" max="1e3" free="1"/>
  19 + <parameter name="Index" scale="1.0" value="0.0" min="-5.0" max="+5.0" free="1"/>
  20 + <parameter name="Scale" scale="1e6" value="1.0" min="0.01" max="1000.0" free="0"/>
  21 + </spectrum>
  22 + </source>
  23 +</source_library>
... ...
test/science_verification.py
... ... @@ -181,13 +181,22 @@ class sciver(gammalib.GPythonTestSuite):
181 181  
182 182 # Append spectral tests
183 183 #self.append(self.spec_plaw, "Test power law model")
184   - self.append(self.spec_plaw2, "Test power law 2 model")
185   - self.append(self.spec_eplaw, "Test exponentially cut off power law model")
  184 + #self.append(self.spec_plaw2, "Test power law 2 model")
  185 + #self.append(self.spec_eplaw, "Test exponentially cut off power law model")
186 186 #self.append(self.spec_supeplaw, "Test super exponentially cut off power law model")
187   - self.append(self.spec_logparabola, "Test log parabola model")
  187 + #self.append(self.spec_logparabola, "Test log parabola model")
188 188 #self.append(self.spec_gauss, "Test Gaussian model")
189 189 #self.append(self.spec_filefct, "Test file function model")
190   - self.append(self.spec_nodes, "Test nodes model")
  190 + #self.append(self.spec_nodes, "Test nodes model")
  191 +
  192 + # Append spatial tests
  193 + self.append(self.spec_ptsrc, "Test point source model")
  194 + self.append(self.spec_rdisk, "Test radial disk model")
  195 + self.append(self.spec_rgauss, "Test radial Gaussian model")
  196 + self.append(self.spec_rshell, "Test radial shell model")
  197 + self.append(self.spec_edisk, "Test elliptical disk model")
  198 + self.append(self.spec_egauss, "Test elliptical Gaussian model")
  199 + self.append(self.spec_map, "Test elliptical Gaussian model")
191 200  
192 201 # Return
193 202 return
... ... @@ -329,6 +338,112 @@ class sciver(gammalib.GPythonTestSuite):
329 338 self.test("Pull_Background_Index")
330 339 return
331 340  
  341 + # Test point source model
  342 + def spec_ptsrc(self):
  343 + """
  344 + Test point source model.
  345 + """
  346 + self.pull("data/sciver/crab_ptsrc")
  347 + self.test("Pull_Crab_Prefactor")
  348 + self.test("Pull_Crab_Index")
  349 + self.test("Pull_Crab_RA")
  350 + self.test("Pull_Crab_DEC")
  351 + self.test("Pull_Background_Prefactor")
  352 + self.test("Pull_Background_Index")
  353 + return
  354 +
  355 + # Test radial disk model
  356 + def spec_rdisk(self):
  357 + """
  358 + Test radial disk model.
  359 + """
  360 + self.pull("data/sciver/crab_rdisk")
  361 + self.test("Pull_Crab_Prefactor")
  362 + self.test("Pull_Crab_Index")
  363 + self.test("Pull_Crab_RA")
  364 + self.test("Pull_Crab_DEC")
  365 + self.test("Pull_Crab_Radius")
  366 + self.test("Pull_Background_Prefactor")
  367 + self.test("Pull_Background_Index")
  368 + return
  369 +
  370 + # Test radial Gaussian model
  371 + def spec_rgauss(self):
  372 + """
  373 + Test radial Gaussian model.
  374 + """
  375 + self.pull("data/sciver/crab_rgauss")
  376 + self.test("Pull_Crab_Prefactor")
  377 + self.test("Pull_Crab_Index")
  378 + self.test("Pull_Crab_RA")
  379 + self.test("Pull_Crab_DEC")
  380 + self.test("Pull_Crab_Sigma")
  381 + self.test("Pull_Background_Prefactor")
  382 + self.test("Pull_Background_Index")
  383 + return
  384 +
  385 + # Test radial shell model
  386 + def spec_rshell(self):
  387 + """
  388 + Test radial shell model.
  389 + """
  390 + self.pull("data/sciver/crab_rshell")
  391 + self.test("Pull_Crab_Prefactor")
  392 + self.test("Pull_Crab_Index")
  393 + self.test("Pull_Crab_RA")
  394 + self.test("Pull_Crab_DEC")
  395 + self.test("Pull_Crab_Radius")
  396 + self.test("Pull_Crab_Width")
  397 + self.test("Pull_Background_Prefactor")
  398 + self.test("Pull_Background_Index")
  399 + return
  400 +
  401 + # Test elliptical disk model
  402 + def spec_edisk(self):
  403 + """
  404 + Test elliptical disk model.
  405 + """
  406 + self.pull("data/sciver/crab_edisk")
  407 + self.test("Pull_Crab_Prefactor")
  408 + self.test("Pull_Crab_Index")
  409 + self.test("Pull_Crab_RA")
  410 + self.test("Pull_Crab_DEC")
  411 + self.test("Pull_Crab_PA")
  412 + self.test("Pull_Crab_MinorRadius")
  413 + self.test("Pull_Crab_MajorRadius")
  414 + self.test("Pull_Background_Prefactor")
  415 + self.test("Pull_Background_Index")
  416 + return
  417 +
  418 + # Test elliptical Gaussian model
  419 + def spec_egauss(self):
  420 + """
  421 + Test elliptical Gaussian model.
  422 + """
  423 + self.pull("data/sciver/crab_egauss")
  424 + self.test("Pull_Crab_Prefactor")
  425 + self.test("Pull_Crab_Index")
  426 + self.test("Pull_Crab_RA")
  427 + self.test("Pull_Crab_DEC")
  428 + self.test("Pull_Crab_PA")
  429 + self.test("Pull_Crab_MinorRadius")
  430 + self.test("Pull_Crab_MajorRadius")
  431 + self.test("Pull_Background_Prefactor")
  432 + self.test("Pull_Background_Index")
  433 + return
  434 +
  435 + # Test diffuse map model
  436 + def spec_map(self):
  437 + """
  438 + Test diffuse map model.
  439 + """
  440 + self.pull("data/sciver/crab_map")
  441 + self.test("Pull_Crab_Prefactor")
  442 + self.test("Pull_Crab_Index")
  443 + self.test("Pull_Background_Prefactor")
  444 + self.test("Pull_Background_Index")
  445 + return
  446 +
332 447  
333 448 # ======================== #
334 449 # Main routine entry point #
... ...