CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
FastTimerService::PlotsPerJob Class Reference

Public Member Functions

void book (dqm::reco::DQMStore::IBooker &, ProcessCallGraph const &, std::vector< GroupOfModules > const &, PlotRanges const &event_ranges, PlotRanges const &path_ranges, PlotRanges const &module_ranges, unsigned int lumisections, bool bymodule, bool bypath, bool byls, bool transitions)
 
void fill (ProcessCallGraph const &, ResourcesPerJob const &, unsigned int ls)
 
void fill_lumi (AtomicResources const &, unsigned int lumisection)
 
void fill_run (AtomicResources const &)
 
 PlotsPerJob (ProcessCallGraph const &job, std::vector< GroupOfModules > const &groups)
 

Private Attributes

PlotsPerElement event_
 
PlotsPerElement event_ex_
 
std::vector< PlotsPerElementhighlight_
 
PlotsPerElement lumi_
 
std::vector< PlotsPerElementmodules_
 
PlotsPerElement overhead_
 
std::vector< PlotsPerProcessprocesses_
 
PlotsPerElement run_
 

Detailed Description

Definition at line 405 of file FastTimerService.h.

Constructor & Destructor Documentation

◆ PlotsPerJob()

FastTimerService::PlotsPerJob::PlotsPerJob ( ProcessCallGraph const &  job,
std::vector< GroupOfModules > const &  groups 
)

Definition at line 674 of file FastTimerService.cc.

675  : event_(), event_ex_(), overhead_(), highlight_(groups.size()), modules_(job.size()), processes_() {
676  processes_.reserve(job.processes().size());
677  for (auto const& process : job.processes())
678  processes_.emplace_back(process);
679 }

References LaserDQM_cfg::process, ProcessCallGraph::processes(), and processes_.

Member Function Documentation

◆ book()

void FastTimerService::PlotsPerJob::book ( dqm::reco::DQMStore::IBooker booker,
ProcessCallGraph const &  job,
std::vector< GroupOfModules > const &  groups,
PlotRanges const &  event_ranges,
PlotRanges const &  path_ranges,
PlotRanges const &  module_ranges,
unsigned int  lumisections,
bool  bymodule,
bool  bypath,
bool  byls,
bool  transitions 
)

Definition at line 681 of file FastTimerService.cc.

691  {
692  const std::string basedir = booker.pwd();
693 
694  // event summary plots
695  event_.book(booker, "event", "Event", event_ranges, lumisections, byls);
696 
697  event_ex_.book(booker, "explicit", "Event (explicit)", event_ranges, lumisections, byls);
698 
699  overhead_.book(booker, "overhead", "Overhead", event_ranges, lumisections, byls);
700 
701  modules_[job.source().id()].book(booker, "source", "Source", module_ranges, lumisections, byls);
702 
703  if (transitions) {
704  lumi_.book(booker, "lumi", "LumiSection transitions", event_ranges, lumisections, byls);
705 
706  run_.book(booker, "run", "Run transtions", event_ranges, lumisections, false);
707  }
708 
709  // plot the time spent in few given groups of modules
710  for (unsigned int group : boost::irange(0ul, groups.size())) {
711  auto const& label = groups[group].label;
712  highlight_[group].book(booker, "highlight " + label, "Highlight " + label, event_ranges, lumisections, byls);
713  }
714 
715  // plots per subprocess (event, modules, paths and endpaths)
716  for (unsigned int pid : boost::irange(0ul, job.processes().size())) {
717  auto const& process = job.processDescription(pid);
718  processes_[pid].book(booker, job, process, event_ranges, path_ranges, lumisections, bypath, byls);
719 
720  if (bymodule) {
721  booker.setCurrentFolder(basedir + "/process " + process.name_ + " modules");
722  for (unsigned int id : process.modules_) {
723  auto const& module_name = job.module(id).moduleLabel();
724  modules_[id].book(booker, module_name, module_name, module_ranges, lumisections, byls);
725  }
726  booker.setCurrentFolder(basedir);
727  }
728  }
729 }

References makeHippyCampaign::basedir, event_(), watchdog::group, triggerObjects_cff::id, edm::ModuleDescription::id(), label, ProcessCallGraph::module(), customisers::module_name, edm::ModuleDescription::moduleLabel(), FastTimerService::overhead_, LaserDQM_cfg::process, ProcessCallGraph::processDescription(), ProcessCallGraph::processes(), dqm::implementation::NavigatorBase::pwd(), dqm::implementation::NavigatorBase::setCurrentFolder(), ProcessCallGraph::source(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ fill()

void FastTimerService::PlotsPerJob::fill ( ProcessCallGraph const &  job,
ResourcesPerJob const &  data,
unsigned int  ls 
)

Definition at line 731 of file FastTimerService.cc.

731  {
732  // fill total event plots
733  event_.fill(data.total, ls);
734  event_ex_.fill(data.event, ls);
735  overhead_.fill(data.overhead, ls);
736 
737  // fill highltight plots
738  for (unsigned int group : boost::irange(0ul, highlight_.size()))
739  highlight_[group].fill_fraction(data.total, data.highlight[group], ls);
740 
741  // fill modules plots
742  for (unsigned int id : boost::irange(0ul, modules_.size()))
743  modules_[id].fill(data.modules[id].total, ls);
744 
745  for (unsigned int pid : boost::irange(0ul, processes_.size()))
746  processes_[pid].fill(job.processDescription(pid), data, data.processes[pid], ls);
747 }

References data, event_(), watchdog::group, triggerObjects_cff::id, eostools::ls(), FastTimerService::overhead_, and ProcessCallGraph::processDescription().

◆ fill_lumi()

void FastTimerService::PlotsPerJob::fill_lumi ( AtomicResources const &  data,
unsigned int  lumisection 
)

Definition at line 754 of file FastTimerService.cc.

754  {
755  // fill lumisection transition plots
756  lumi_.fill(data, ls);
757 }

References data, and eostools::ls().

◆ fill_run()

void FastTimerService::PlotsPerJob::fill_run ( AtomicResources const &  data)

Definition at line 749 of file FastTimerService.cc.

749  {
750  // fill run transition plots
751  run_.fill(data, 0);
752 }

References data.

Member Data Documentation

◆ event_

PlotsPerElement FastTimerService::PlotsPerJob::event_
private

Definition at line 425 of file FastTimerService.h.

◆ event_ex_

PlotsPerElement FastTimerService::PlotsPerJob::event_ex_
private

Definition at line 426 of file FastTimerService.h.

◆ highlight_

std::vector<PlotsPerElement> FastTimerService::PlotsPerJob::highlight_
private

Definition at line 432 of file FastTimerService.h.

◆ lumi_

PlotsPerElement FastTimerService::PlotsPerJob::lumi_
private

Definition at line 429 of file FastTimerService.h.

◆ modules_

std::vector<PlotsPerElement> FastTimerService::PlotsPerJob::modules_
private

Definition at line 434 of file FastTimerService.h.

◆ overhead_

PlotsPerElement FastTimerService::PlotsPerJob::overhead_
private

Definition at line 427 of file FastTimerService.h.

◆ processes_

std::vector<PlotsPerProcess> FastTimerService::PlotsPerJob::processes_
private

Definition at line 436 of file FastTimerService.h.

Referenced by PlotsPerJob().

◆ run_

PlotsPerElement FastTimerService::PlotsPerJob::run_
private

Definition at line 430 of file FastTimerService.h.

eostools.ls
def ls(path, rec=False)
Definition: eostools.py:349
FastTimerService::PlotsPerJob::modules_
std::vector< PlotsPerElement > modules_
Definition: FastTimerService.h:434
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
FastTimerService::PlotsPerJob::event_ex_
PlotsPerElement event_ex_
Definition: FastTimerService.h:426
FastTimerService::PlotsPerJob::lumi_
PlotsPerElement lumi_
Definition: FastTimerService.h:429
makeHippyCampaign.basedir
basedir
Definition: makeHippyCampaign.py:14
dqm::implementation::NavigatorBase::pwd
virtual std::string pwd()
Definition: DQMStore.cc:16
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
FastTimerService::PlotsPerJob::overhead_
PlotsPerElement overhead_
Definition: FastTimerService.h:427
FastTimerService::PlotsPerJob::processes_
std::vector< PlotsPerProcess > processes_
Definition: FastTimerService.h:436
LaserDQM_cfg.process
process
Definition: LaserDQM_cfg.py:3
FastTimerService::PlotsPerElement::book
void book(dqm::reco::DQMStore::IBooker &, std::string const &name, std::string const &title, PlotRanges const &ranges, unsigned int lumisections, bool byls)
Definition: FastTimerService.cc:372
FastTimerService::PlotsPerJob::event_
PlotsPerElement event_
Definition: FastTimerService.h:425
FastTimerService::PlotsPerJob::run_
PlotsPerElement run_
Definition: FastTimerService.h:430
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
FastTimerService::PlotsPerElement::fill
void fill(Resources const &, unsigned int lumisection)
Definition: FastTimerService.cc:457
customisers.module_name
module_name
Definition: customisers.py:41
FastTimerService::PlotsPerJob::highlight_
std::vector< PlotsPerElement > highlight_
Definition: FastTimerService.h:432
label
const char * label
Definition: PFTauDecayModeTools.cc:11
watchdog.group
group
Definition: watchdog.py:82