109 TProfile
const *
paths =
nullptr;
113 if (( me = dqm->get(
m_dqm_path +
"/paths_active_time") )) {
115 size = paths->GetXaxis()->GetNbins();
117 if (( me = dqm->get(
m_dqm_path +
"/paths_total_time") )) {
119 size = paths->GetXaxis()->GetNbins();
121 if (( me = dqm->get(
m_dqm_path +
"/paths_exclusive_time") )) {
123 size = paths->GetXaxis()->GetNbins();
126 if (paths ==
nullptr)
134 for (uint32_t
p = 1;
p <=
size; ++
p) {
136 std::string
label = paths->GetXaxis()->GetBinLabel(
p);
139 if (me_counter == 0
or me_total == 0)
141 TH1F * counter = me_counter->
getTH1F();
143 uint32_t
bins = counter->GetXaxis()->GetNbins();
144 double min = counter->GetXaxis()->GetXmin();
145 double max = counter->GetXaxis()->GetXmax();
146 TH1F *
average = dqm->book1D(label +
"_module_average", label +
" module average", bins, min, max)->getTH1F();
147 TH1F * running = dqm->book1D(label +
"_module_running", label +
" module running", bins, min, max)->getTH1F();
148 TH1F *
efficiency = dqm->book1D(label +
"_module_efficiency", label +
" module efficiency", bins, min, max)->getTH1F();
149 for (uint32_t
i = 1;
i <=
bins; ++
i) {
150 const char *
module = counter->GetXaxis()->GetBinLabel(
i);
151 average ->GetXaxis()->SetBinLabel(
i, module);
152 running ->GetXaxis()->SetBinLabel(
i, module);
153 efficiency->GetXaxis()->SetBinLabel(
i, module);
154 double t = total ->GetBinContent(
i);
155 double n = counter->GetBinContent(
i);
156 double p = counter->GetBinContent(
i+1);
157 average ->SetBinContent(
i, t / events);
159 running ->SetBinContent(
i, t / n);
160 efficiency->SetBinContent(
i, p / n);
163 average->SetYTitle(
"processing time [ms]");
164 running->SetYTitle(
"processing time [ms]");
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventIDconst &, edm::Timestampconst & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
const T & max(const T &a, const T &b)
TH1F * getTH1F(void) const
TProfile * getTProfile(void) const
tuple size
Write out results.