Commit 0328ad4ea41b7c13658bbb05151ba7efca9dbadf
1 parent
fb79542b
Adapt unit tests to new interface
Showing
4 changed files
with
25 additions
and
22 deletions
cscripts/csspec.py
| @@ -451,14 +451,17 @@ class csspec(ctools.csobservation): | @@ -451,14 +451,17 @@ class csspec(ctools.csobservation): | ||
| 451 | pha_off.areascal(idst, obs.off_spec().areascal(isrc)) | 451 | pha_off.areascal(idst, obs.off_spec().areascal(isrc)) |
| 452 | pha_off.backscal(idst, obs.off_spec().backscal(isrc)) | 452 | pha_off.backscal(idst, obs.off_spec().backscal(isrc)) |
| 453 | 453 | ||
| 454 | - # Extract ARF | ||
| 455 | - arf = gammalib.GArf(etrue) | ||
| 456 | - arf_backresp = obs.arf()['BACKRESP'] | 454 | + # Extract BACKRESP |
| 455 | + pha_backresp = obs.off_spec()['BACKRESP'] | ||
| 457 | backresp = [] | 456 | backresp = [] |
| 457 | + for idst, isrc in enumerate(ireco): | ||
| 458 | + backresp.append(pha_backresp[isrc]) | ||
| 459 | + pha_off.append('BACKRESP', backresp) | ||
| 460 | + | ||
| 461 | + # Extract ARF | ||
| 462 | + arf = gammalib.GArf(etrue) | ||
| 458 | for idst, isrc in enumerate(itrue): | 463 | for idst, isrc in enumerate(itrue): |
| 459 | arf[idst] = obs.arf()[isrc] | 464 | arf[idst] = obs.arf()[isrc] |
| 460 | - backresp.append(arf_backresp[isrc]) | ||
| 461 | - arf.append('BACKRESP', backresp) | ||
| 462 | 465 | ||
| 463 | # Extract RMF | 466 | # Extract RMF |
| 464 | rmf = gammalib.GRmf(etrue, ereco) | 467 | rmf = gammalib.GRmf(etrue, ereco) |
test/test_csphagen.py
| @@ -343,12 +343,12 @@ class Test(test): | @@ -343,12 +343,12 @@ class Test(test): | ||
| 343 | 'Check for %d rows in energy bounds table' % bins) | 343 | 'Check for %d rows in energy bounds table' % bins) |
| 344 | for col in cols: | 344 | for col in cols: |
| 345 | self.test_assert(table.contains(col), | 345 | self.test_assert(table.contains(col), |
| 346 | - 'FITS file contains "' + col + '" column') | 346 | + 'Test if EBOUNDS contains "' + col + '" column') |
| 347 | 347 | ||
| 348 | # Return | 348 | # Return |
| 349 | return | 349 | return |
| 350 | 350 | ||
| 351 | - def _check_pha(self, filename, bins): | 351 | + def _check_pha(self, filename, bins, ncols=8): |
| 352 | """ | 352 | """ |
| 353 | Check PHA file | 353 | Check PHA file |
| 354 | """ | 354 | """ |
| @@ -363,21 +363,21 @@ class Test(test): | @@ -363,21 +363,21 @@ class Test(test): | ||
| 363 | self.test_value(fits.size(), 3, | 363 | self.test_value(fits.size(), 3, |
| 364 | 'Check for 3 extensions in PHA file') | 364 | 'Check for 3 extensions in PHA file') |
| 365 | self.test_assert(fits.contains('SPECTRUM'), | 365 | self.test_assert(fits.contains('SPECTRUM'), |
| 366 | - 'FITS file contains "SPECTRUM" extension') | 366 | + 'Test if PHA file contains "SPECTRUM" extension') |
| 367 | self.test_assert(fits.contains('EBOUNDS'), | 367 | self.test_assert(fits.contains('EBOUNDS'), |
| 368 | - 'FITS file contains "EBOUNDS" extension') | 368 | + 'Test if PHA file contains "EBOUNDS" extension') |
| 369 | 369 | ||
| 370 | # Get SPECTRUM table | 370 | # Get SPECTRUM table |
| 371 | table = fits['SPECTRUM'] | 371 | table = fits['SPECTRUM'] |
| 372 | 372 | ||
| 373 | # Check FITS table structure | 373 | # Check FITS table structure |
| 374 | - self.test_value(table.ncols(), len(cols), | 374 | + self.test_value(table.ncols(), ncols, |
| 375 | 'Check for %d columns in PHA table' % len(cols)) | 375 | 'Check for %d columns in PHA table' % len(cols)) |
| 376 | self.test_value(table.nrows(), bins, | 376 | self.test_value(table.nrows(), bins, |
| 377 | 'Check for %d rows in PHA table' % bins) | 377 | 'Check for %d rows in PHA table' % bins) |
| 378 | for col in cols: | 378 | for col in cols: |
| 379 | self.test_assert(table.contains(col), | 379 | self.test_assert(table.contains(col), |
| 380 | - 'FITS file contains "' + col + '" column') | 380 | + 'Test if PHA file contains "' + col + '" column') |
| 381 | 381 | ||
| 382 | # Check EBOUNDS table | 382 | # Check EBOUNDS table |
| 383 | table = fits['EBOUNDS'] | 383 | table = fits['EBOUNDS'] |
| @@ -394,7 +394,7 @@ class Test(test): | @@ -394,7 +394,7 @@ class Test(test): | ||
| 394 | Check ARF file | 394 | Check ARF file |
| 395 | """ | 395 | """ |
| 396 | # Expected column names | 396 | # Expected column names |
| 397 | - cols = ['ENERG_LO', 'ENERG_HI', 'SPECRESP', 'BACKRESP'] | 397 | + cols = ['ENERG_LO', 'ENERG_HI', 'SPECRESP'] |
| 398 | 398 | ||
| 399 | # Open FITS file | 399 | # Open FITS file |
| 400 | fits = gammalib.GFits(filename) | 400 | fits = gammalib.GFits(filename) |
| @@ -403,7 +403,7 @@ class Test(test): | @@ -403,7 +403,7 @@ class Test(test): | ||
| 403 | self.test_value(fits.size(), 2, | 403 | self.test_value(fits.size(), 2, |
| 404 | 'Check for 2 extensions in ARF file') | 404 | 'Check for 2 extensions in ARF file') |
| 405 | self.test_assert(fits.contains('SPECRESP'), | 405 | self.test_assert(fits.contains('SPECRESP'), |
| 406 | - 'FITS file contains "SPECRESP" extension') | 406 | + 'Test if ARF file contains "SPECRESP" extension') |
| 407 | 407 | ||
| 408 | # Get SPECRESP table | 408 | # Get SPECRESP table |
| 409 | table = fits['SPECRESP'] | 409 | table = fits['SPECRESP'] |
| @@ -415,7 +415,7 @@ class Test(test): | @@ -415,7 +415,7 @@ class Test(test): | ||
| 415 | 'Check for %d rows in ARF table' % bins) | 415 | 'Check for %d rows in ARF table' % bins) |
| 416 | for col in cols: | 416 | for col in cols: |
| 417 | self.test_assert(table.contains(col), | 417 | self.test_assert(table.contains(col), |
| 418 | - 'FITS file contains "' + col + '" column') | 418 | + 'Test if ARF file contains "' + col + '" column') |
| 419 | 419 | ||
| 420 | # Close FITS file | 420 | # Close FITS file |
| 421 | fits.close() | 421 | fits.close() |
| @@ -437,9 +437,9 @@ class Test(test): | @@ -437,9 +437,9 @@ class Test(test): | ||
| 437 | self.test_value(fits.size(), 3, | 437 | self.test_value(fits.size(), 3, |
| 438 | 'Check for 3 extensions in RMF file') | 438 | 'Check for 3 extensions in RMF file') |
| 439 | self.test_assert(fits.contains('MATRIX'), | 439 | self.test_assert(fits.contains('MATRIX'), |
| 440 | - 'FITS file contains "MATRIX" extension') | 440 | + 'Test if RMF file contains "MATRIX" extension') |
| 441 | self.test_assert(fits.contains('EBOUNDS'), | 441 | self.test_assert(fits.contains('EBOUNDS'), |
| 442 | - 'FITS file contains "EBOUNDS" extension') | 442 | + 'Test if RMF file contains "EBOUNDS" extension') |
| 443 | 443 | ||
| 444 | # Get MATRIX table | 444 | # Get MATRIX table |
| 445 | table = fits['MATRIX'] | 445 | table = fits['MATRIX'] |
| @@ -451,7 +451,7 @@ class Test(test): | @@ -451,7 +451,7 @@ class Test(test): | ||
| 451 | 'Check for %d rows in RMF table' % etruebins) | 451 | 'Check for %d rows in RMF table' % etruebins) |
| 452 | for col in cols: | 452 | for col in cols: |
| 453 | self.test_assert(table.contains(col), | 453 | self.test_assert(table.contains(col), |
| 454 | - 'FITS file contains "' + col + '" column') | 454 | + 'Test if RMF file contains "' + col + '" column') |
| 455 | 455 | ||
| 456 | # Check EBOUNDS table | 456 | # Check EBOUNDS table |
| 457 | table = fits['EBOUNDS'] | 457 | table = fits['EBOUNDS'] |
| @@ -469,7 +469,7 @@ class Test(test): | @@ -469,7 +469,7 @@ class Test(test): | ||
| 469 | """ | 469 | """ |
| 470 | # OGIP files | 470 | # OGIP files |
| 471 | self._check_pha(filenameroot + '_pha_on.fits', bins) | 471 | self._check_pha(filenameroot + '_pha_on.fits', bins) |
| 472 | - self._check_pha(filenameroot + '_pha_off.fits', bins) | 472 | + self._check_pha(filenameroot + '_pha_off.fits', bins, ncols=9) |
| 473 | self._check_arf(filenameroot + '_arf.fits', 17) | 473 | self._check_arf(filenameroot + '_arf.fits', 17) |
| 474 | self._check_rmf(filenameroot + '_rmf.fits', bins) | 474 | self._check_rmf(filenameroot + '_rmf.fits', bins) |
| 475 | 475 |
test/test_csresspec.py
| @@ -224,7 +224,7 @@ class Test(test): | @@ -224,7 +224,7 @@ class Test(test): | ||
| 224 | resspec.execute() | 224 | resspec.execute() |
| 225 | 225 | ||
| 226 | # Check result file | 226 | # Check result file |
| 227 | - self._check_result_file('csresspec_py5.fits', 20, 8, nobs=2) | 227 | + self._check_result_file('csresspec_py5.fits', 30, 8, nobs=2) |
| 228 | 228 | ||
| 229 | # Set-up csresspec for On/Off observations | 229 | # Set-up csresspec for On/Off observations |
| 230 | # in stacked mode and with WSTAT background | 230 | # in stacked mode and with WSTAT background |
| @@ -242,7 +242,7 @@ class Test(test): | @@ -242,7 +242,7 @@ class Test(test): | ||
| 242 | resspec.execute() | 242 | resspec.execute() |
| 243 | 243 | ||
| 244 | # Check result file | 244 | # Check result file |
| 245 | - self._check_result_file('csresspec_py6.fits', 20, 8) | 245 | + self._check_result_file('csresspec_py6.fits', 30, 8) |
| 246 | 246 | ||
| 247 | # Return | 247 | # Return |
| 248 | return | 248 | return |
test/test_obsutils.py
| @@ -280,13 +280,13 @@ class Test(test): | @@ -280,13 +280,13 @@ class Test(test): | ||
| 280 | 'Check minimum energy of ARF') | 280 | 'Check minimum energy of ARF') |
| 281 | self.test_value(res[0].arf().ebounds().emax().TeV(), 12.0, | 281 | self.test_value(res[0].arf().ebounds().emax().TeV(), 12.0, |
| 282 | 'Check minimum energy of ARF') | 282 | 'Check minimum energy of ARF') |
| 283 | - self.test_value(res[0].arf().ebounds().size(), 42, | 283 | + self.test_value(res[0].arf().ebounds().size(), 41, |
| 284 | 'Check number of energy bins of ARF') | 284 | 'Check number of energy bins of ARF') |
| 285 | self.test_value(res[0].rmf().etrue().emin().TeV(), 0.5, | 285 | self.test_value(res[0].rmf().etrue().emin().TeV(), 0.5, |
| 286 | 'Check minimum true energy of RMF') | 286 | 'Check minimum true energy of RMF') |
| 287 | self.test_value(res[0].rmf().etrue().emax().TeV(), 12.0, | 287 | self.test_value(res[0].rmf().etrue().emax().TeV(), 12.0, |
| 288 | 'Check minimum true energy of RMF') | 288 | 'Check minimum true energy of RMF') |
| 289 | - self.test_value(res[0].rmf().etrue().size(), 42, | 289 | + self.test_value(res[0].rmf().etrue().size(), 41, |
| 290 | 'Check number of true energy bins of RMF') | 290 | 'Check number of true energy bins of RMF') |
| 291 | self.test_value(res[0].rmf().emeasured().emin().TeV(), 1.0, | 291 | self.test_value(res[0].rmf().emeasured().emin().TeV(), 1.0, |
| 292 | 'Check minimum reconstructed energy of RMF') | 292 | 'Check minimum reconstructed energy of RMF') |