Commit c319da92f6c181ab9d7a8aef2a5003e323601418

Authored by Jürgen Knödlseder
1 parent 06d9921b

csphagen only adds observations with Off regions to background model

Showing 1 changed file with 21 additions and 8 deletions
cscripts/csphagen.py
... ... @@ -449,10 +449,13 @@ class csphagen(ctools.csobservation):
449 449 # names
450 450 for model in self._models:
451 451  
  452 + # Initialise model usage
  453 + use_model = False
  454 +
452 455 # If model is a background model then append "OnOff"
453 456 if 'GCTA' in model.classname():
454 457  
455   - # Skip model is background model should not be used
  458 + # Skip model if background model should not be used
456 459 if not self['use_model_bkg'].boolean():
457 460 self._log_string(gammalib.NORMAL, ' Skip "%s" model "%s" (%s)' % \
458 461 (model.instruments(), model.name(), model.ids()))
... ... @@ -460,10 +463,10 @@ class csphagen(ctools.csobservation):
460 463  
461 464 # Check if model corresponds to one of the relevant
462 465 # observations
463   - is_onoff = False
464 466 for result in results:
465 467 if model.is_valid(result['instrument'], result['id']):
466   - is_onoff = True
  468 + if result['bkg_reg'].size() >= self['bkgregmin'].integer():
  469 + use_model = True
467 470 break
468 471  
469 472 # If stacked analysis is requested then just use for model
... ... @@ -482,17 +485,27 @@ class csphagen(ctools.csobservation):
482 485 # ... otherwise use model for stacked analysis
483 486 else:
484 487 has_stacked_model = True
  488 + use_model = True
485 489 model.ids('')
486 490  
487 491 # Set instrument name
488 492 model.instruments(model.instruments()+'OnOff')
489 493  
490   - # Log model usage
491   - self._log_string(gammalib.NORMAL, ' Use "%s" model "%s" (%s)' % \
492   - (model.instruments(), model.name(), model.ids()))
  494 + # If model is relevant then append it now to the model
  495 + # container
  496 + if use_model:
  497 +
  498 + # Log model usage
  499 + self._log_string(gammalib.NORMAL, ' Use "%s" model "%s" (%s)' % \
  500 + (model.instruments(), model.name(), model.ids()))
493 501  
494   - # Append model to container
495   - models.append(model)
  502 + # Append model to container
  503 + models.append(model)
  504 +
  505 + # ... otherwise signal that model is skipped
  506 + else:
  507 + self._log_string(gammalib.NORMAL, ' Skip "%s" model "%s" (%s)' % \
  508 + (model.instruments(), model.name(), model.ids()))
496 509  
497 510 # Return model container
498 511 return models
... ...