From 79f16c8eb7d51855bb0164b635910632cdb8e75d Mon Sep 17 00:00:00 2001 From: Jürgen Knödlseder Date: Mon, 29 Nov 2021 11:41:35 +0100 Subject: [PATCH] Add phi_first and phi_last parameters to comlixfit and comlixmap (#3912) --- ChangeLog | 3 ++- NEWS | 28 +++++++++++++++++----------- README.md | 2 +- doc/source/users/reference_manual/comlixfit.rst | 8 ++++++++ doc/source/users/reference_manual/comlixmap.rst | 8 ++++++++ modules/comscripts/comlixfit.par | 2 ++ modules/comscripts/comlixfit.py | 10 ++++++++++ modules/comscripts/comlixmap.par | 2 ++ modules/comscripts/comlixmap.py | 10 ++++++++++ 9 files changed, 60 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5c1d0d2..9772726 100755 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,9 @@ -2021-09-30 +2021-11-29 * Version 2.0.0 released ======================== + Add phi_first and phi_last parameters to comlixfit and comlixmap (#3912) Add csadd2caldb script Add restart of bisection in case of bad convergence in ctulimit Add COMPTEL analysis scripts (#3738) diff --git a/NEWS b/NEWS index 01586d2..14d15d8 100755 --- a/NEWS +++ b/NEWS @@ -1,6 +1,6 @@ New Features and Important Changes in ctools 2.0.0 -30 September 2021 +29 November 2021 Introduction @@ -399,52 +399,58 @@ regions (#3248). comlixfit - COMPTEL maximum likelihood fitting using SRCLIX algorithm --------------------------------------------------------------------- -Added script (#3738) +Added phi_first and phi_last parameters to allow selection of the Phibar layers +during the maximum likelihood fit (#3912). + +Added script (#3738). comlixmap - Generation of COMPTEL Test Statistic map using SRCLIX algorithm --------------------------------------------------------------------------- -Added script (#3738) +Added phi_first and phi_last parameters to allow selection of the Phibar layers +during the maximum likelihood fit (#3912). + +Added script (#3738). comobsadd - Combine COMPTEL observations ---------------------------------------- -Added script (#3738) +Added script (#3738). comobsback - Generate background model for COMPTEL observations --------------------------------------------------------------- -Added script (#3738) +Added script (#3738). comobsbin - Bin COMPTEL observations ------------------------------------ -Added script (#3738) +Added script (#3738). comobsmodel - Generate model for binned COMPTEL observations ------------------------------------------------------------ -Added script (#3738) +Added script (#3738). comobsres - Generate residuals of COMPTEL observations ------------------------------------------------------ -Added script (#3738) +Added script (#3738). comobsselect - Select observations from COMPTEL database -------------------------------------------------------- -Added script (#3738) +Added script (#3738). comobssim - Simulate COMPTEL observations ----------------------------------------- -Added script (#3738) +Added script (#3738). comsrcdetect - Detect source in Test Statistic map -------------------------------------------------- -Added script (#3738) +Added script (#3738). Examples diff --git a/README.md b/README.md index 911128a..9a0098d 100755 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ctools information ================== -* Version: 2.0.0.dev (30 September 2021) +* Version: 2.0.0.dev (29 November 2021) * GammaLib dependency: 2.0.0.dev [![Build Status](https://cta-jenkins.irap.omp.eu/buildStatus/icon?job=ctools-integrate-os)](https://cta-jenkins.irap.omp.eu/job/ctools-integrate-os/) diff --git a/doc/source/users/reference_manual/comlixfit.rst b/doc/source/users/reference_manual/comlixfit.rst index 98b13a2..23df08f 100755 --- a/doc/source/users/reference_manual/comlixfit.rst +++ b/doc/source/users/reference_manual/comlixfit.rst @@ -59,6 +59,14 @@ General parameters Number of Phibar layers to exclude (relevant for ``BGDLIXA`` and ``BGDLIXE`` methods). +``(phi_first = -1) [integer]`` + First Phibar layer for likelihood fitting, starting from 0. If -1 is specified + there is no first Phibar layer selection. + +``(phi_last = -1) [integer]`` + Last Phibar layer for likelihood fitting, starting from 0. If -1 is specified + there is no last Phibar layer selection. + Standard parameters ------------------- diff --git a/doc/source/users/reference_manual/comlixmap.rst b/doc/source/users/reference_manual/comlixmap.rst index 25c380d..63a14d6 100755 --- a/doc/source/users/reference_manual/comlixmap.rst +++ b/doc/source/users/reference_manual/comlixmap.rst @@ -73,6 +73,14 @@ General parameters Number of Phibar layers to exclude (relevant for ``BGDLIXA`` and ``BGDLIXE`` methods). +``(phi_first = -1) [integer]`` + First Phibar layer for likelihood fitting, starting from 0. If -1 is specified + there is no first Phibar layer selection. + +``(phi_last = -1) [integer]`` + Last Phibar layer for likelihood fitting, starting from 0. If -1 is specified + there is no last Phibar layer selection. + Standard parameters ------------------- diff --git a/modules/comscripts/comlixfit.par b/modules/comscripts/comlixfit.par index 488e42b..1972cc0 100644 --- a/modules/comscripts/comlixfit.par +++ b/modules/comscripts/comlixfit.par @@ -35,6 +35,8 @@ nrunav, i, h, 3,,, "Number of Chi/Psi bins used for running average navgr, i, h, 5,,, "Number of Chi/Psi bins used for averaging" nincl, i, h, 5,,, "Number of Phibar layers to include" nexcl, i, h, 0,,, "Number of Phibar layers to exclude" +phi_first, i, h, -1,,, "First Phibar layer for fitting (starting from 0; -1: no selection)" +phi_last, i, h, -1,,, "Last Phibar layer for fitting (starting from 0;-1: no selection)" # # Standard parameters diff --git a/modules/comscripts/comlixfit.py b/modules/comscripts/comlixfit.py index ecb2cb7..de92a79 100755 --- a/modules/comscripts/comlixfit.py +++ b/modules/comscripts/comlixfit.py @@ -70,6 +70,8 @@ class comlixfit(ctools.cslikelihood): navgr = self['navgr'].integer() nincl = self['nincl'].integer() nexcl = self['nexcl'].integer() + phi_first = self['phi_first'].integer() + phi_last = self['phi_last'].integer() # Check for incorrect parameters if nexcl < 0 or nexcl >= nincl: @@ -92,6 +94,14 @@ class comlixfit(ctools.cslikelihood): self['outobs'].filename() self['outmodel'].filename() + # Set Phibar layers for fitting + for obs in self.obs(): + if obs.classname() == 'GCOMObservation': + if phi_first >= 0: + obs.phi_first(phi_first) + if phi_last >= 0: + obs.phi_last(phi_last) + # Write input parameters into logger self._log_parameters(gammalib.TERSE) diff --git a/modules/comscripts/comlixmap.par b/modules/comscripts/comlixmap.par index 9a70261..444e850 100644 --- a/modules/comscripts/comlixmap.par +++ b/modules/comscripts/comlixmap.par @@ -43,6 +43,8 @@ nrunav, i, h, 3,,, "Number of Chi/Psi bins used for running average" navgr, i, h, 9,,, "Number of Chi/Psi bins used for averaging" nincl, i, h, 5,,, "Number of Phibar layers to include" nexcl, i, h, 0,,, "Number of Phibar layers to exclude" +phi_first, i, h, -1,,, "First Phibar layer for fitting (starting from 0; -1: no selection)" +phi_last, i, h, -1,,, "Last Phibar layer for fitting (starting from 0;-1: no selection)" # # Standard parameters diff --git a/modules/comscripts/comlixmap.py b/modules/comscripts/comlixmap.py index 202da7f..652057f 100755 --- a/modules/comscripts/comlixmap.py +++ b/modules/comscripts/comlixmap.py @@ -84,6 +84,8 @@ class comlixmap(ctools.cslikelihood): navgr = self['navgr'].integer() nincl = self['nincl'].integer() nexcl = self['nexcl'].integer() + phi_first = self['phi_first'].integer() + phi_last = self['phi_last'].integer() # Check for incorrect parameters if nexcl < 0 or nexcl >= nincl: @@ -103,6 +105,14 @@ class comlixmap(ctools.cslikelihood): if self._read_ahead(): self['outmap'].filename() + # Set Phibar layers for fitting + for obs in self.obs(): + if obs.classname() == 'GCOMObservation': + if phi_first >= 0: + obs.phi_first(phi_first) + if phi_last >= 0: + obs.phi_last(phi_last) + # Write input parameters into logger self._log_parameters(gammalib.TERSE) -- libgit2 0.21.4