32 #include <boost/algorithm/string/join.hpp> 96 return (
time.value() >> 32) + 1
e-6 * (
time.value() & 0xffffffff);
103 gettimeofday(&
now,
nullptr);
159 gethostname(hostname, 64);
163 char*
pwd = getcwd(
nullptr, 0);
181 std::vector<std::string> evSelectionList;
187 std::for_each(evSelectionList.begin(), evSelectionList.end(), [](
std::string&
s) {
189 s = squote +
s + squote;
194 if (evSelection.empty()) {
198 ibooker.
bookString(
"eventSelection", evSelection);
214 gettimeofday(&
now,
nullptr);
242 std::vector<std::string> pnames;
243 for (
const auto&
p :
event.processHistory()) {
244 pnames.push_back(
p.processName());
248 for (
auto it = pnames.rbegin();
it != pnames.rend(); ++
it) {
249 if (
it->find(
"HLT") != std::string::npos) {
257 edm::LogError(
"DQMEventInfo") <<
"Could not find any processName containing 'HLT' even if 'showHLTGlobalTag' " 258 "was chosen.\n Falling back to current processing!" 260 processName =
event.processHistory()[
event.processHistory().size() - 1].processName();
263 processName =
event.processHistory()[
event.processHistory().size() - 1].processName();
271 if (ps.
exists(
"PoolDBESSource@GlobalTag")) {
277 edm::LogInfo(
"Configuration") <<
"ParameterSet 'PoolDBESSource@GlobalTag' not found. Using default global tag.";
288 desc.addUntracked<
bool>(
"showHLTGlobalTag",
false);
291 desc.addUntracked<
double>(
"eventRateWindow", 0.5);
MonitorElement * hostName_
of event processed so far
MonitorElement * workingDir_
DQM "name" of the job (eg, Hcal or DT)
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
T getParameter(std::string const &) const
MonitorElement * bookFloat(TString const &name, FUNC onbooking=NOOP())
MonitorElement * eventTimeStamp_
virtual void setCurrentFolder(std::string const &fullpath)
void analyze(const edm::Event &e, const edm::EventSetup &c) override
Analyze.
~DQMEventInfo() override=default
Destructor.
ModuleDescription const & moduleDescription() const
bool exists(std::string const ¶meterName) const
checks if a parameter exists
MonitorElement * processId_
Number of collector updates (TBD)
MonitorElement * processStartTimeStamp_
The PID associated with this job.
ParameterSet const & getParameterSet(std::string const &) const
Log< level::Error, false > LogError
MonitorElement * errSummaryEtaPhi_
Subdetector-specific error summary (float)
MonitorElement * bookString(TString const &name, TString const &value, FUNC onbooking=NOOP())
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * cmsswVer_
Current working directory of the job.
void free(void *ptr) noexcept
MonitorElement * eventId_
UTC time of the run start.
std::string eventInfoFolder_
MonitorElement * lumisecId_
MonitorElement * versGlobaltag_
CMSSW version run for this job.
MonitorElement * runStartTimeStamp_
#define DEFINE_FWK_MODULE(type)
DQMEventInfo(const edm::ParameterSet &ps)
Constructor.
MonitorElement * processEvents_
Avg # of events in programmable window (default: 5 min)
MonitorElement * processLatency_
The UTC time of the last event.
MonitorElement * processName_
Hostname of the local machine.
MonitorElement * errSummary_
DQM patch version for this job.
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
ParameterSet const & getProcessParameterSetContainingModule(ModuleDescription const &moduleDescription)
Log< level::Info, false > LogInfo
std::string getReleaseVersion()
static std::string join(char **cmd)
MonitorElement * nUpdates_
These MEs are either static or updated upon each analyze() call.
MonitorElement * bookInt(TString const &name, FUNC onbooking=NOOP())
MonitorElement * processEventRate_
Time elapsed since the last event.
Timestamp const & beginTime() const
MonitorElement * dqmPatch_
GlobalTag name.
MonitorElement * errSummarySegment_[10]
Subdetector-specific etaPhi summary (float)
MonitorElement * processTimeStamp_
The UTC time of the first event processed.
static double stampToReal(edm::Timestamp time)
std::string subsystemname_
void analyzeProvInfo(const edm::Event &e)