Commit 6a937bc455857f6dfd9c0e32f1a22edb5859bb2c

Authored by Jürgen Knödlseder
1 parent 3599cd85

Use at least 30 energy bins per decade in binned cspull

Showing 1 changed file with 13 additions and 3 deletions
cscripts/cspull.py
@@ -182,17 +182,27 @@ class cspull(ctools.cscript): @@ -182,17 +182,27 @@ class cspull(ctools.cscript):
182 # If we have a binned obeservation then specify the lower and 182 # If we have a binned obeservation then specify the lower and
183 # upper energy limit 183 # upper energy limit
184 if self._enumbins > 0: 184 if self._enumbins > 0:
  185 +
  186 + # Get energy range in TeV
185 emin = self['emin'].real() 187 emin = self['emin'].real()
186 emax = self['emax'].real() 188 emax = self['emax'].real()
  189 +
  190 + # Set number of energy bins to at least 30 per energy decade
  191 + enumbins = int((math.log10(self['emax'].real()) -
  192 + math.log10(self['emin'].real())) * 30.0)
  193 + if self._enumbins > enumbins:
  194 + enumbins = self._enumbins
  195 +
187 else: 196 else:
188 - emin = None  
189 - emax = None 197 + emin = None
  198 + emax = None
  199 + enumbins = 0
190 200
191 # Simulate events 201 # Simulate events
192 obs = obsutils.sim(self._obs, 202 obs = obsutils.sim(self._obs,
193 emin=emin, 203 emin=emin,
194 emax=emax, 204 emax=emax,
195 - nbins=self._enumbins, 205 + nbins=enumbins,
196 seed=seed, 206 seed=seed,
197 binsz=self._binsz, 207 binsz=self._binsz,
198 npix=self._npix, 208 npix=self._npix,