Commit 80ac5b7ecc710a9589540c7fb990adc1dfd9ec00
1 parent
81c788f1
Also output the total number of fit iterations, which is the sum of the fit+refit iterations
Showing
1 changed file
with
14 additions
and
0 deletions
src/ctlike/ctlike.cpp
| ... | ... | @@ -329,6 +329,7 @@ void ctlike::run(void) |
| 329 | 329 | // Write results into logger |
| 330 | 330 | log_header1(NORMAL, "Maximum likelihood optimisation results"); |
| 331 | 331 | log_string(NORMAL, m_opt.print(m_chatter)); |
| 332 | + log_value(NORMAL, "Total number of iterations", m_iter); | |
| 332 | 333 | log_value(NORMAL, "Maximum log likelihood", gammalib::str(m_logL,3)); |
| 333 | 334 | log_value(NORMAL, "Observed events (Nobs)", gammalib::str(m_nobs,3)); |
| 334 | 335 | log_value(NORMAL, "Predicted events (Npred)", gammalib::str(m_npred,3)+ |
| ... | ... | @@ -634,15 +635,27 @@ double ctlike::reoptimize_lm(void) |
| 634 | 635 | log_header1(TERSE, "Maximum likelihood re-optimisation"); |
| 635 | 636 | log.indent(1); |
| 636 | 637 | |
| 638 | + // Initialise number of iterations | |
| 639 | + int iter = 0; | |
| 640 | + | |
| 637 | 641 | // Create a clone of the optimizer for the re-optimisation |
| 638 | 642 | GOptimizer* opt = m_opt.clone(); |
| 639 | 643 | |
| 640 | 644 | // Perform LM optimization |
| 641 | 645 | m_obs.optimize(*opt); |
| 642 | 646 | |
| 647 | + // Add number of iterations | |
| 648 | + iter += opt->iter(); | |
| 649 | + | |
| 643 | 650 | // Optionally refit |
| 644 | 651 | if (refit(opt)) { |
| 652 | + | |
| 653 | + // Refit | |
| 645 | 654 | m_obs.optimize(*opt); |
| 655 | + | |
| 656 | + // Add number of iterations | |
| 657 | + iter += opt->iter(); | |
| 658 | + | |
| 646 | 659 | } |
| 647 | 660 | |
| 648 | 661 | // Store maximum log likelihood value |
| ... | ... | @@ -652,6 +665,7 @@ double ctlike::reoptimize_lm(void) |
| 652 | 665 | log.indent(0); |
| 653 | 666 | log_header1(EXPLICIT, "Maximum likelihood re-optimisation results"); |
| 654 | 667 | log_string(EXPLICIT, opt->print(m_chatter)); |
| 668 | + log_value(EXPLICIT, "Total number of iterations", iter); | |
| 655 | 669 | log_value(EXPLICIT, "Maximum log likelihood", gammalib::str(logL,3)); |
| 656 | 670 | log_value(EXPLICIT, "Observed events (Nobs)", gammalib::str(m_nobs,3)); |
| 657 | 671 | log_value(EXPLICIT, "Predicted events (Npred)", gammalib::str(m_obs.npred(),3)+ | ... | ... |