From 266129c16022c192b7733e096ccfb72ed5d445ad Mon Sep 17 00:00:00 2001 From: Jürgen Knödlseder Date: Fri, 15 Jan 2021 16:30:02 +0100 Subject: [PATCH] Remove compile option for untransposed matrix in likelihood computation (#3501) --- src/obs/GObservation.cpp | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/src/obs/GObservation.cpp b/src/obs/GObservation.cpp index d4ca212..822107f 100644 --- a/src/obs/GObservation.cpp +++ b/src/obs/GObservation.cpp @@ -62,7 +62,6 @@ const double minerr = 1.0e-100; //!< Minimum statistical error /* __ Coding definitions _________________________________________________ */ #define G_LN_ENERGY_INT //!< ln(E) variable substitution for integration -#define G_TRANSPOSE_MATRIX //!< Transpose matrix in likelihood methods /* __ Debug definitions __________________________________________________ */ //#define G_OPT_DEBUG //!< Debug likelihood computation @@ -1395,10 +1394,8 @@ double GObservation::likelihood_poisson_unbinned(const GModels& models, // Compute model and derivative GVector model_vector = this->model(models, &wrk_matrix); - // Compile option: transpose matrix - #if defined(G_TRANSPOSE_MATRIX) + // Transpose matrix wrk_matrix = wrk_matrix.transpose(); - #endif // Iterate over all events for (int i = 0; i < nevents; ++i) { @@ -1415,11 +1412,7 @@ double GObservation::likelihood_poisson_unbinned(const GModels& models, } // Extract working gradient multiplied by bin size - #if defined(G_TRANSPOSE_MATRIX) GVector wrk_grad = wrk_matrix.column(i); - #else - GVector wrk_grad = wrk_matrix.row(i); - #endif // Create index array of non-zero derivatives and initialise working // array @@ -1535,10 +1528,8 @@ double GObservation::likelihood_poisson_binned(const GModels& models, // Compute model and derivative GVector model_vector = this->model(models, &wrk_matrix); - // Compile option: transpose matrix - #if defined(G_TRANSPOSE_MATRIX) + // Transpose matrix wrk_matrix = wrk_matrix.transpose(); - #endif // Iterate over all bins for (int i = 0; i < nevents; ++i) { @@ -1585,11 +1576,7 @@ double GObservation::likelihood_poisson_binned(const GModels& models, *npred += model; // Extract working gradient multiplied by bin size - #if defined(G_TRANSPOSE_MATRIX) GVector wrk_grad = wrk_matrix.column(i) * bin->size(); - #else - GVector wrk_grad = wrk_matrix.row(i) * bin->size(); - #endif // Create index array of non-zero derivatives and initialise working // array @@ -1743,10 +1730,8 @@ double GObservation::likelihood_gaussian_binned(const GModels& models, // Compute model and derivative GVector model_vector = this->model(models, &wrk_matrix); - // Compile option: transpose matrix - #if defined(G_TRANSPOSE_MATRIX) + // Transpose matrix wrk_matrix = wrk_matrix.transpose(); - #endif // Iterate over all bins for (int i = 0; i < nevents; ++i) { @@ -1783,11 +1768,7 @@ double GObservation::likelihood_gaussian_binned(const GModels& models, *npred += model; // Extract working gradient multiplied by bin size - #if defined(G_TRANSPOSE_MATRIX) GVector wrk_grad = wrk_matrix.column(i) * bin->size(); - #else - GVector wrk_grad = wrk_matrix.row(i) * bin->size(); - #endif // Create index array of non-zero derivatives and initialise working // array -- libgit2 0.21.4