From 0328ad4ea41b7c13658bbb05151ba7efca9dbadf Mon Sep 17 00:00:00 2001 From: Jürgen Knödlseder Date: Mon, 11 Jun 2018 16:17:46 +0200 Subject: [PATCH] Adapt unit tests to new interface --- cscripts/csspec.py | 13 ++++++++----- test/test_csphagen.py | 26 +++++++++++++------------- test/test_csresspec.py | 4 ++-- test/test_obsutils.py | 4 ++-- 4 files changed, 25 insertions(+), 22 deletions(-) diff --git a/cscripts/csspec.py b/cscripts/csspec.py index de0deb6..b31ad5b 100755 --- a/cscripts/csspec.py +++ b/cscripts/csspec.py @@ -451,14 +451,17 @@ class csspec(ctools.csobservation): pha_off.areascal(idst, obs.off_spec().areascal(isrc)) pha_off.backscal(idst, obs.off_spec().backscal(isrc)) - # Extract ARF - arf = gammalib.GArf(etrue) - arf_backresp = obs.arf()['BACKRESP'] + # Extract BACKRESP + pha_backresp = obs.off_spec()['BACKRESP'] backresp = [] + for idst, isrc in enumerate(ireco): + backresp.append(pha_backresp[isrc]) + pha_off.append('BACKRESP', backresp) + + # Extract ARF + arf = gammalib.GArf(etrue) for idst, isrc in enumerate(itrue): arf[idst] = obs.arf()[isrc] - backresp.append(arf_backresp[isrc]) - arf.append('BACKRESP', backresp) # Extract RMF rmf = gammalib.GRmf(etrue, ereco) diff --git a/test/test_csphagen.py b/test/test_csphagen.py index b94d988..a2e044c 100644 --- a/test/test_csphagen.py +++ b/test/test_csphagen.py @@ -343,12 +343,12 @@ class Test(test): 'Check for %d rows in energy bounds table' % bins) for col in cols: self.test_assert(table.contains(col), - 'FITS file contains "' + col + '" column') + 'Test if EBOUNDS contains "' + col + '" column') # Return return - def _check_pha(self, filename, bins): + def _check_pha(self, filename, bins, ncols=8): """ Check PHA file """ @@ -363,21 +363,21 @@ class Test(test): self.test_value(fits.size(), 3, 'Check for 3 extensions in PHA file') self.test_assert(fits.contains('SPECTRUM'), - 'FITS file contains "SPECTRUM" extension') + 'Test if PHA file contains "SPECTRUM" extension') self.test_assert(fits.contains('EBOUNDS'), - 'FITS file contains "EBOUNDS" extension') + 'Test if PHA file contains "EBOUNDS" extension') # Get SPECTRUM table table = fits['SPECTRUM'] # Check FITS table structure - self.test_value(table.ncols(), len(cols), + self.test_value(table.ncols(), ncols, 'Check for %d columns in PHA table' % len(cols)) self.test_value(table.nrows(), bins, 'Check for %d rows in PHA table' % bins) for col in cols: self.test_assert(table.contains(col), - 'FITS file contains "' + col + '" column') + 'Test if PHA file contains "' + col + '" column') # Check EBOUNDS table table = fits['EBOUNDS'] @@ -394,7 +394,7 @@ class Test(test): Check ARF file """ # Expected column names - cols = ['ENERG_LO', 'ENERG_HI', 'SPECRESP', 'BACKRESP'] + cols = ['ENERG_LO', 'ENERG_HI', 'SPECRESP'] # Open FITS file fits = gammalib.GFits(filename) @@ -403,7 +403,7 @@ class Test(test): self.test_value(fits.size(), 2, 'Check for 2 extensions in ARF file') self.test_assert(fits.contains('SPECRESP'), - 'FITS file contains "SPECRESP" extension') + 'Test if ARF file contains "SPECRESP" extension') # Get SPECRESP table table = fits['SPECRESP'] @@ -415,7 +415,7 @@ class Test(test): 'Check for %d rows in ARF table' % bins) for col in cols: self.test_assert(table.contains(col), - 'FITS file contains "' + col + '" column') + 'Test if ARF file contains "' + col + '" column') # Close FITS file fits.close() @@ -437,9 +437,9 @@ class Test(test): self.test_value(fits.size(), 3, 'Check for 3 extensions in RMF file') self.test_assert(fits.contains('MATRIX'), - 'FITS file contains "MATRIX" extension') + 'Test if RMF file contains "MATRIX" extension') self.test_assert(fits.contains('EBOUNDS'), - 'FITS file contains "EBOUNDS" extension') + 'Test if RMF file contains "EBOUNDS" extension') # Get MATRIX table table = fits['MATRIX'] @@ -451,7 +451,7 @@ class Test(test): 'Check for %d rows in RMF table' % etruebins) for col in cols: self.test_assert(table.contains(col), - 'FITS file contains "' + col + '" column') + 'Test if RMF file contains "' + col + '" column') # Check EBOUNDS table table = fits['EBOUNDS'] @@ -469,7 +469,7 @@ class Test(test): """ # OGIP files self._check_pha(filenameroot + '_pha_on.fits', bins) - self._check_pha(filenameroot + '_pha_off.fits', bins) + self._check_pha(filenameroot + '_pha_off.fits', bins, ncols=9) self._check_arf(filenameroot + '_arf.fits', 17) self._check_rmf(filenameroot + '_rmf.fits', bins) diff --git a/test/test_csresspec.py b/test/test_csresspec.py index db1ff1b..a48d334 100755 --- a/test/test_csresspec.py +++ b/test/test_csresspec.py @@ -224,7 +224,7 @@ class Test(test): resspec.execute() # Check result file - self._check_result_file('csresspec_py5.fits', 20, 8, nobs=2) + self._check_result_file('csresspec_py5.fits', 30, 8, nobs=2) # Set-up csresspec for On/Off observations # in stacked mode and with WSTAT background @@ -242,7 +242,7 @@ class Test(test): resspec.execute() # Check result file - self._check_result_file('csresspec_py6.fits', 20, 8) + self._check_result_file('csresspec_py6.fits', 30, 8) # Return return diff --git a/test/test_obsutils.py b/test/test_obsutils.py index 5683604..8785bee 100755 --- a/test/test_obsutils.py +++ b/test/test_obsutils.py @@ -280,13 +280,13 @@ class Test(test): 'Check minimum energy of ARF') self.test_value(res[0].arf().ebounds().emax().TeV(), 12.0, 'Check minimum energy of ARF') - self.test_value(res[0].arf().ebounds().size(), 42, + self.test_value(res[0].arf().ebounds().size(), 41, 'Check number of energy bins of ARF') self.test_value(res[0].rmf().etrue().emin().TeV(), 0.5, 'Check minimum true energy of RMF') self.test_value(res[0].rmf().etrue().emax().TeV(), 12.0, 'Check minimum true energy of RMF') - self.test_value(res[0].rmf().etrue().size(), 42, + self.test_value(res[0].rmf().etrue().size(), 41, 'Check number of true energy bins of RMF') self.test_value(res[0].rmf().emeasured().emin().TeV(), 1.0, 'Check minimum reconstructed energy of RMF') -- libgit2 0.21.4