Action #3527

Implement GCTABackground2D class

Added by Knödlseder Jürgen almost 4 years ago. Updated almost 4 years ago.

Status:ClosedStart date:02/02/2021
Priority:HighDue date:
Assigned To:Knödlseder Jürgen% Done:

100%

Category:-
Target version:2.0.0
Duration:

Description

Some H.E.S.S. data provide background models in the BKG_2D format (see https://gamma-astro-data-formats.readthedocs.io/en/latest/irfs/full_enclosure/bkg/index.html#bkg-2d). These data can currently not be processed by GammaLib.

A GCTABackground2D class should be implemented to support the BKG_2D format.

modcube.png (111 KB) Knödlseder Jürgen, 02/02/2021 02:49 PM

crab4_prefactor.png (56.1 KB) Knödlseder Jürgen, 02/02/2021 03:57 PM

crab4_index.png (53.7 KB) Knödlseder Jürgen, 02/02/2021 03:57 PM

bkg4_prefactor.png (64.7 KB) Knödlseder Jürgen, 02/02/2021 03:57 PM

bkg4_index.png (64.3 KB) Knödlseder Jürgen, 02/02/2021 03:57 PM

Modcube Crab4_prefactor Crab4_index Bkg4_prefactor Bkg4_index

Recurrence

No recurrence.


Related issues

Related to GammaLib - Feature #1529: Create GCTABackground2D Closed 09/29/2015

History

#1 Updated by Knödlseder Jürgen almost 4 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 50

I implemented the GCTABackground2D class and added some code to GCTAResponseIrf::load_background() that detected the format of the background model file and either loads a BKG_2D or BKG_3D background model. An example is shown below:

$ python
>>> import gammalib
>>> o=gammalib.GObservations('obs.xml')
>>> print(o[0].response())
=== GCTAResponseIrf ===
 Caldb mission .............: 
 Caldb instrument ..........: 
 Response name .............: 
 Energy dispersion .........: Not used
 Safe energy range .........: < 150 TeV
=== GCaldb ===
 Database root .............: /usr/local/gamma/share/caldb
=== GCTAAeff2D ===
 Filename ..................: aeff_154590.fits[EFFECTIVEAREA]
 Number of energy bins .....: 20
 Number of offset bins .....: 6
 Energy range ..............: 0.0163299310952425 - 156.25 TeV
 Offset angle range ........: 0 - 2.5 deg
 Lower energy threshold ....: not specified
 Upper energy threshold ....: 150 TeV
 Radius cut ................: none
=== GCTAPsfTable ===
 Filename ..................: psf_table_154590.fits[PSF_TABLE]
 Number of energy bins .....: 20
 Number of offset bins .....: 6
 Number of delta bins ......: 299
 Energy range ..............: 0.0163299310952425 - 156.25 TeV
 Offset angle range ........: 0 - 2.5 deg
 Delta angle range .........: 0 - 1.49500000476837 deg
=== GCTAEdisp2D ===
 Filename ..................: edisp_154590.fits[EDISP_2D]
 Number of energy bins .....: 20
 Number of migration bins ..: 100
 Number of offset bins .....: 6
 Energy range ..............: 0.0163299310952425 - 156.25 TeV
 Migration range ...........: 0.132628664374352 - 7.53984785079956
 Offset angle range ........: 0 - 2.5 deg
=== GCTABackground2D ===
 Filename ..................: bkg_154590.fits.gz[BKG]
 Number of THETA bins ......: 49
 Number of energy bins .....: 20
 Energy range ..............: 0.1 - 150 TeV
 Offset angle range ........: 0 - 3 deg
=== GResponseCache ===
 Number of cached values ...: 0
=== GResponseCache ===
 Number of cached values ...: 0

I still need to test whether the background model actually works.

#2 Updated by Knödlseder Jürgen almost 4 years ago

  • % Done changed from 50 to 60

I verified that ctselect works as expected:

2021-02-02T12:55:45: ********************************************************************************
2021-02-02T12:55:45: *                                   ctselect                                   *
2021-02-02T12:55:45: * ---------------------------------------------------------------------------- *
2021-02-02T12:55:45: * Version: 2.0.0.dev                                                           *
2021-02-02T12:55:45: ********************************************************************************
2021-02-02T12:55:53: +============+
2021-02-02T12:55:53: | Parameters |
2021-02-02T12:55:53: +============+
2021-02-02T12:55:53:  inobs .....................: obs.xml
2021-02-02T12:55:53:  outobs ....................: obs_selected.xml
2021-02-02T12:55:53:  prefix ....................: selected_
2021-02-02T12:55:53:  usepnt ....................: yes
2021-02-02T12:55:53:  ra ........................: [not queried]
2021-02-02T12:55:53:  dec .......................: [not queried]
2021-02-02T12:55:53:  rad .......................: 2.0
2021-02-02T12:55:53:  forcesel ..................: no
2021-02-02T12:55:53:  tmin ......................: NONE
2021-02-02T12:55:53:  tmax ......................: [not queried]
2021-02-02T12:55:53:  emin ......................: 0.2
2021-02-02T12:55:53:  emax ......................: 10.0
2021-02-02T12:55:53:  phase .....................: NONE
2021-02-02T12:55:53:  expr ......................: 
2021-02-02T12:55:53:  usethres ..................: NONE
2021-02-02T12:55:53:  publish ...................: no
2021-02-02T12:55:53:  chatter ...................: 2
2021-02-02T12:55:53:  clobber ...................: yes
2021-02-02T12:55:53:  debug .....................: no
2021-02-02T12:55:53:  mode ......................: ql
2021-02-02T12:55:53:  logfile ...................: ctselect.log
2021-02-02T12:55:53: 
2021-02-02T12:55:53: +===================+
2021-02-02T12:55:53: | Input observation |
2021-02-02T12:55:53: +===================+
2021-02-02T12:55:53: === GObservations ===
2021-02-02T12:55:53:  Number of observations ....: 1
2021-02-02T12:55:53:  Number of models ..........: 0
2021-02-02T12:55:53:  Number of observed events .: 3187
2021-02-02T12:55:53:  Number of predicted events : 0
2021-02-02T12:55:53: 
2021-02-02T12:55:53: +=================+
2021-02-02T12:55:53: | Event selection |
2021-02-02T12:55:53: +=================+
2021-02-02T12:55:53: === HESS observation "Crab Nebula" (id=154590) ===
2021-02-02T12:55:53:  Input filename ............: events_154590.fits.gz[EVENTS]
2021-02-02T12:55:53:  Event extension name ......: EVENTS
2021-02-02T12:55:53:  GTI extension name ........: GTI
2021-02-02T12:55:53: === Event selection ===
2021-02-02T12:55:53:  Selected energy range .....: 0.2 - 10 TeV
2021-02-02T12:55:53:  Requested RoI .............: Centre(RA,DEC)=(83.6330833333333, 22.7145) deg, Radius=2 deg
2021-02-02T12:55:53:  Selected RoI ..............: Centre(RA,DEC)=(83.6330833333333, 22.7145) deg, Radius=2 deg
2021-02-02T12:55:53:  cfitsio selection .........: ENERGY >= 0.20000000 && ENERGY <= 10.00000000 && ANGSEP(83.633083,22.714500,RA,DEC) <= 2.000000
2021-02-02T12:55:53:  FITS filename .............: /var/folders/td/9p0db_z54hg53zjmfg1gp9cw0000gn/T//gammalibiEuXFS[EVENTS][ENERGY >= 0.20000000 && ENERGY <= 10.00000000 && ANGSEP(83.633083,22.714500,RA,DEC) <= 2.000000]
2021-02-02T12:55:53: 
2021-02-02T12:55:53: +====================+
2021-02-02T12:55:53: | Output observation |
2021-02-02T12:55:53: +====================+
2021-02-02T12:55:53: === GObservations ===
2021-02-02T12:55:53:  Number of observations ....: 1
2021-02-02T12:55:53:  Number of models ..........: 0
2021-02-02T12:55:53:  Number of observed events .: 2691
2021-02-02T12:55:53:  Number of predicted events : 0
2021-02-02T12:55:53: 
2021-02-02T12:55:53: +=================+
2021-02-02T12:55:53: | Save event list |
2021-02-02T12:55:53: +=================+
2021-02-02T12:55:53: 
2021-02-02T12:55:53:  Event list file ...........: selected_events_154590.fits[EVENTS]
2021-02-02T12:55:53:  Obs. definition file ......: obs_selected.xml
2021-02-02T12:55:53: 
2021-02-02T12:55:53: Application "ctselect" terminated after 8 wall clock seconds, consuming 0.095058 seconds of CPU time.

I also tested that subsequent unbinned model fitting works:
2021-02-02T13:40:51: ********************************************************************************
2021-02-02T13:40:51: *                                    ctlike                                    *
2021-02-02T13:40:51: * ---------------------------------------------------------------------------- *
2021-02-02T13:40:51: * Version: 2.0.0.dev                                                           *
2021-02-02T13:40:51: ********************************************************************************
2021-02-02T13:41:01: +============+
2021-02-02T13:41:01: | Parameters |
2021-02-02T13:41:01: +============+
2021-02-02T13:41:01:  inobs .....................: obs_selected.xml
2021-02-02T13:41:01:  inmodel ...................: crab.xml
2021-02-02T13:41:01:  expcube ...................: [not queried]
2021-02-02T13:41:01:  psfcube ...................: [not queried]
2021-02-02T13:41:01:  edispcube .................: [not queried]
2021-02-02T13:41:01:  bkgcube ...................: [not queried]
2021-02-02T13:41:01:  caldb .....................: [not queried]
2021-02-02T13:41:01:  irf .......................: [not queried]
2021-02-02T13:41:01:  edisp .....................: no
2021-02-02T13:41:01:  outmodel ..................: results.xml
2021-02-02T13:41:01:  outcovmat .................: NONE
2021-02-02T13:41:01:  statistic .................: DEFAULT
2021-02-02T13:41:01:  refit .....................: no
2021-02-02T13:41:01:  refit_if_failed ...........: yes
2021-02-02T13:41:01:  like_accuracy .............: 0.005
2021-02-02T13:41:01:  max_iter ..................: 50
2021-02-02T13:41:01:  fix_spat_for_ts ...........: no
2021-02-02T13:41:01:  nthreads ..................: 0
2021-02-02T13:41:01:  chatter ...................: 2
2021-02-02T13:41:01:  clobber ...................: yes
2021-02-02T13:41:01:  debug .....................: yes
2021-02-02T13:41:01:  mode ......................: ql
2021-02-02T13:41:01:  logfile ...................: ctlike.log
2021-02-02T13:41:01: 
2021-02-02T13:41:01: WARNING: Energy dispersion will *NOT* be considered for the computation. To consider
2021-02-02T13:41:01:          energy dispersion, please set the "edisp" parameter to "yes". Be aware that
2021-02-02T13:41:01:          using energy dispersion will considerably slow down the computations.
2021-02-02T13:41:01: 
2021-02-02T13:41:01: +===================+
2021-02-02T13:41:01: | Input observation |
2021-02-02T13:41:01: +===================+
2021-02-02T13:41:01: === GObservations ===
2021-02-02T13:41:01:  Number of observations ....: 1
2021-02-02T13:41:01:  Number of models ..........: 2
2021-02-02T13:41:01:  Number of observed events .: 2691
2021-02-02T13:41:01:  Number of predicted events : 0
2021-02-02T13:41:01: 
2021-02-02T13:41:01: +=================================+
2021-02-02T13:41:01: | Maximum likelihood optimisation |
2021-02-02T13:41:01: +=================================+
2021-02-02T13:41:01:  >Iteration   0: -logL=25765.699, Lambda=1.0e-03
2021-02-02T13:41:01:  >Iteration   1: -logL=25589.445, Lambda=1.0e-03, delta=176.254, step=1.0e+00, max(|grad|)=-188.866287 [Prefactor:6]
2021-02-02T13:41:01:  >Iteration   2: -logL=25570.189, Lambda=1.0e-04, delta=19.255, step=1.0e+00, max(|grad|)=-21.141056 [Prefactor:6]
2021-02-02T13:41:01:  >Iteration   3: -logL=25569.836, Lambda=1.0e-05, delta=0.354, step=1.0e+00, max(|grad|)=1.943197 [Index:7]
2021-02-02T13:41:01:  >Iteration   4: -logL=25569.834, Lambda=1.0e-06, delta=0.002, step=1.0e+00, max(|grad|)=0.195803 [Index:7]
2021-02-02T13:41:01: 
2021-02-02T13:41:01: +=========================================+
2021-02-02T13:41:01: | Maximum likelihood optimisation results |
2021-02-02T13:41:01: +=========================================+
2021-02-02T13:41:01: === GOptimizerLM ===
2021-02-02T13:41:01:  Optimized function value ..: 25569.834
2021-02-02T13:41:01:  Absolute precision ........: 0.005
2021-02-02T13:41:01:  Acceptable value decrease .: 2
2021-02-02T13:41:01:  Optimization status .......: converged
2021-02-02T13:41:01:  Number of parameters ......: 10
2021-02-02T13:41:01:  Number of free parameters .: 4
2021-02-02T13:41:01:  Number of iterations ......: 4
2021-02-02T13:41:01:  Lambda ....................: 1e-07
2021-02-02T13:41:01:  Total number of iterations : 4
2021-02-02T13:41:01:  Maximum log likelihood ....: -25569.834
2021-02-02T13:41:01:  Observed events  (Nobs) ...: 2691.000
2021-02-02T13:41:01:  Predicted events (Npred) ..: 2690.998 (Nobs - Npred = 0.00215803745595622)
2021-02-02T13:41:01: === GModels ===
2021-02-02T13:41:01:  Number of models ..........: 2
2021-02-02T13:41:01:  Number of parameters ......: 10
2021-02-02T13:41:01: === GModelSky ===
2021-02-02T13:41:01:  Name ......................: Crab
2021-02-02T13:41:01:  Instruments ...............: all
2021-02-02T13:41:01:  Observation identifiers ...: all
2021-02-02T13:41:01:  Model type ................: PointSource
2021-02-02T13:41:01:  Model components ..........: "PointSource" * "PowerLaw" * "Constant" 
2021-02-02T13:41:01:  Number of parameters ......: 6
2021-02-02T13:41:01:  Number of spatial par's ...: 2
2021-02-02T13:41:01:   RA .......................: 83.6331 [-360,360] deg (fixed,scale=1)
2021-02-02T13:41:01:   DEC ......................: 22.0145 [-90,90] deg (fixed,scale=1)
2021-02-02T13:41:01:  Number of spectral par's ..: 3
2021-02-02T13:41:01:   Prefactor ................: 4.54483514612254e-16 +/- 5.93613579273741e-17 [1e-23,1e-13] ph/cm2/s/MeV (free,scale=1e-16,gradient)
2021-02-02T13:41:01:   Index ....................: -2.14786780316876 +/- 0.0826459157515889 [-5,-0]  (free,scale=-1,gradient)
2021-02-02T13:41:01:   PivotEnergy ..............: 300000 [10000,1000000000] MeV (fixed,scale=1000000,gradient)
2021-02-02T13:41:01:  Number of temporal par's ..: 1
2021-02-02T13:41:01:   Normalization ............: 1 (relative value) (fixed,scale=1,gradient)
2021-02-02T13:41:01:  Number of scale par's .....: 0
2021-02-02T13:41:01: === GCTAModelIrfBackground ===
2021-02-02T13:41:01:  Name ......................: CTABackgroundModel
2021-02-02T13:41:01:  Instruments ...............: HESS
2021-02-02T13:41:01:  Observation identifiers ...: all
2021-02-02T13:41:01:  Model type ................: "PowerLaw" * "Constant" 
2021-02-02T13:41:01:  Number of parameters ......: 4
2021-02-02T13:41:01:  Number of spectral par's ..: 3
2021-02-02T13:41:01:   Prefactor ................: 1.44145525683155 +/- 0.0300945660314504 [0.001,1000] ph/cm2/s/MeV (free,scale=1,gradient)
2021-02-02T13:41:01:   Index ....................: -0.33446985594657 +/- 0.0292905270609913 [-5,5]  (free,scale=1,gradient)
2021-02-02T13:41:01:   PivotEnergy ..............: 1000000 [10000,1000000000] MeV (fixed,scale=1000000,gradient)
2021-02-02T13:41:01:  Number of temporal par's ..: 1
2021-02-02T13:41:01:   Normalization ............: 1 (relative value) (fixed,scale=1,gradient)
2021-02-02T13:41:01: 
2021-02-02T13:41:01: +==============+
2021-02-02T13:41:01: | Save results |
2021-02-02T13:41:01: +==============+
2021-02-02T13:41:01:  Model definition file .....: results.xml
2021-02-02T13:41:01:  Covariance matrix file ....: NONE
2021-02-02T13:41:01: 
2021-02-02T13:41:01: Application "ctlike" terminated after 10 wall clock seconds, consuming 0.173047 seconds of CPU time.
Note that the background model was moderately rescaled.

#3 Updated by Knödlseder Jürgen almost 4 years ago

I also run ctbin and ctmodel to produce a model cube using the 2D model. The image below shows the first layer of the model cube. This looks quite reasonable.

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

  • % Done changed from 70 to 80

Finally, I simulated events using the selected observation container and fitted the simulated events with the model that was used for the simulations. Here the model:

<?xml version="1.0" standalone="no"?>
<source_library title="source library">
  <source name="Crab" type="PointSource">
    <spectrum type="PowerLaw">
       <parameter name="Prefactor"   scale="1e-16" value="5.7"  min="1e-07" max="1000.0" free="1"/>
       <parameter name="Index"       scale="-1"    value="2.48" min="0.0"   max="+5.0"   free="1"/>
       <parameter name="PivotEnergy" scale="1e6"   value="0.3"  min="0.01"  max="1000.0" free="0"/>
    </spectrum>
    <spatialModel type="PointSource">
      <parameter name="RA"  scale="1.0" value="83.6331" min="-360" max="360" free="0"/>
      <parameter name="DEC" scale="1.0" value="22.0145" min="-90"  max="90"  free="0"/>
    </spatialModel>
  </source>
  <source name="CTABackgroundModel" type="CTAIrfBackground" instrument="HESS">
    <spectrum type="PowerLaw">  
      <parameter name="Prefactor"   scale="1.0"  value="1.0"  min="1e-3" max="1e+3"   free="1"/>        
      <parameter name="Index"       scale="1.0"  value="0.0"  min="-5.0" max="+5.0"   free="1"/>
      <parameter name="PivotEnergy" scale="1e6"  value="1.0"  min="0.01" max="1000.0" free="0"/>
    </spectrum>
  </source>     
</source_library>

And here the model fit:
2021-02-02T13:51:46: +============+
2021-02-02T13:51:46: | Parameters |
2021-02-02T13:51:46: +============+
2021-02-02T13:51:46:  inobs .....................: obs_sim.xml
2021-02-02T13:51:46:  inmodel ...................: crab.xml
2021-02-02T13:51:46:  expcube ...................: [not queried]
2021-02-02T13:51:46:  psfcube ...................: [not queried]
2021-02-02T13:51:46:  edispcube .................: [not queried]
2021-02-02T13:51:46:  bkgcube ...................: [not queried]
2021-02-02T13:51:46:  caldb .....................: [not queried]
2021-02-02T13:51:46:  irf .......................: [not queried]
2021-02-02T13:51:46:  edisp .....................: no
2021-02-02T13:51:46:  outmodel ..................: results.xml
2021-02-02T13:51:46:  outcovmat .................: NONE
2021-02-02T13:51:46:  statistic .................: DEFAULT
2021-02-02T13:51:46:  refit .....................: no
2021-02-02T13:51:46:  refit_if_failed ...........: yes
2021-02-02T13:51:46:  like_accuracy .............: 0.005
2021-02-02T13:51:46:  max_iter ..................: 50
2021-02-02T13:51:46:  fix_spat_for_ts ...........: no
2021-02-02T13:51:46:  nthreads ..................: 0
2021-02-02T13:51:46:  chatter ...................: 2
2021-02-02T13:51:46:  clobber ...................: yes
2021-02-02T13:51:46:  debug .....................: yes
2021-02-02T13:51:46:  mode ......................: ql
2021-02-02T13:51:46:  logfile ...................: ctlike.log
2021-02-02T13:51:46: 
2021-02-02T13:51:46: WARNING: Energy dispersion will *NOT* be considered for the computation. To consider
2021-02-02T13:51:46:          energy dispersion, please set the "edisp" parameter to "yes". Be aware that
2021-02-02T13:51:46:          using energy dispersion will considerably slow down the computations.
2021-02-02T13:51:46: 
2021-02-02T13:51:46: +===================+
2021-02-02T13:51:46: | Input observation |
2021-02-02T13:51:46: +===================+
2021-02-02T13:51:46: === GObservations ===
2021-02-02T13:51:46:  Number of observations ....: 1
2021-02-02T13:51:46:  Number of models ..........: 2
2021-02-02T13:51:46:  Number of observed events .: 2007
2021-02-02T13:51:46:  Number of predicted events : 0
2021-02-02T13:51:46: 
2021-02-02T13:51:46: +=================================+
2021-02-02T13:51:46: | Maximum likelihood optimisation |
2021-02-02T13:51:46: +=================================+
2021-02-02T13:51:46:  >Iteration   0: -logL=19862.203, Lambda=1.0e-03
2021-02-02T13:51:46:  >Iteration   1: -logL=19858.111, Lambda=1.0e-03, delta=4.092, step=1.0e+00, max(|grad|)=6.187052 [Index:3]
2021-02-02T13:51:46:  >Iteration   2: -logL=19858.045, Lambda=1.0e-04, delta=0.066, step=1.0e+00, max(|grad|)=0.115551 [Index:3]
2021-02-02T13:51:46:  >Iteration   3: -logL=19858.045, Lambda=1.0e-05, delta=0.000, step=1.0e+00, max(|grad|)=0.000103 [Index:3]
2021-02-02T13:51:46: 
2021-02-02T13:51:46: +=========================================+
2021-02-02T13:51:46: | Maximum likelihood optimisation results |
2021-02-02T13:51:46: +=========================================+
2021-02-02T13:51:46: === GOptimizerLM ===
2021-02-02T13:51:46:  Optimized function value ..: 19858.045
2021-02-02T13:51:46:  Absolute precision ........: 0.005
2021-02-02T13:51:46:  Acceptable value decrease .: 2
2021-02-02T13:51:46:  Optimization status .......: converged
2021-02-02T13:51:46:  Number of parameters ......: 10
2021-02-02T13:51:46:  Number of free parameters .: 4
2021-02-02T13:51:46:  Number of iterations ......: 3
2021-02-02T13:51:46:  Lambda ....................: 1e-06
2021-02-02T13:51:46:  Total number of iterations : 3
2021-02-02T13:51:46:  Maximum log likelihood ....: -19858.045
2021-02-02T13:51:46:  Observed events  (Nobs) ...: 2007.000
2021-02-02T13:51:46:  Predicted events (Npred) ..: 2007.000 (Nobs - Npred = 3.19993025641452e-05)
2021-02-02T13:51:46: === GModels ===
2021-02-02T13:51:46:  Number of models ..........: 2
2021-02-02T13:51:46:  Number of parameters ......: 10
2021-02-02T13:51:46: === GModelSky ===
2021-02-02T13:51:46:  Name ......................: Crab
2021-02-02T13:51:46:  Instruments ...............: all
2021-02-02T13:51:46:  Observation identifiers ...: all
2021-02-02T13:51:46:  Model type ................: PointSource
2021-02-02T13:51:46:  Model components ..........: "PointSource" * "PowerLaw" * "Constant" 
2021-02-02T13:51:46:  Number of parameters ......: 6
2021-02-02T13:51:46:  Number of spatial par's ...: 2
2021-02-02T13:51:46:   RA .......................: 83.6331 [-360,360] deg (fixed,scale=1)
2021-02-02T13:51:46:   DEC ......................: 22.0145 [-90,90] deg (fixed,scale=1)
2021-02-02T13:51:46:  Number of spectral par's ..: 3
2021-02-02T13:51:46:   Prefactor ................: 4.71538668556988e-16 +/- 6.0739367850634e-17 [1e-23,1e-13] ph/cm2/s/MeV (free,scale=1e-16,gradient)
2021-02-02T13:51:46:   Index ....................: -2.36213316384481 +/- 0.0880546064177661 [-5,-0]  (free,scale=-1,gradient)
2021-02-02T13:51:46:   PivotEnergy ..............: 300000 [10000,1000000000] MeV (fixed,scale=1000000,gradient)
2021-02-02T13:51:46:  Number of temporal par's ..: 1
2021-02-02T13:51:46:   Normalization ............: 1 (relative value) (fixed,scale=1,gradient)
2021-02-02T13:51:46:  Number of scale par's .....: 0
2021-02-02T13:51:46: === GCTAModelIrfBackground ===
2021-02-02T13:51:46:  Name ......................: CTABackgroundModel
2021-02-02T13:51:46:  Instruments ...............: HESS
2021-02-02T13:51:46:  Observation identifiers ...: all
2021-02-02T13:51:46:  Model type ................: "PowerLaw" * "Constant" 
2021-02-02T13:51:46:  Number of parameters ......: 4
2021-02-02T13:51:46:  Number of spectral par's ..: 3
2021-02-02T13:51:46:   Prefactor ................: 1.04977638160166 +/- 0.0258754008594795 [0.001,1000] ph/cm2/s/MeV (free,scale=1,gradient)
2021-02-02T13:51:46:   Index ....................: -0.0666151945050643 +/- 0.0333349558183734 [-5,5]  (free,scale=1,gradient)
2021-02-02T13:51:46:   PivotEnergy ..............: 1000000 [10000,1000000000] MeV (fixed,scale=1000000,gradient)
2021-02-02T13:51:46:  Number of temporal par's ..: 1
2021-02-02T13:51:46:   Normalization ............: 1 (relative value) (fixed,scale=1,gradient)
2021-02-02T13:51:46: 
2021-02-02T13:51:46: +==============+
2021-02-02T13:51:46: | Save results |
2021-02-02T13:51:46: +==============+
2021-02-02T13:51:46:  Model definition file .....: results.xml
2021-02-02T13:51:46:  Covariance matrix file ....: NONE
2021-02-02T13:51:46: 
2021-02-02T13:51:46: Application "ctlike" terminated after 6 wall clock seconds, consuming 0.137702 seconds of CPU time.
The fitted values for source and background components are reasonably close to the simulated values.

#5 Updated by Knödlseder Jürgen almost 4 years ago

I created a pull distribution for the energy range 0.4 - 10 TeV using unbinned analysis. Below the results for the Crab power law and background model power law. This look ok.

For lower minimum energies (0.2 & 0.3 TeV) the Crab results are skewed (probably due to energy threshold effects), yet the background pull distribution looks always nice. This validates this new background model.

#6 Updated by Knödlseder Jürgen almost 4 years ago

  • Status changed from In Progress to Pull request

I implemented a unit test and started the code integration.

#7 Updated by Knödlseder Jürgen almost 4 years ago

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

Merged into devel.

#8 Updated by Knödlseder Jürgen over 3 years ago

Also available in: Atom PDF