File indexing completed on 2025-01-30 10:12:04
0001
0002
0003
0004
0005
0006
0007 #ifndef _JEventProcessor_regressiontest_
0008 #define _JEventProcessor_regressiontest_
0009
0010 #include <string>
0011 #include <map>
0012 #include <ostream>
0013 #include <istream>
0014
0015 #include <JANA/JEventProcessor.h>
0016
0017
0018 class JEventProcessor_regressiontest : public JEventProcessor
0019 {
0020 public:
0021 void Init() override;
0022 void BeginRun(const std::shared_ptr<const JEvent>& event) override;
0023 void Process(const std::shared_ptr<const JEvent>& event) override;
0024 void EndRun() override;
0025 void Finish() override;
0026
0027 private:
0028 std::mutex m_mutex;
0029
0030 bool interactive = true;
0031 bool have_old_log_file = false;
0032 std::ifstream old_log_file;
0033 std::string old_log_file_name = "regression_log_old.tsv";
0034 std::ofstream new_log_file;
0035 std::string new_log_file_name = "regression_log_new.tsv";
0036 std::ifstream blacklist_file;
0037 std::string blacklist_file_name = "blacklist.tsv";
0038 std::set<std::string> blacklist;
0039 std::map<std::string, int> discrepancy_counts;
0040
0041 std::vector<JFactory*> GetFactoriesTopologicallyOrdered(const JEvent& event);
0042 std::pair<std::string, int> ParseFactorySummary(std::string line);
0043 };
0044
0045 #endif