Commit 88e351a66bf55f556f27b907ebf98690d6b87d96
1 parent
1691ebb4
Speed up ctools unit tests
Showing
10 changed files
with
54 additions
and
22 deletions
cscripts/Makefile.am
| ... | ... | @@ -218,7 +218,8 @@ testdata = $(top_srcdir)/test/data/crab.xml \ |
| 218 | 218 | $(top_srcdir)/test/data/onoff_pha_on2.fits.gz \ |
| 219 | 219 | $(top_srcdir)/test/data/onoff_rmf.fits.gz \ |
| 220 | 220 | $(top_srcdir)/test/data/onoff_rmf1.fits.gz \ |
| 221 | - $(top_srcdir)/test/data/onoff_rmf2.fits.gz | |
| 221 | + $(top_srcdir)/test/data/onoff_rmf2.fits.gz \ | |
| 222 | + $(top_srcdir)/test/data/model_crab_radialacceptance.xml | |
| 222 | 223 | |
| 223 | 224 | # Test data to be distributed in $(pyexecdir)/cscripts/tests/data/iactdata |
| 224 | 225 | testiactdata = $(top_srcdir)/test/data/iactdata/hdu-index.fits.gz \ | ... | ... |
test/data/crab.xml
| ... | ... | @@ -11,7 +11,7 @@ |
| 11 | 11 | <parameter name="DEC" scale="1.0" value="22.0145" min="-90" max="90" free="0"/> |
| 12 | 12 | </spatialModel> |
| 13 | 13 | </source> |
| 14 | - <source name="CTABackgroundModel" type="CTAIrfBackground" instrument="CTA"> | |
| 14 | + <source name="Background" type="CTAIrfBackground" instrument="CTA"> | |
| 15 | 15 | <spectrum type="PowerLaw"> |
| 16 | 16 | <parameter name="Prefactor" scale="1.0" value="1.0" min="1e-3" max="1e+3" free="1"/> |
| 17 | 17 | <parameter name="Index" scale="1.0" value="0.0" min="-5.0" max="+5.0" free="1"/> | ... | ... |
test/data/model_crab_radialacceptance.xml
0 → 100644
| 1 | +<?xml version="1.0" standalone="no"?> | |
| 2 | +<source_library title="source library"> | |
| 3 | + <source name="Crab" type="PointSource"> | |
| 4 | + <spectrum type="PowerLaw"> | |
| 5 | + <parameter name="Prefactor" scale="1e-16" value="5.7" min="1e-07" max="1000.0" free="1"/> | |
| 6 | + <parameter name="Index" scale="-1" value="2.48" min="0.0" max="+5.0" free="1"/> | |
| 7 | + <parameter name="PivotEnergy" scale="1e6" value="0.3" min="0.01" max="1000.0" free="0"/> | |
| 8 | + </spectrum> | |
| 9 | + <spatialModel type="PointSource"> | |
| 10 | + <parameter name="RA" scale="1.0" value="83.6331" min="-360" max="360" free="0"/> | |
| 11 | + <parameter name="DEC" scale="1.0" value="22.0145" min="-90" max="90" free="0"/> | |
| 12 | + </spatialModel> | |
| 13 | + </source> | |
| 14 | + <source name="Background" type="RadialAcceptance" instrument="CTA"> | |
| 15 | + <spectrum type="PowerLaw"> | |
| 16 | + <parameter name="Prefactor" scale="1e-6" value="61.8" min="0.0" max="1000.0" free="1"/> | |
| 17 | + <parameter name="Index" scale="-1" value="1.85" min="0.0" max="+5.0" free="1"/> | |
| 18 | + <parameter name="PivotEnergy" scale="1e6" value="1.0" min="0.01" max="1000.0" free="0"/> | |
| 19 | + </spectrum> | |
| 20 | + <radialModel type="Gaussian"> | |
| 21 | + <parameter name="Sigma" scale="1.0" value="3.0" min="0.01" max="10.0" free="0"/> | |
| 22 | + </radialModel> | |
| 23 | + </source> | |
| 24 | +</source_library> | ... | ... |
test/test_cspull.py
| ... | ... | @@ -43,6 +43,7 @@ class Test(test): |
| 43 | 43 | test.__init__(self) |
| 44 | 44 | |
| 45 | 45 | # Set members |
| 46 | + self._model = self._datadir + '/model_crab_radialacceptance.xml' | |
| 46 | 47 | self._inobs = self._datadir + '/obs_stacked.xml' |
| 47 | 48 | self._inobs_two = self._datadir + '/obs_stacked_two.xml' |
| 48 | 49 | self._stacked_model = self._datadir + '/crab_bkgcube.xml' | ... | ... |
test/test_cssens.py
test/test_csworkflow.py
| ... | ... | @@ -149,10 +149,10 @@ class Test(test): |
| 149 | 149 | self.test_value(models['Crab'][3].value(), |
| 150 | 150 | -2.45753747320273, 1.0e-4 * 2.45753747320273, |
| 151 | 151 | 'Check Crab index') |
| 152 | - self.test_value(models['CTABackgroundModel'][0].value(), | |
| 152 | + self.test_value(models['Background'][0].value(), | |
| 153 | 153 | 1.0444753409474, 1.0e-4 * 1.0444753409474, |
| 154 | 154 | 'Check background model prefactor') |
| 155 | - self.test_value(models['CTABackgroundModel'][1].value(), | |
| 155 | + self.test_value(models['Background'][1].value(), | |
| 156 | 156 | 0.0126628793551562, 1.0e-4 * 0.0126628793551562, |
| 157 | 157 | 'Check background model index') |
| 158 | 158 | ... | ... |
test/test_cterror.py
| ... | ... | @@ -275,16 +275,16 @@ class Test(test): |
| 275 | 275 | self.test_value(models['Crab']['Index'].error(), |
| 276 | 276 | 0.0366617454398694, 1.0e-3 * 0.0366617454398694, |
| 277 | 277 | 'Check Crab Index error') |
| 278 | - self.test_value(models['CTABackgroundModel']['Prefactor'].value(), | |
| 278 | + self.test_value(models['Background']['Prefactor'].value(), | |
| 279 | 279 | 1.01525433446138, 1.0e-4 * 1.01525433446138, |
| 280 | 280 | 'Check fitted background Prefactor') |
| 281 | - self.test_value(models['CTABackgroundModel']['Prefactor'].error(), | |
| 281 | + self.test_value(models['Background']['Prefactor'].error(), | |
| 282 | 282 | 0.0334412516391298, 1.0e-4 * 0.0334412516391298, |
| 283 | 283 | 'Check background Prefactor error') |
| 284 | - self.test_value(models['CTABackgroundModel']['Index'].value(), | |
| 284 | + self.test_value(models['Background']['Index'].value(), | |
| 285 | 285 | -0.005132848897274, 1.0e-3 * 0.005132848897274, |
| 286 | 286 | 'Check fitted background Index') |
| 287 | - self.test_value(models['CTABackgroundModel']['Index'].error(), | |
| 287 | + self.test_value(models['Background']['Index'].error(), | |
| 288 | 288 | 0.0200624490548333, 1.0e-4 * 0.0200624490548333, |
| 289 | 289 | 'Check background Index error') |
| 290 | 290 | ... | ... |
test/test_ctlike.py
| ... | ... | @@ -265,16 +265,16 @@ class Test(test): |
| 265 | 265 | self.test_value(models['Crab']['Index'].error(), |
| 266 | 266 | 0.0386777873333435, 1.0e-4 * 0.0386777873333435, |
| 267 | 267 | 'Check Crab Index error') |
| 268 | - self.test_value(models['CTABackgroundModel']['Prefactor'].value(), | |
| 268 | + self.test_value(models['Background']['Prefactor'].value(), | |
| 269 | 269 | 1.01525433446138, 1.0e-4 * 1.01525433446138, |
| 270 | 270 | 'Check fitted background Prefactor') |
| 271 | - self.test_value(models['CTABackgroundModel']['Prefactor'].error(), | |
| 271 | + self.test_value(models['Background']['Prefactor'].error(), | |
| 272 | 272 | 0.0334412516391298, 1.0e-4 * 0.0334412516391298, |
| 273 | 273 | 'Check background Prefactor error') |
| 274 | - self.test_value(models['CTABackgroundModel']['Index'].value(), | |
| 274 | + self.test_value(models['Background']['Index'].value(), | |
| 275 | 275 | -0.005132848897274, 1.0e-3 * 0.005132848897274, |
| 276 | 276 | 'Check fitted background Index') |
| 277 | - self.test_value(models['CTABackgroundModel']['Index'].error(), | |
| 277 | + self.test_value(models['Background']['Index'].error(), | |
| 278 | 278 | 0.0200624490548333, 1.0e-4 * 0.0200624490548333, |
| 279 | 279 | 'Check background Index error') |
| 280 | 280 | ... | ... |
test/test_ctprob.py
| ... | ... | @@ -220,7 +220,7 @@ class Test(test): |
| 220 | 220 | self._check_events(events, nevents=nevents) |
| 221 | 221 | |
| 222 | 222 | # Check that probability columns exist |
| 223 | - colname1 = 'PROB_CTABackgroundModel' | |
| 223 | + colname1 = 'PROB_Background' | |
| 224 | 224 | colname2 = 'PROB_Crab' |
| 225 | 225 | self._check_column(filename, colname1) |
| 226 | 226 | self._check_column(filename, colname2) | ... | ... |
test/test_obsutils.py
| ... | ... | @@ -39,6 +39,9 @@ class Test(test): |
| 39 | 39 | # Call base class constructor |
| 40 | 40 | test.__init__(self) |
| 41 | 41 | |
| 42 | + # Set test data | |
| 43 | + self._model = self._datadir + '/model_crab_radialacceptance.xml' | |
| 44 | + | |
| 42 | 45 | # Return |
| 43 | 46 | return |
| 44 | 47 | |
| ... | ... | @@ -113,14 +116,14 @@ class Test(test): |
| 113 | 116 | # Check simulation results |
| 114 | 117 | self.test_value(res.size(), 1, 'Check number of observations') |
| 115 | 118 | self.test_value(res.models().size(), 2, 'Check number of models') |
| 116 | - self.test_value(res.nobserved(), 6, 'Check number of observed events') | |
| 119 | + self.test_value(res.nobserved(), 4, 'Check number of observed events') | |
| 117 | 120 | self.test_value(res.npred(), 0.0, 'Check number of predicted events') |
| 118 | 121 | self.test_value(res[0].eventtype(), 'EventList', 'Check event type') |
| 119 | 122 | self.test_value(res[0].events().ebounds().emin().TeV(), 1.0, |
| 120 | 123 | 'Check minimum energy') |
| 121 | 124 | self.test_value(res[0].events().ebounds().emax().TeV(), 10.0, |
| 122 | 125 | 'Check minimum energy') |
| 123 | - self.test_value(res[0].events().number(), 6, | |
| 126 | + self.test_value(res[0].events().number(), 4, | |
| 124 | 127 | 'Check number of events in list') |
| 125 | 128 | |
| 126 | 129 | # Check energy dispersion flag |
| ... | ... | @@ -144,7 +147,7 @@ class Test(test): |
| 144 | 147 | # Check simulation results |
| 145 | 148 | self.test_value(res.size(), 1, 'Check number of observations') |
| 146 | 149 | self.test_value(res.models().size(), 2, 'Check number of models') |
| 147 | - self.test_value(res.nobserved(), 6, 'Check number of observed events') | |
| 150 | + self.test_value(res.nobserved(), 4, 'Check number of observed events') | |
| 148 | 151 | self.test_value(res.npred(), 0.0, 'Check number of predicted events') |
| 149 | 152 | self.test_value(res[0].eventtype(), 'CountsCube', 'Check event type') |
| 150 | 153 | self.test_value(res[0].events().ebounds().emin().TeV(), 1.0, |
| ... | ... | @@ -153,7 +156,7 @@ class Test(test): |
| 153 | 156 | 'Check minimum energy') |
| 154 | 157 | self.test_value(res[0].events().ebounds().size(), 5, |
| 155 | 158 | 'Check number of energy bins') |
| 156 | - self.test_value(res[0].events().number(), 6, | |
| 159 | + self.test_value(res[0].events().number(), 4, | |
| 157 | 160 | 'Check number of events in cube') |
| 158 | 161 | |
| 159 | 162 | # Check energy dispersion flag |
| ... | ... | @@ -177,7 +180,7 @@ class Test(test): |
| 177 | 180 | # Check simulation results |
| 178 | 181 | self.test_value(res.size(), 1, 'Check number of observations') |
| 179 | 182 | self.test_value(res.models().size(), 2, 'Check number of models') |
| 180 | - self.test_value(res.nobserved(), 19, 'Check number of observed events') | |
| 183 | + self.test_value(res.nobserved(), 15, 'Check number of observed events') | |
| 181 | 184 | self.test_value(res.npred(), 0.0, 'Check number of predicted events') |
| 182 | 185 | self.test_value(res[0].eventtype(), 'CountsCube', 'Check event type') |
| 183 | 186 | self.test_value(res[0].events().ebounds().emin().TeV(), 1.0, |
| ... | ... | @@ -186,7 +189,7 @@ class Test(test): |
| 186 | 189 | 'Check minimum energy') |
| 187 | 190 | self.test_value(res[0].events().ebounds().size(), 5, |
| 188 | 191 | 'Check number of energy bins') |
| 189 | - self.test_value(res[0].events().number(), 19, | |
| 192 | + self.test_value(res[0].events().number(), 15, | |
| 190 | 193 | 'Check number of events in cube') |
| 191 | 194 | |
| 192 | 195 | # Check energy dispersion flag |
| ... | ... | @@ -211,7 +214,7 @@ class Test(test): |
| 211 | 214 | # Check simulation results |
| 212 | 215 | self.test_value(res.size(), 1, 'Check number of observations') |
| 213 | 216 | self.test_value(res.models().size(), 2, 'Check number of models') |
| 214 | - self.test_value(res.nobserved(), 28, 'Check number of observed events') | |
| 217 | + self.test_value(res.nobserved(), 24, 'Check number of observed events') | |
| 215 | 218 | self.test_value(res.npred(), 0.0, 'Check number of predicted events') |
| 216 | 219 | self.test_value(res[0].eventtype(), 'CountsCube', 'Check event type') |
| 217 | 220 | self.test_value(res[0].events().ebounds().emin().TeV(), 1.0, |
| ... | ... | @@ -220,7 +223,7 @@ class Test(test): |
| 220 | 223 | 'Check minimum energy') |
| 221 | 224 | self.test_value(res[0].events().ebounds().size(), 5, |
| 222 | 225 | 'Check number of energy bins') |
| 223 | - self.test_value(res[0].events().number(), 28, | |
| 226 | + self.test_value(res[0].events().number(), 24, | |
| 224 | 227 | 'Check number of events in cube') |
| 225 | 228 | |
| 226 | 229 | # Check energy dispersion flag |
| ... | ... | @@ -306,7 +309,7 @@ class Test(test): |
| 306 | 309 | # Check simulation results |
| 307 | 310 | self.test_value(res.size(), 1, 'Check number of observations') |
| 308 | 311 | self.test_value(res.models().size(), 2, 'Check number of models') |
| 309 | - self.test_value(res.nobserved(), 6, 'Check number of observed events') | |
| 312 | + self.test_value(res.nobserved(), 4, 'Check number of observed events') | |
| 310 | 313 | self.test_value(res.npred(), 0.0, 'Check number of predicted events') |
| 311 | 314 | self.test_value(res[0].eventtype(), 'EventList', 'Check event type') |
| 312 | 315 | self.test_value(res[0].events().ebounds().emin().TeV(), 1.0, | ... | ... |