Commit ff1a61b5066fa43fa50fb762f85622e3e2c9fa1b
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 |