6 #include <boost/regex.hpp>
45 m_dqm_path( config.getUntrackedParameter<std::
string>(
"dqmPath" ) )
69 std::vector<std::string>
folders;
74 static const boost::regex running_n_processes(
".*/Running [0-9]+ processes");
76 std::vector<std::string> subdirs = getter.
getSubdirs();
77 for (
auto const & subdir: subdirs) {
78 if (boost::regex_match(subdir, running_n_processes)) {
79 if (getter.
get(subdir +
"/throughput_sourced"))
81 folders.push_back(subdir +
"/throughput_sourced");
85 for (
auto const & folder: folders) {
86 TH1F * sourced = getter.
get( folder +
"/throughput_sourced" )->
getTH1F();
87 TH1F * retired = getter.
get( folder +
"/throughput_retired" )->
getTH1F();
88 TH1F * concurrent =
nullptr;
90 unsigned int nbins = sourced->GetXaxis()->GetNbins();
91 double range = sourced->GetXaxis()->GetXmax();
95 assert( concurrent->GetXaxis()->GetNbins() == (int) nbins );
96 assert( concurrent->GetXaxis()->GetXmax() == range );
99 concurrent = booker.
book1D(
"concurrent",
"Concurrent events being processed", nbins, 0., range)->
getTH1F();
103 for (
unsigned int i = 0;
i <= nbins+1; ++
i) {
104 sum += sourced->GetBinContent(
i) - retired->GetBinContent(
i);
105 concurrent->Fill( concurrent->GetXaxis()->GetBinCenter(
i), sum );
114 descriptions.
add(
"throughputServiceClient", desc);
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
MonitorElement * get(const std::string &path)
#define DEFINE_FWK_MODULE(type)
~ThroughputServiceClient()
void fillSummaryPlots(DQMStore::IBooker &booker, DQMStore::IGetter &getter)
ThroughputServiceClient(edm::ParameterSet const &)
void dqmEndLuminosityBlock(DQMStore::IBooker &booker, DQMStore::IGetter &getter, edm::LuminosityBlock const &, edm::EventSetup const &) override
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle otherwise a larger ***bin number will have no effects or even make the ***precision lower than before *********************************************************************************************************it lies in three folders
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
MonitorElement * book1D(Args &&...args)
void dqmEndJob(DQMStore::IBooker &booker, DQMStore::IGetter &getter) override
void setCurrentFolder(const std::string &fullpath)
TH1F * getTH1F(void) const
void add(std::string const &label, ParameterSetDescription const &psetDescription)
std::vector< std::string > getSubdirs(void)