Commit ff1a61b5066fa43fa50fb762f85622e3e2c9fa1b

Authored by Jürgen Knödlseder
2 parents 85fc450d 0c9ae016

Merge branch 'integration' into devel

Showing 1 changed file with 15 additions and 8 deletions
src/ctlike/ctlike.cpp
1 /*************************************************************************** 1 /***************************************************************************
2 * ctlike - Maximum likelihood fitting tool * 2 * ctlike - Maximum likelihood fitting tool *
3 * ----------------------------------------------------------------------- * 3 * ----------------------------------------------------------------------- *
4 - * copyright (C) 2010-2015 by Juergen Knoedlseder * 4 + * copyright (C) 2010-2016 by Juergen Knoedlseder *
5 * ----------------------------------------------------------------------- * 5 * ----------------------------------------------------------------------- *
6 * * 6 * *
7 * This program is free software: you can redistribute it and/or modify * 7 * This program is free software: you can redistribute it and/or modify *
@@ -441,7 +441,9 @@ void ctlike::get_parameters(void) @@ -441,7 +441,9 @@ void ctlike::get_parameters(void)
441 441
442 442
443 /***********************************************************************//** 443 /***********************************************************************//**
444 - * @brief Optimize model parameters using Levenberg-Marquardt method 444 + * @brief Optimise model parameters
  445 + *
  446 + * Optimise model parameters using a maximum likelihood fit.
445 ***************************************************************************/ 447 ***************************************************************************/
446 void ctlike::optimize_lm(void) 448 void ctlike::optimize_lm(void)
447 { 449 {
@@ -518,8 +520,10 @@ void ctlike::optimize_lm(void) @@ -518,8 +520,10 @@ void ctlike::optimize_lm(void)
518 520
519 521
520 /***********************************************************************//** 522 /***********************************************************************//**
521 - * @brief Re-optimize model parameters using Levenberg-Marquardt method  
522 - * for TS computation 523 + * @brief Re-optimise model parameters for TS computation
  524 + *
  525 + * Re-optimise the model parameters using a maximum likelihood fit for
  526 + * computation of the Test Statistic value for a given source.
523 ***************************************************************************/ 527 ***************************************************************************/
524 double ctlike::reoptimize_lm(void) 528 double ctlike::reoptimize_lm(void)
525 { 529 {
@@ -530,23 +534,26 @@ double ctlike::reoptimize_lm(void) @@ -530,23 +534,26 @@ double ctlike::reoptimize_lm(void)
530 log.indent(1); 534 log.indent(1);
531 } 535 }
532 536
  537 + // Create a clone of the optimizer for the re-optimisation
  538 + GOptimizer* opt = m_opt->clone();
  539 +
533 // Perform LM optimization 540 // Perform LM optimization
534 - m_obs.optimize(*m_opt); 541 + m_obs.optimize(*opt);
535 542
536 // Optionally refit 543 // Optionally refit
537 if (m_refit) { 544 if (m_refit) {
538 - m_obs.optimize(*m_opt); 545 + m_obs.optimize(*opt);
539 } 546 }
540 547
541 // Store maximum log likelihood value 548 // Store maximum log likelihood value
542 - double logL = -(m_opt->value()); 549 + double logL = -(opt->value());
543 550
544 // Write optimization results 551 // Write optimization results
545 log.indent(0); 552 log.indent(0);
546 if (logTerse()) { 553 if (logTerse()) {
547 log << std::endl; 554 log << std::endl;
548 log.header1("Maximum likelihood re-optimisation results"); 555 log.header1("Maximum likelihood re-optimisation results");
549 - log << *m_opt << std::endl; 556 + log << *opt << std::endl;
550 } 557 }
551 558
552 // Return 559 // Return