MC_convergence.cpp
Go to the documentation of this file.
39 MC_convergence_checker::MC_convergence_checker() : n_threads(omp_get_max_threads()), converged(false) 61 if (omp_get_thread_num() > 0) utils_error().raise(LOCAL_INFO, "Cannot call this function from inside an OpenMP block."); 68 if (omp_get_thread_num() > 0) utils_error().raise(LOCAL_INFO, "Cannot call this function from inside an OpenMP block."); 134 SR_converged = (_settings->stop_at_sys and total_counts > 0 and absolute_stat_uncert <= sr.signal_sys) or 142 cerr << "DEBUG: SR label: " << sr.sr_label << " in analysis " << analysis_pointer_pair.first << endl; 143 cerr << "DEBUG: absolute_stat_uncert vs sys: " << absolute_stat_uncert << " vs " << sr.signal_sys << endl; 144 cerr << "DEBUG: fractional_stat_uncert vs target: " << fractional_stat_uncert << " vs " << _settings->target_stat << endl; 211 // Now check if all instances of this class have also set their entry in the convergence map to true, const std::map< str, Analysis * > & get_current_analyses_map() const Get analyses map for the current collider. Definition: AnalysisContainer.cpp:348 bool all_SR_must_converge Definition: MC_convergence.hpp:41 void set_settings(const convergence_settings &) Provide a pointer to the convergence settings. Definition: MC_convergence.cpp:59 double target_stat Definition: MC_convergence.hpp:38 bool all_analyses_must_converge Definition: MC_convergence.hpp:40 int n_threads Total number of threads that the checker is configured to deal with. Definition: MC_convergence.hpp:56 const convergence_settings * _settings A pointer to the convergence settings to use. Definition: MC_convergence.hpp:50 void init(const convergence_settings &) Initialise (or re-initialise) the object. Definition: MC_convergence.cpp:52 static std::map< const MC_convergence_checker *const, bool > convergence_map A map containing pointers to all instances of this class. Definition: MC_convergence.hpp:62 Class for holding ColliderBit analyses. std::vector< int > * n_signals Pointer to an array holding the signal counts on each thread. Definition: MC_convergence.hpp:53 ColliderBit Monte Carlo convergence routines. bool achieved(const AnalysisContainer &ac) Check if convergence has been achieved across threads, and across all instances of this class... Definition: MC_convergence.cpp:102 Type for holding Monte Carlo convergence settings. Definition: MC_convergence.hpp:36 Exception objects required for standalone compilation. void update(const AnalysisContainer &) Update the convergence data. This is the only routine meant to be called in parallel. Definition: MC_convergence.cpp:79 bool stop_at_sys Definition: MC_convergence.hpp:39 A class for managing collections of Analysis instances. Definition: AnalysisContainer.hpp:56 Class for ColliderBit analyses. bool converged Flag indicating if everything tracked by this instance is converged. Definition: MC_convergence.hpp:59 |