Commit a4b9d4d40386ce3704b78f3bbc204c88da54d14a
1 parent
d526f5fe
avoid math errors in exponent in _predict_flux
Showing
1 changed file
with
7 additions
and
4 deletions
cscripts/cssens.py
... | ... | @@ -509,11 +509,14 @@ class cssens(ctools.csobservation): |
509 | 509 | # the log(TS) and log(crab_flux) values that have so far been |
510 | 510 | # computed. If not enough results are available than use a simple |
511 | 511 | # TS scaling relation. |
512 | + correct = math.sqrt(ts_thres / ts) | |
512 | 513 | if len(results) > 1: |
513 | - pred_crab_flux, regcoeff = self._predict_flux(results, ts_thres) | |
514 | - correct = pred_crab_flux / crab_flux | |
515 | - else: | |
516 | - correct = math.sqrt(ts_thres/ts) | |
514 | + try: | |
515 | + pred_crab_flux, regcoeff = self._predict_flux(results, ts_thres) | |
516 | + correct = pred_crab_flux / crab_flux | |
517 | + except Exception as e: | |
518 | + # if the regression fails, retain the simple scaling with ts_thres | |
519 | + self._log_value(gammalib.TERSE, 'skipping failed regression with error:', e) | |
517 | 520 | |
518 | 521 | # Compute extrapolated fluxes based on the flux correction factor |
519 | 522 | crab_flux = correct * crab_flux | ... | ... |