CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ThroughputService.h
Go to the documentation of this file.
1 #ifndef ThroughputService_h
2 #define ThroughputService_h
3 
4 // C++ headers
5 #include <string>
6 #include <chrono>
7 #include <functional>
8 
9 // TBB headers
10 #include <tbb/concurrent_unordered_map.h>
11 #include <tbb/concurrent_unordered_set.h>
12 
13 // ROOT headers
14 #include <TH1F.h>
15 
16 // CMSSW headers
28 
30 public:
33 
34 private:
35  void preallocate(edm::service::SystemBounds const & bounds);
36  void preStreamBeginRun(edm::StreamContext const & sc);
37  void postStreamEndLumi(edm::StreamContext const& sc);
38  void postStreamEndRun(edm::StreamContext const & sc);
39  void preSourceEvent(edm::StreamID sid);
40  void postEvent(edm::StreamContext const & sc);
41 
42 public:
43  static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
44 
45 private:
46 
48  {
52  { }
53 
56  };
57 
58  std::vector<stream_histograms> m_stream_histograms;
59 
60  std::chrono::steady_clock::time_point m_startup;
61 
62  // histogram-related data members
63  double m_time_range;
65 
66  // DQM service-related data members
67  unsigned int m_module_id; // pseudo module id for the FastTimerService, needed by the thread-safe DQMStore
69 };
70 
71 #endif // ! ThroughputService_h
void preallocate(edm::service::SystemBounds const &bounds)
void preSourceEvent(edm::StreamID sid)
void postStreamEndLumi(edm::StreamContext const &sc)
void postEvent(edm::StreamContext const &sc)
#define nullptr
std::chrono::steady_clock::time_point m_startup
std::string m_dqm_path
void preStreamBeginRun(edm::StreamContext const &sc)
std::vector< stream_histograms > m_stream_histograms
ThroughputService(const edm::ParameterSet &, edm::ActivityRegistry &)
void postStreamEndRun(edm::StreamContext const &sc)
unsigned int m_module_id
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)