From 1bf17790cf4abe1e6660ed1d4e966873a7c9f8bb Mon Sep 17 00:00:00 2001 From: Michael Mayer Date: Fri, 17 Oct 2014 16:41:55 +0200 Subject: [PATCH] removed tscalc parameter from ctlike --- src/ctlike/ctlike.cpp | 35 ++++++++++++++++------------------- src/ctlike/ctlike.hpp | 1 - src/ctlike/ctlike.par | 1 - 3 files changed, 16 insertions(+), 21 deletions(-) diff --git a/src/ctlike/ctlike.cpp b/src/ctlike/ctlike.cpp index aa30e52..c59ff4b 100644 --- a/src/ctlike/ctlike.cpp +++ b/src/ctlike/ctlike.cpp @@ -245,23 +245,24 @@ void ctlike::run(void) // Store Npred double npred = m_obs.npred(); - // Optionally perform TS computation - if (m_tscalc) { + // Store models for which TS should be computed + std::vector ts_srcs; + GModels models_orig = m_obs.models(); + for (int i = 0; i < models_orig.size(); ++i) { + GModel* model = models_orig[i]; + if (model->tscalc()) { + ts_srcs.push_back(model->name()); + } + } + + // Compute TS values if requested + if (ts_srcs.size()) { + // Store original maximum likelihood and models double logL_src = m_logL; - GModels models_orig = m_obs.models(); - - // Store models for which TS should be computed - std::vector ts_srcs; GModels models = m_obs.models(); - for (int i = 0; i < models.size(); ++i) { - GModel* model = models[i]; - if (model->tscalc()) { - ts_srcs.push_back(model->name()); - } - } - + // Loop over stored models, remove source and refit for (int i = 0; i < ts_srcs.size(); ++i) { models.remove(ts_srcs[i]); @@ -271,11 +272,10 @@ void ctlike::run(void) models_orig[ts_srcs[i]]->ts(ts); models = models_orig; } - + // Restore best fit values m_obs.models(models_orig); - - } // endif: did optional TS computation + } // Compute number of observed events in all observations double num_events = 0.0; @@ -416,7 +416,6 @@ void ctlike::get_parameters(void) // Get other parameters m_refit = (*this)["refit"].boolean(); - m_tscalc = (*this)["tscalc"].boolean(); m_apply_edisp = (*this)["edisp"].boolean(); // Optionally read ahead parameters so that they get correctly @@ -546,7 +545,6 @@ void ctlike::init_members(void) m_outmdl.clear(); m_obs.clear(); m_refit = false; - m_tscalc = false; m_max_iter = 100; // Set maximum number of iterations m_max_stall = 10; // Set maximum number of stalls m_logL = 0.0; @@ -570,7 +568,6 @@ void ctlike::copy_members(const ctlike& app) { // Copy attributes m_refit = app.m_refit; - m_tscalc = app.m_tscalc; m_outmdl = app.m_outmdl; m_obs = app.m_obs; m_max_iter = app.m_max_iter; diff --git a/src/ctlike/ctlike.hpp b/src/ctlike/ctlike.hpp index 910ddff..362c431 100644 --- a/src/ctlike/ctlike.hpp +++ b/src/ctlike/ctlike.hpp @@ -74,7 +74,6 @@ protected: // User parameters bool m_refit; //!< Refitting - bool m_tscalc; //!< TS computation std::string m_outmdl; //!< Source model output XML file bool m_apply_edisp; //!< Apply energy dispersion? diff --git a/src/ctlike/ctlike.par b/src/ctlike/ctlike.par index 934bb06..fc63e6c 100644 --- a/src/ctlike/ctlike.par +++ b/src/ctlike/ctlike.par @@ -21,7 +21,6 @@ infile, f, a, "events.fits",,, "Event list, counts cube or observation definitio stat, s, h, "POISSON",,, "Optimization statistics" edisp, b, h, no,,, "Apply energy dispersion?" refit, b, h, no,,, "Do refitting?" -tscalc, b, h, no,,, "Compute TS values?" caldb, s, a, "dummy",,, "Calibration database" irf, s, a, "cta_dummy_irf",,, "Instrument response function" srcmdl, f, a, "$CTOOLS/share/models/crab.xml",,, "Source model" -- libgit2 0.21.4