From e0c54f22705012442e36780c7814e3e32cdbad19 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck <wdconinc@gmail.com> Date: Thu, 28 Jul 2022 20:39:12 +0000 Subject: [PATCH] fix: test before fit pointer dereference; exit 1 if null --- benchmarks/dis/analysis/dis_electrons.cxx | 60 +++++++++++++++-------- 1 file changed, 40 insertions(+), 20 deletions(-) diff --git a/benchmarks/dis/analysis/dis_electrons.cxx b/benchmarks/dis/analysis/dis_electrons.cxx index 9ac81ce3..8a27c544 100644 --- a/benchmarks/dis/analysis/dis_electrons.cxx +++ b/benchmarks/dis/analysis/dis_electrons.cxx @@ -154,27 +154,47 @@ int dis_electrons(const std::string& config_name) fmt::print(fmt::emphasis::bold | fg(fmt::color::forest_green), "Inclusive kinematics summary:\n"); fmt::print("Q2 resolution:\n"); - fmt::print(" - electron: {} +/- {}\n", - f_Q2_el_res->Parameter(1), f_Q2_el_res->Error(1)); - fmt::print(" - sigma: {} +/- {}\n", - f_Q2_sigma_res->Parameter(1), f_Q2_sigma_res->Error(1)); - fmt::print(" - esigma: {} +/- {}\n", - f_Q2_esigma_res->Parameter(1), f_Q2_esigma_res->Error(1)); - fmt::print(" - JB: {} +/- {}\n", - f_Q2_jb_res->Parameter(1), f_Q2_jb_res->Error(1)); - fmt::print(" - DA: {} +/- {}\n", - f_Q2_da_res->Parameter(1), f_Q2_da_res->Error(1)); + if (f_Q2_el_res == 0) { + fmt::print(" - electron: {} +/- {}\n", + f_Q2_el_res->Parameter(1), f_Q2_el_res->Error(1)); + } else return 1; + if (f_Q2_sigma_res == 0) { + fmt::print(" - sigma: {} +/- {}\n", + f_Q2_sigma_res->Parameter(1), f_Q2_sigma_res->Error(1)); + } else return 1; + if (f_Q2_esigma_res == 0) { + fmt::print(" - esigma: {} +/- {}\n", + f_Q2_esigma_res->Parameter(1), f_Q2_esigma_res->Error(1)); + } else return 1; + if (f_Q2_jb_res == 0) { + fmt::print(" - JB: {} +/- {}\n", + f_Q2_jb_res->Parameter(1), f_Q2_jb_res->Error(1)); + } else return 1; + if (f_Q2_da_res == 0) { + fmt::print(" - DA: {} +/- {}\n", + f_Q2_da_res->Parameter(1), f_Q2_da_res->Error(1)); + } else return 1; fmt::print("x resolution:\n"); - fmt::print(" - electron: {} +/- {}\n", - f_x_el_res->Parameter(1), f_x_el_res->Error(1)); - fmt::print(" - sigma: {} +/- {}\n", - f_x_sigma_res->Parameter(1), f_x_sigma_res->Error(1)); - fmt::print(" - esigma: {} +/- {}\n", - f_x_esigma_res->Parameter(1), f_x_esigma_res->Error(1)); - fmt::print(" - JB: {} +/- {}\n", - f_x_jb_res->Parameter(1), f_x_jb_res->Error(1)); - fmt::print(" - DA: {} +/- {}\n", - f_x_da_res->Parameter(1), f_x_da_res->Error(1)); + if (f_x_el_res == 0) { + fmt::print(" - electron: {} +/- {}\n", + f_x_el_res->Parameter(1), f_x_el_res->Error(1)); + } else return 1; + if (f_x_sigma_res == 0) { + fmt::print(" - sigma: {} +/- {}\n", + f_x_sigma_res->Parameter(1), f_x_sigma_res->Error(1)); + } else return 1; + if (f_x_esigma_res == 0) { + fmt::print(" - esigma: {} +/- {}\n", + f_x_esigma_res->Parameter(1), f_x_esigma_res->Error(1)); + } else return 1; + if (f_x_jb_res == 0) { + fmt::print(" - JB: {} +/- {}\n", + f_x_jb_res->Parameter(1), f_x_jb_res->Error(1)); + } else return 1; + if (f_x_da_res == 0) { + fmt::print(" - DA: {} +/- {}\n", + f_x_da_res->Parameter(1), f_x_da_res->Error(1)); + } else return 1; // Plot our histograms. // TODO: to start I'm explicitly plotting the histograms, but want to -- GitLab