Commit d51de83b0fbd14b07f7b1f24e24c497b96b08e9a
1 parent
f3a1f6f2
Make cspull script compliant with Python 3
Showing
1 changed file
with
17 additions
and
7 deletions
cscripts/cspull.py
| @@ -170,6 +170,16 @@ class cspull(ctools.cscript): | @@ -170,6 +170,16 @@ class cspull(ctools.cscript): | ||
| 170 | if self._enumbins > enumbins: | 170 | if self._enumbins > enumbins: |
| 171 | enumbins = self._enumbins | 171 | enumbins = self._enumbins |
| 172 | 172 | ||
| 173 | + # Compute spatial binning for point spread function and | ||
| 174 | + # energy dispersion cubes | ||
| 175 | + binsz = 10.0 * self['binsz'].real() | ||
| 176 | + nxpix = self['nxpix'].integer() // 10 # Make sure result is int | ||
| 177 | + nypix = self['nypix'].integer() // 10 # Make sure result is int | ||
| 178 | + if nxpix < 2: | ||
| 179 | + nxpix = 2 | ||
| 180 | + if nypix < 2: | ||
| 181 | + nypix = 2 | ||
| 182 | + | ||
| 173 | # Get stacked exposure | 183 | # Get stacked exposure |
| 174 | expcube = ctools.ctexpcube(self._obs) | 184 | expcube = ctools.ctexpcube(self._obs) |
| 175 | expcube['incube'] = 'NONE' | 185 | expcube['incube'] = 'NONE' |
| @@ -196,9 +206,9 @@ class cspull(ctools.cscript): | @@ -196,9 +206,9 @@ class cspull(ctools.cscript): | ||
| 196 | psfcube['incube'] = 'NONE' | 206 | psfcube['incube'] = 'NONE' |
| 197 | psfcube['usepnt'] = True | 207 | psfcube['usepnt'] = True |
| 198 | psfcube['ebinalg'] = 'LOG' | 208 | psfcube['ebinalg'] = 'LOG' |
| 199 | - psfcube['binsz'] = self._binsz*10.0 | ||
| 200 | - psfcube['nxpix'] = self._npix/10 | ||
| 201 | - psfcube['nypix'] = self._npix/10 | 209 | + psfcube['binsz'] = binsz |
| 210 | + psfcube['nxpix'] = nxpix | ||
| 211 | + psfcube['nypix'] = nypix | ||
| 202 | psfcube['enumbins'] = enumbins | 212 | psfcube['enumbins'] = enumbins |
| 203 | psfcube['emin'] = self['emin'].real() | 213 | psfcube['emin'] = self['emin'].real() |
| 204 | psfcube['emax'] = self['emax'].real() | 214 | psfcube['emax'] = self['emax'].real() |
| @@ -218,9 +228,9 @@ class cspull(ctools.cscript): | @@ -218,9 +228,9 @@ class cspull(ctools.cscript): | ||
| 218 | edispcube['incube'] = 'NONE' | 228 | edispcube['incube'] = 'NONE' |
| 219 | edispcube['usepnt'] = True | 229 | edispcube['usepnt'] = True |
| 220 | edispcube['ebinalg'] = 'LOG' | 230 | edispcube['ebinalg'] = 'LOG' |
| 221 | - edispcube['binsz'] = self._binsz*10.0 | ||
| 222 | - edispcube['nxpix'] = self._npix/10 | ||
| 223 | - edispcube['nypix'] = self._npix/10 | 231 | + edispcube['binsz'] = binsz |
| 232 | + edispcube['nxpix'] = nxpix | ||
| 233 | + edispcube['nypix'] = nypix | ||
| 224 | edispcube['enumbins'] = enumbins | 234 | edispcube['enumbins'] = enumbins |
| 225 | edispcube['emin'] = self['emin'].real() | 235 | edispcube['emin'] = self['emin'].real() |
| 226 | edispcube['emax'] = self['emax'].real() | 236 | edispcube['emax'] = self['emax'].real() |
| @@ -473,7 +483,7 @@ class cspull(ctools.cscript): | @@ -473,7 +483,7 @@ class cspull(ctools.cscript): | ||
| 473 | self._log('\n') | 483 | self._log('\n') |
| 474 | 484 | ||
| 475 | # Signal if stacked analysis is requested | 485 | # Signal if stacked analysis is requested |
| 476 | - stacked = self._enumbins > 0 | 486 | + stacked = self._obs.size() > 1 and self._enumbins > 0 |
| 477 | 487 | ||
| 478 | # If several observations and binned: prepare stacked irfs | 488 | # If several observations and binned: prepare stacked irfs |
| 479 | if stacked: | 489 | if stacked: |