Commit 9baf2d5e0b77b605ff63cfaf4cbd48e8c3a8d4e6

Authored by Jürgen Knödlseder
1 parent 4e47b21b

Improve ctlike output

ctlike now computes the observed number of events and dumps the information just before the predicted number of events into the log file. The difference between the observed and predicted number of events is also given so that one knows immediately if the fit behaved as it should.

This commit closes actions #87 and #88 and the feature #54.
ChangeLog
@@ -4,18 +4,20 @@ @@ -4,18 +4,20 @@
4 ======================== 4 ========================
5 5
6 Add observation definition XML files support to ctobssim 6 Add observation definition XML files support to ctobssim
  7 + Improve logging information for ctlike
7 8
8 2012-03-08 Juergen Knoedlseder <jurgen.knodlseder@irap.omp.eu> 9 2012-03-08 Juergen Knoedlseder <jurgen.knodlseder@irap.omp.eu>
9 10
10 * Version 0.4.0 released 11 * Version 0.4.0 released
11 ======================== 12 ========================
12 13
13 - Add handling of observation definition XML files to ctselect, ctbin  
14 - and ctlike 14 + Add handling of observation definition XML files to ctselect
  15 + Add handling of observation definition XML files to ctbin
  16 + Add handling of observation definition XML files to ctlike
15 Add deadtime correction factor to ctobssim 17 Add deadtime correction factor to ctobssim
16 No longer query output parameters first 18 No longer query output parameters first
17 - Remove method parameter from ctlike and replace evfile and cntmap  
18 - parameters by infile parameter 19 + Remove method parameter from ctlike
  20 + Replace evfile and cntmap parameters by infile parameter in ctlike
19 Add configure options for Mac OSX universal builds 21 Add configure options for Mac OSX universal builds
20 Remove automake dependency tracking 22 Remove automake dependency tracking
21 Improve building of Python bindings 23 Improve building of Python bindings
@@ -41,7 +41,11 @@ None @@ -41,7 +41,11 @@ None
41 41
42 7. ctlike - CTA maximum likelihood fitting 42 7. ctlike - CTA maximum likelihood fitting
43 ------------------------------------------ 43 ------------------------------------------
44 -None 44 +ctlike computes now the total number of observed events and dumps
  45 +them in the log file just before it dumps the number of predicted
  46 +events. It also computes the difference between observed and
  47 +predicted events so that the difference is immediately visible.
  48 +
45 49
46 8. ctskymap - CTA sky mapping 50 8. ctskymap - CTA sky mapping
47 ----------------------------- 51 -----------------------------
src/ctlike/ctlike.cpp
@@ -256,10 +256,19 @@ void ctlike::run(void) @@ -256,10 +256,19 @@ void ctlike::run(void)
256 // Optimize model parameters using LM optimizer 256 // Optimize model parameters using LM optimizer
257 optimize_lm(); 257 optimize_lm();
258 258
  259 + // Compute number of observed events in all observations
  260 + double num_events = 0.0;
  261 + for (int i = 0; i < m_obs.size(); ++i) {
  262 + num_events += m_obs[i].events()->number();
  263 + }
  264 +
259 // Write results into logger 265 // Write results into logger
260 if (logTerse()) { 266 if (logTerse()) {
261 - log << " Maximum log likelihood ....: " << m_logL << std::endl;  
262 - log << " Npred .....................: " << m_obs.npred() << std::endl; 267 + log << parformat("Maximum log likelihood") << m_logL << std::endl;
  268 + log << parformat("Observed events (Nobs)") << num_events << std::endl;
  269 + log << parformat("Predicted events (Npred)") << m_obs.npred();
  270 + log << " (Nobs - Npred = " << num_events-m_obs.npred();
  271 + log << ")" << std::endl;
263 log << m_obs.models() << std::endl; 272 log << m_obs.models() << std::endl;
264 } 273 }
265 274
@@ -282,7 +291,7 @@ void ctlike::save(void) @@ -282,7 +291,7 @@ void ctlike::save(void)
282 } 291 }
283 292
284 // Get output filename 293 // Get output filename
285 - m_outmdl = (*this)["outmdl"].value(); 294 + m_outmdl = (*this)["outmdl"].filename();
286 295
287 // Write results out as XML model 296 // Write results out as XML model
288 if (toupper(m_outmdl) != "NONE") { 297 if (toupper(m_outmdl) != "NONE") {
src/ctlike/ctlike.hpp
@@ -34,7 +34,7 @@ @@ -34,7 +34,7 @@
34 34
35 /* __Definitions _________________________________________________________ */ 35 /* __Definitions _________________________________________________________ */
36 #define CTLIKE_NAME "ctlike" 36 #define CTLIKE_NAME "ctlike"
37 -#define CTLIKE_VERSION "00-03-00" 37 +#define CTLIKE_VERSION "00-04-00"
38 38
39 39
40 /***********************************************************************//** 40 /***********************************************************************//**