00001 #ifndef TriggerReportHelpers_H 00002 #define TriggerReportHelpers_H 00003 00004 #include "xdata/String.h" 00005 #include "xdata/UnsignedInteger32.h" 00006 #include "xdata/Table.h" 00007 00008 #include <vector> 00009 #include <string> 00010 00011 namespace edm{ 00012 class TriggerReport; 00013 class ModuleDescription; 00014 } 00015 00016 namespace evf{ 00017 namespace fuep{ 00018 class TriggerReportHelpers{ 00019 public: 00020 TriggerReportHelpers() : tableFormatted_(false), lumiSectionIndex_(0){} 00021 void resetFormat(){tableFormatted_ = false;} 00022 void printReportTable(); 00023 void printTriggerReport(edm::TriggerReport &); 00024 void triggerReportToTable(edm::TriggerReport &, unsigned int, bool = true); 00025 void formatReportTable(edm::TriggerReport &, std::vector<edm::ModuleDescription const*>&); 00026 xdata::Table &getTable(){return triggerReportAsTable_;} 00027 bool checkLumiSection(unsigned int ls) {return (ls == lumiSectionIndex_);} 00028 private: 00029 // scalers table 00030 xdata::Table triggerReportAsTable_; 00031 bool tableFormatted_; 00032 std::vector<int> l1pos_; 00033 std::vector<int> pspos_; 00034 static const std::string columns[6]; 00035 std::vector<xdata::String> paths_; 00036 std::vector<xdata::UnsignedInteger32> l1pre_; 00037 std::vector<xdata::UnsignedInteger32> ps_; 00038 std::vector<xdata::UnsignedInteger32> accept_; 00039 std::vector<xdata::UnsignedInteger32> except_; 00040 std::vector<xdata::UnsignedInteger32> failed_; 00041 std::vector<unsigned int> pl1pre_; 00042 std::vector<unsigned int> pps_; 00043 std::vector<unsigned int> paccept_; 00044 std::vector<unsigned int> pexcept_; 00045 std::vector<unsigned int> pfailed_; 00046 unsigned int lumiSectionIndex_; 00047 }; 00048 } 00049 } 00050 00051 00052 00053 #endif