Commit 6b90750114f6451e9399bd0e0741817d44513957
1 parent
ca874e05
Integrate code.
Showing
4 changed files
with
45 additions
and
38 deletions
doc/source/reference_manual/ctlike.rst
| ... | ... | @@ -53,7 +53,10 @@ General parameters |
| 53 | 53 | Applies energy dispersion to response computation. |
| 54 | 54 | |
| 55 | 55 | ``(refit = no) [boolean]`` |
| 56 | - Performs refitting of solution after initial fit. | |
| 56 | + Perform refitting of solution after initial fit. | |
| 57 | + | |
| 58 | +``(fix_spat_for_ts = no) [boolean]`` | |
| 59 | + Fix spatial parameters for TS computation. | |
| 57 | 60 | |
| 58 | 61 | |
| 59 | 62 | ... | ... |
src/ctlike/ctlike.cpp
| ... | ... | @@ -264,21 +264,23 @@ void ctlike::run(void) |
| 264 | 264 | |
| 265 | 265 | // Fix spatial parameters if requested |
| 266 | 266 | if (m_fix_spat_for_ts) { |
| 267 | - for(int i = 0; i < models.size(); ++i) { | |
| 267 | + | |
| 268 | + // Loop over all models | |
| 269 | + for (int i = 0; i < models.size(); ++i) { | |
| 268 | 270 | |
| 269 | 271 | // Continue only if model is skymodel |
| 270 | 272 | GModelSky* sky= dynamic_cast<GModelSky*>(models[i]); |
| 271 | 273 | if (sky != NULL) { |
| 272 | 274 | |
| 273 | 275 | // Fix spatial parameters |
| 274 | - GModelSpatial* spat = sky->spatial(); | |
| 275 | - for (int j = 0; j < spat->size(); j++) { | |
| 276 | - (*spat)[j].fix(); | |
| 277 | - } // endfor: loop over spatial parameters | |
| 276 | + GModelSpatial* spatial = sky->spatial(); | |
| 277 | + for (int j = 0; j < spatial->size(); j++) { | |
| 278 | + (*spatial)[j].fix(); | |
| 279 | + } // endfor: looped over spatial parameters | |
| 278 | 280 | |
| 279 | 281 | } // endif: there was a sky model |
| 280 | 282 | |
| 281 | - } // endfor: Loop over models | |
| 283 | + } // endfor: looped over models | |
| 282 | 284 | |
| 283 | 285 | } // endif: spatial parameter should be fixed |
| 284 | 286 | |
| ... | ... | @@ -412,8 +414,8 @@ void ctlike::get_parameters(void) |
| 412 | 414 | } // endif: no models were associated with observations |
| 413 | 415 | |
| 414 | 416 | // Get other parameters |
| 415 | - m_refit = (*this)["refit"].boolean(); | |
| 416 | - m_apply_edisp = (*this)["edisp"].boolean(); | |
| 417 | + m_refit = (*this)["refit"].boolean(); | |
| 418 | + m_apply_edisp = (*this)["edisp"].boolean(); | |
| 417 | 419 | m_fix_spat_for_ts = (*this)["fix_spat_for_ts"].boolean(); |
| 418 | 420 | |
| 419 | 421 | // Optionally read ahead parameters so that they get correctly |
| ... | ... | @@ -563,12 +565,13 @@ void ctlike::init_members(void) |
| 563 | 565 | // Initialise members |
| 564 | 566 | m_outmodel.clear(); |
| 565 | 567 | m_obs.clear(); |
| 566 | - m_refit = false; | |
| 567 | - m_max_iter = 100; // Set maximum number of iterations | |
| 568 | - m_max_stall = 10; // Set maximum number of stalls | |
| 569 | - m_logL = 0.0; | |
| 570 | - m_opt = NULL; | |
| 571 | - m_apply_edisp = false; | |
| 568 | + m_refit = false; | |
| 569 | + m_max_iter = 100; // Set maximum number of iterations | |
| 570 | + m_max_stall = 10; // Set maximum number of stalls | |
| 571 | + m_logL = 0.0; | |
| 572 | + m_opt = NULL; | |
| 573 | + m_apply_edisp = false; | |
| 574 | + m_fix_spat_for_ts = false; | |
| 572 | 575 | |
| 573 | 576 | // Set logger properties |
| 574 | 577 | log.date(true); |
| ... | ... | @@ -596,14 +599,15 @@ void ctlike::init_members(void) |
| 596 | 599 | void ctlike::copy_members(const ctlike& app) |
| 597 | 600 | { |
| 598 | 601 | // Copy attributes |
| 599 | - m_refit = app.m_refit; | |
| 600 | - m_outmodel = app.m_outmodel; | |
| 601 | - m_obs = app.m_obs; | |
| 602 | - m_max_iter = app.m_max_iter; | |
| 603 | - m_max_stall = app.m_max_stall; | |
| 604 | - m_logL = app.m_logL; | |
| 605 | - m_opt = app.m_opt->clone(); | |
| 606 | - m_apply_edisp = app.m_apply_edisp; | |
| 602 | + m_refit = app.m_refit; | |
| 603 | + m_outmodel = app.m_outmodel; | |
| 604 | + m_obs = app.m_obs; | |
| 605 | + m_max_iter = app.m_max_iter; | |
| 606 | + m_max_stall = app.m_max_stall; | |
| 607 | + m_logL = app.m_logL; | |
| 608 | + m_opt = app.m_opt->clone(); | |
| 609 | + m_apply_edisp = app.m_apply_edisp; | |
| 610 | + m_fix_spat_for_ts = app.m_fix_spat_for_ts; | |
| 607 | 611 | |
| 608 | 612 | // Return |
| 609 | 613 | return; | ... | ... |
src/ctlike/ctlike.hpp
| ... | ... | @@ -73,9 +73,9 @@ protected: |
| 73 | 73 | double reoptimize_lm(void); |
| 74 | 74 | |
| 75 | 75 | // User parameters |
| 76 | - bool m_refit; //!< Refitting | |
| 77 | - std::string m_outmodel; //!< Source model output XML file | |
| 78 | - bool m_apply_edisp; //!< Apply energy dispersion? | |
| 76 | + bool m_refit; //!< Refitting | |
| 77 | + std::string m_outmodel; //!< Source model output XML file | |
| 78 | + bool m_apply_edisp; //!< Apply energy dispersion? | |
| 79 | 79 | bool m_fix_spat_for_ts; //!< Fix spatial parameters for TS computation? |
| 80 | 80 | |
| 81 | 81 | // Members | ... | ... |
src/ctlike/ctlike.par
| ... | ... | @@ -17,18 +17,18 @@ |
| 17 | 17 | # |
| 18 | 18 | # General parameters |
| 19 | 19 | #=================== |
| 20 | -inobs, f, a, "events.fits",,, "Event list, counts cube or observation definition file" | |
| 21 | -inmodel, f, a, "$CTOOLS/share/models/crab.xml",,, "Source model" | |
| 22 | -expcube, f, a, "NONE",,, "Exposure cube file (only needed for stacked analysis)" | |
| 23 | -psfcube, f, a, "NONE",,, "PSF cube file (only needed for stacked analysis)" | |
| 24 | -bkgcube, f, a, "NONE",,, "Background cube file (only needed for stacked analysis)" | |
| 25 | -caldb, s, a, "prod2",,, "Calibration database" | |
| 26 | -irf, s, a, "South_50h",,, "Instrument response function" | |
| 27 | -outmodel, f, a, "crab_results.xml",,, "Source model output file" | |
| 28 | -stat, s, h, "POISSON",,, "Optimization statistics" | |
| 29 | -edisp, b, h, no,,, "Apply energy dispersion?" | |
| 30 | -refit, b, h, no,,, "Do refitting?" | |
| 31 | -fix_spat_for_ts,b,h,no,,,"Fix spatial parameters for TS computation?" | |
| 20 | +inobs, f, a, "events.fits",,, "Event list, counts cube or observation definition file" | |
| 21 | +inmodel, f, a, "$CTOOLS/share/models/crab.xml",,, "Source model" | |
| 22 | +expcube, f, a, "NONE",,, "Exposure cube file (only needed for stacked analysis)" | |
| 23 | +psfcube, f, a, "NONE",,, "PSF cube file (only needed for stacked analysis)" | |
| 24 | +bkgcube, f, a, "NONE",,, "Background cube file (only needed for stacked analysis)" | |
| 25 | +caldb, s, a, "prod2",,, "Calibration database" | |
| 26 | +irf, s, a, "South_50h",,, "Instrument response function" | |
| 27 | +outmodel, f, a, "crab_results.xml",,, "Source model output file" | |
| 28 | +stat, s, h, "POISSON",,, "Optimization statistics" | |
| 29 | +edisp, b, h, no,,, "Apply energy dispersion?" | |
| 30 | +refit, b, h, no,,, "Do refitting?" | |
| 31 | +fix_spat_for_ts, b, h, no,,,"Fix spatial parameters for TS computation?" | |
| 32 | 32 | |
| 33 | 33 | # |
| 34 | 34 | # Standard parameters | ... | ... |