Commit 80ac5b7ecc710a9589540c7fb990adc1dfd9ec00

Authored by Jürgen Knödlseder
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)+
... ...