CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes
DQMEventInfo Class Reference
Inheritance diagram for DQMEventInfo:
DQMOneEDAnalyzer<> edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::Accumulator, Args... > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 DQMEventInfo (const edm::ParameterSet &ps)
 Constructor. More...
 
 ~DQMEventInfo () override=default
 Destructor. More...
 
- Public Member Functions inherited from DQMOneEDAnalyzer<>
void accumulate (edm::Event const &event, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
 DQMOneEDAnalyzer ()
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::Accumulator, Args... >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const noexcept final
 
bool wantsGlobalRuns () const noexcept final
 
bool wantsInputProcessBlocks () const noexcept final
 
bool wantsProcessBlocks () const noexcept final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const noexcept
 
bool wantsStreamRuns () const noexcept
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c) override
 Analyze. More...
 
void analyzeProvInfo (const edm::Event &e)
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
- Protected Member Functions inherited from DQMOneEDAnalyzer<>
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
- Protected Member Functions inherited from edm::ProducerBase
template<Transition Tr = Transition::Event>
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
template<Transition Tr = Transition::Event>
auto produces () noexcept
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

Private Attributes

MonitorElementcmsswVer_
 Current working directory of the job. More...
 
double currentTime_
 
MonitorElementdqmPatch_
 GlobalTag name. More...
 
MonitorElementerrSummary_
 DQM patch version for this job. More...
 
MonitorElementerrSummaryEtaPhi_
 Subdetector-specific error summary (float) More...
 
MonitorElementerrSummarySegment_ [10]
 Subdetector-specific etaPhi summary (float) More...
 
MonitorElementeventId_
 UTC time of the run start. More...
 
std::string eventInfoFolder_
 
MonitorElementeventTimeStamp_
 
int64_t evtRateCount_
 
double evtRateWindow_
 
std::string globalTag_
 
bool globalTagRetrieved_
 
MonitorElementhostName_
 

of event processed so far

More...
 
double lastAvgTime_
 
double lastUpdateTime_
 
MonitorElementlumisecId_
 
MonitorElementnUpdates_
 These MEs are either static or updated upon each analyze() call. More...
 
int64_t pEvent_
 
MonitorElementprocessEventRate_
 Time elapsed since the last event. More...
 
MonitorElementprocessEvents_
 Avg # of events in programmable window (default: 5 min) More...
 
MonitorElementprocessId_
 Number of collector updates (TBD) More...
 
MonitorElementprocessLatency_
 The UTC time of the last event. More...
 
MonitorElementprocessName_
 Hostname of the local machine. More...
 
MonitorElementprocessStartTimeStamp_
 The PID associated with this job. More...
 
MonitorElementprocessTimeStamp_
 The UTC time of the first event processed. More...
 
MonitorElementrunId_
 
double runStartTime_
 
MonitorElementrunStartTimeStamp_
 
bool showHLTGlobalTag_
 
std::string subsystemname_
 
MonitorElementversGlobaltag_
 CMSSW version run for this job. More...
 
MonitorElementworkingDir_
 DQM "name" of the job (eg, Hcal or DT) More...
 

Additional Inherited Members

- Public Types inherited from DQMOneEDAnalyzer<>
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
template<typename T >
using BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T >
 
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Attributes inherited from DQMOneEDAnalyzer<>
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 34 of file DQMEventInfo.cc.

Constructor & Destructor Documentation

◆ DQMEventInfo()

DQMEventInfo::DQMEventInfo ( const edm::ParameterSet ps)

Constructor.

Definition at line 101 of file DQMEventInfo.cc.

References currentTime_, eventInfoFolder_, evtRateCount_, evtRateWindow_, printsummarytable::folder, edm::ParameterSet::getUntrackedParameter(), globalTag_, globalTagRetrieved_, lastAvgTime_, submitPVValidationJobs::now, pEvent_, showHLTGlobalTag_, stampToReal(), AlCaHLTBitMon_QueryRunRegistry::string, and subsystemname_.

101  {
102  struct timeval now;
103  gettimeofday(&now, nullptr);
104 
105  pEvent_ = 0;
106  evtRateCount_ = 0;
108 
109  // read config parms
110  showHLTGlobalTag_ = ps.getUntrackedParameter<bool>("showHLTGlobalTag", false);
111  std::string folder = ps.getUntrackedParameter<std::string>("eventInfoFolder", "EventInfo");
112  subsystemname_ = ps.getUntrackedParameter<std::string>("subSystemFolder", "YourSubsystem");
113 
115  evtRateWindow_ = ps.getUntrackedParameter<double>("eventRateWindow", 0.5);
116  if (evtRateWindow_ <= 0.15)
117  evtRateWindow_ = 0.15;
118 
119  // Initialization of the global tag
120  globalTag_ = "MODULE::DEFAULT"; // default
121  globalTagRetrieved_ = false; // set as soon as retrieved from first event
122 }
double evtRateWindow_
Definition: DQMEventInfo.cc:60
double currentTime_
Definition: DQMEventInfo.cc:58
bool globalTagRetrieved_
Definition: DQMEventInfo.cc:52
int64_t pEvent_
Definition: DQMEventInfo.cc:62
T getUntrackedParameter(std::string const &, T const &) const
std::string globalTag_
Definition: DQMEventInfo.cc:51
std::string eventInfoFolder_
Definition: DQMEventInfo.cc:55
double lastAvgTime_
Definition: DQMEventInfo.cc:58
int64_t evtRateCount_
Definition: DQMEventInfo.cc:61
static double stampToReal(edm::Timestamp time)
Definition: DQMEventInfo.cc:95
std::string subsystemname_
Definition: DQMEventInfo.cc:56
bool showHLTGlobalTag_
Definition: DQMEventInfo.cc:53

◆ ~DQMEventInfo()

DQMEventInfo::~DQMEventInfo ( )
overridedefault

Destructor.

Member Function Documentation

◆ analyze()

void DQMEventInfo::analyze ( const edm::Event e,
const edm::EventSetup c 
)
overrideprotectedvirtual

Analyze.

Reimplemented from DQMOneEDAnalyzer<>.

Definition at line 202 of file DQMEventInfo.cc.

References analyzeProvInfo(), currentTime_, dumpMFGeometry_cfg::delta, MillePedeFileConverter_cfg::e, eventId_, eventTimeStamp_, evtRateCount_, evtRateWindow_, dqm::impl::MonitorElement::Fill(), lastAvgTime_, lastUpdateTime_, lumisecId_, submitPVValidationJobs::now, pEvent_, processEventRate_, processEvents_, processLatency_, processTimeStamp_, and stampToReal().

202  {
203  //Filling lumi here guarantees that the lumi number corresponds to the event when
204  // using multiple concurrent lumis in a job
205  lumisecId_->Fill(e.id().luminosityBlock());
206  eventId_->Fill(e.id().event()); // Handing edm::EventNumber_t to Fill method which will handle further casting
207  eventTimeStamp_->Fill(stampToReal(e.time()));
208 
209  pEvent_++;
210  evtRateCount_++;
212 
213  struct timeval now;
214  gettimeofday(&now, nullptr);
217 
220 
221  double delta = currentTime_ - lastAvgTime_;
222  if (delta >= (evtRateWindow_ * 60.0)) {
224  evtRateCount_ = 0;
226  }
227 
229 
230  return;
231 }
double evtRateWindow_
Definition: DQMEventInfo.cc:60
double currentTime_
Definition: DQMEventInfo.cc:58
double lastUpdateTime_
Definition: DQMEventInfo.cc:58
MonitorElement * eventTimeStamp_
Definition: DQMEventInfo.cc:72
int64_t pEvent_
Definition: DQMEventInfo.cc:62
void Fill(long long x)
MonitorElement * eventId_
UTC time of the run start.
Definition: DQMEventInfo.cc:70
MonitorElement * lumisecId_
Definition: DQMEventInfo.cc:71
double lastAvgTime_
Definition: DQMEventInfo.cc:58
MonitorElement * processEvents_
Avg # of events in programmable window (default: 5 min)
Definition: DQMEventInfo.cc:83
MonitorElement * processLatency_
The UTC time of the last event.
Definition: DQMEventInfo.cc:81
int64_t evtRateCount_
Definition: DQMEventInfo.cc:61
MonitorElement * processEventRate_
Time elapsed since the last event.
Definition: DQMEventInfo.cc:82
MonitorElement * processTimeStamp_
The UTC time of the first event processed.
Definition: DQMEventInfo.cc:80
static double stampToReal(edm::Timestamp time)
Definition: DQMEventInfo.cc:95
void analyzeProvInfo(const edm::Event &e)

◆ analyzeProvInfo()

void DQMEventInfo::analyzeProvInfo ( const edm::Event e)
protected

Definition at line 233 of file DQMEventInfo.cc.

References edm::ParameterSet::exists(), dqm::impl::MonitorElement::Fill(), edm::ParameterSet::getParameter(), edm::ParameterSet::getParameterSet(), globalTag_, globalTagRetrieved_, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, AlCaHLTBitMon_ParallelJobs::p, SimL1EmulatorRepack_CalouGT_cff::processName, showHLTGlobalTag_, AlCaHLTBitMon_QueryRunRegistry::string, and versGlobaltag_.

Referenced by analyze().

233  {
234  // Only trying to retrieve the global tag for the first event we ever
235  // encounter.
236  if (!globalTagRetrieved_) {
237  // Initialize processName to an empty string
239 
240  if (showHLTGlobalTag_) {
241  // Getting all process names
242  std::vector<std::string> pnames;
243  for (const auto& p : event.processHistory()) {
244  pnames.push_back(p.processName());
245  }
246 
247  // Iterate through the process names in reverse to find the last one that contains "HLT"
248  for (auto it = pnames.rbegin(); it != pnames.rend(); ++it) {
249  if (it->find("HLT") != std::string::npos) {
250  processName = *it;
251  break; // Exit the loop once the last matching process name is found
252  }
253  }
254 
255  // Print the process name containing "HLT"
256  if (processName.empty()) {
257  edm::LogError("DQMEventInfo") << "Could not find any processName containing 'HLT' even if 'showHLTGlobalTag' "
258  "was chosen.\n Falling back to current processing!"
259  << std::endl;
260  processName = event.processHistory()[event.processHistory().size() - 1].processName();
261  }
262  } else {
263  processName = event.processHistory()[event.processHistory().size() - 1].processName();
264  }
265 
266  // Getting parameters for that process
268  event.getProcessParameterSet(processName, ps);
269 
270  // Check if the 'PoolDBESSource@GlobalTag' ParameterSet exists
271  if (ps.exists("PoolDBESSource@GlobalTag")) {
272  // Getting the global tag
273  globalTag_ = ps.getParameterSet("PoolDBESSource@GlobalTag").getParameter<std::string>("globaltag");
274  } else {
275  // Handle the case where 'PoolDBESSource@GlobalTag' is missing
276  // You can set a default value or take some other action
277  edm::LogInfo("Configuration") << "ParameterSet 'PoolDBESSource@GlobalTag' not found. Using default global tag.";
278  }
279 
281  // Finaly: Setting globalTagRetrieved_ to true, since we got it now
282  globalTagRetrieved_ = true;
283  }
284 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
bool globalTagRetrieved_
Definition: DQMEventInfo.cc:52
bool exists(std::string const &parameterName) const
checks if a parameter exists
ParameterSet const & getParameterSet(std::string const &) const
Log< level::Error, false > LogError
void Fill(long long x)
std::string globalTag_
Definition: DQMEventInfo.cc:51
MonitorElement * versGlobaltag_
CMSSW version run for this job.
Definition: DQMEventInfo.cc:88
Log< level::Info, false > LogInfo
Definition: event.py:1
bool showHLTGlobalTag_
Definition: DQMEventInfo.cc:53

◆ bookHistograms()

void DQMEventInfo::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &   
)
overrideprotectedvirtual

Implements DQMOneEDAnalyzer<>.

Definition at line 124 of file DQMEventInfo.cc.

References edm::RunBase::beginTime(), dqm::implementation::IBooker::bookFloat(), dqm::implementation::IBooker::bookInt(), dqm::implementation::IBooker::bookString(), cmsswVer_, currentTime_, makeHLTPrescaleTable::delimiter, eventId_, eventInfoFolder_, eventTimeStamp_, dqm::impl::MonitorElement::Fill(), free(), edm::ParameterSet::getParameter(), edm::ParameterSet::getParameterSet(), edm::getProcessParameterSetContainingModule(), edm::getReleaseVersion(), edm::ParameterSet::getUntrackedParameter(), globalTag_, hostName_, edm::RunBase::id(), join(), lumisecId_, edm::one::EDProducerBase::moduleDescription(), nUpdates_, pEvent_, processEventRate_, processEvents_, processId_, processLatency_, processName_, processStartTimeStamp_, processTimeStamp_, alignCSCRings::pwd, edm::RunID::run(), runId_, runStartTimeStamp_, alignCSCRings::s, dqm::implementation::NavigatorBase::setCurrentFolder(), stampToReal(), AlCaHLTBitMon_QueryRunRegistry::string, subsystemname_, versGlobaltag_, and workingDir_.

126  {
128 
129  //Event specific contents
130  runId_ = ibooker.bookInt("iRun");
131  runId_->Fill(iRun.id().run());
132  lumisecId_ = ibooker.bookInt("iLumiSection");
133  lumisecId_->Fill(-1);
134  eventId_ = ibooker.bookInt("iEvent");
135  eventId_->Fill(-1);
136  eventTimeStamp_ = ibooker.bookFloat("eventTimeStamp");
137 
139  //Process specific contents
140  processTimeStamp_ = ibooker.bookFloat("processTimeStamp");
142  processLatency_ = ibooker.bookFloat("processLatency");
143  processTimeStamp_->Fill(-1);
144  processEvents_ = ibooker.bookInt("processedEvents");
146  processEventRate_ = ibooker.bookFloat("processEventRate");
147  processEventRate_->Fill(-1);
148  nUpdates_ = ibooker.bookInt("processUpdates");
149  nUpdates_->Fill(-1);
150 
151  //Static Contents
152  processId_ = ibooker.bookInt("processID");
153  processId_->Fill(getpid());
154  processStartTimeStamp_ = ibooker.bookFloat("processStartTimeStamp");
156  runStartTimeStamp_ = ibooker.bookFloat("runStartTimeStamp");
157  runStartTimeStamp_->Fill(stampToReal(iRun.beginTime()));
158  char hostname[65];
159  gethostname(hostname, 64);
160  hostname[64] = 0;
161  hostName_ = ibooker.bookString("hostName", hostname);
162  processName_ = ibooker.bookString("processName", subsystemname_);
163  char* pwd = getcwd(nullptr, 0);
164  workingDir_ = ibooker.bookString("workingDir", pwd);
165  free(pwd);
166  cmsswVer_ = ibooker.bookString("CMSSW_Version", edm::getReleaseVersion());
167 
168  // Element: Globaltag
169  versGlobaltag_ = ibooker.bookString("Globaltag", globalTag_);
170 
171  // Folder to be populated by sub-systems' code
172  std::string subfolder = eventInfoFolder_ + "/reportSummaryContents";
173  ibooker.setCurrentFolder(subfolder);
174 
175  //Online static histograms
176  const edm::ParameterSet& sourcePSet =
178 
179  if (sourcePSet.getParameter<std::string>("@module_type") == "DQMStreamerReader") {
180  std::string evSelection;
181  std::vector<std::string> evSelectionList;
182  std::string delimiter(", ");
183  evSelectionList = sourcePSet.getUntrackedParameter<std::vector<std::string> >("SelectEvents");
184  // add single quotes inline in the vector of HLT paths:
185  // we do copy assignment, and getUntrackedParameter returns
186  // a by-value copy of the vector of strings
187  std::for_each(evSelectionList.begin(), evSelectionList.end(), [](std::string& s) {
188  std::string squote("'");
189  s = squote + s + squote;
190  });
191  evSelection = boost::algorithm::join(evSelectionList, delimiter);
192  // if no HLT paths are specified, no selections are performed:
193  // we mark this with an asterisk.
194  if (evSelection.empty()) {
195  evSelection = std::string("'*'");
196  }
198  ibooker.bookString("eventSelection", evSelection);
199  }
200 }
double currentTime_
Definition: DQMEventInfo.cc:58
MonitorElement * hostName_
of event processed so far
Definition: DQMEventInfo.cc:84
MonitorElement * workingDir_
DQM "name" of the job (eg, Hcal or DT)
Definition: DQMEventInfo.cc:86
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
MonitorElement * bookFloat(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:80
MonitorElement * eventTimeStamp_
Definition: DQMEventInfo.cc:72
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
ModuleDescription const & moduleDescription() const
MonitorElement * processId_
Number of collector updates (TBD)
Definition: DQMEventInfo.cc:78
MonitorElement * processStartTimeStamp_
The PID associated with this job.
Definition: DQMEventInfo.cc:79
ParameterSet const & getParameterSet(std::string const &) const
int64_t pEvent_
Definition: DQMEventInfo.cc:62
MonitorElement * bookString(TString const &name, TString const &value, FUNC onbooking=NOOP())
Definition: DQMStore.h:87
T getUntrackedParameter(std::string const &, T const &) const
void Fill(long long x)
MonitorElement * cmsswVer_
Current working directory of the job.
Definition: DQMEventInfo.cc:87
void free(void *ptr) noexcept
std::string globalTag_
Definition: DQMEventInfo.cc:51
MonitorElement * eventId_
UTC time of the run start.
Definition: DQMEventInfo.cc:70
std::string eventInfoFolder_
Definition: DQMEventInfo.cc:55
MonitorElement * lumisecId_
Definition: DQMEventInfo.cc:71
MonitorElement * versGlobaltag_
CMSSW version run for this job.
Definition: DQMEventInfo.cc:88
MonitorElement * runStartTimeStamp_
Definition: DQMEventInfo.cc:69
MonitorElement * processEvents_
Avg # of events in programmable window (default: 5 min)
Definition: DQMEventInfo.cc:83
MonitorElement * processLatency_
The UTC time of the last event.
Definition: DQMEventInfo.cc:81
MonitorElement * processName_
Hostname of the local machine.
Definition: DQMEventInfo.cc:85
ParameterSet const & getProcessParameterSetContainingModule(ModuleDescription const &moduleDescription)
std::string getReleaseVersion()
MonitorElement * runId_
Definition: DQMEventInfo.cc:68
static std::string join(char **cmd)
Definition: RemoteFile.cc:21
MonitorElement * nUpdates_
These MEs are either static or updated upon each analyze() call.
Definition: DQMEventInfo.cc:77
MonitorElement * bookInt(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:73
MonitorElement * processEventRate_
Time elapsed since the last event.
Definition: DQMEventInfo.cc:82
MonitorElement * processTimeStamp_
The UTC time of the first event processed.
Definition: DQMEventInfo.cc:80
static double stampToReal(edm::Timestamp time)
Definition: DQMEventInfo.cc:95
std::string subsystemname_
Definition: DQMEventInfo.cc:56

◆ fillDescriptions()

void DQMEventInfo::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 286 of file DQMEventInfo.cc.

References edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, and AlCaHLTBitMon_QueryRunRegistry::string.

286  {
288  desc.addUntracked<bool>("showHLTGlobalTag", false);
289  desc.addUntracked<std::string>("eventInfoFolder", "EventInfo");
290  desc.addUntracked<std::string>("subSystemFolder", "YourSubsystem");
291  desc.addUntracked<double>("eventRateWindow", 0.5);
292  descriptions.addWithDefaultLabel(desc);
293 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)

Member Data Documentation

◆ cmsswVer_

MonitorElement* DQMEventInfo::cmsswVer_
private

Current working directory of the job.

Definition at line 87 of file DQMEventInfo.cc.

Referenced by bookHistograms().

◆ currentTime_

double DQMEventInfo::currentTime_
private

Definition at line 58 of file DQMEventInfo.cc.

Referenced by analyze(), bookHistograms(), and DQMEventInfo().

◆ dqmPatch_

MonitorElement* DQMEventInfo::dqmPatch_
private

GlobalTag name.

Definition at line 89 of file DQMEventInfo.cc.

◆ errSummary_

MonitorElement* DQMEventInfo::errSummary_
private

DQM patch version for this job.

Definition at line 90 of file DQMEventInfo.cc.

◆ errSummaryEtaPhi_

MonitorElement* DQMEventInfo::errSummaryEtaPhi_
private

Subdetector-specific error summary (float)

Definition at line 91 of file DQMEventInfo.cc.

◆ errSummarySegment_

MonitorElement* DQMEventInfo::errSummarySegment_[10]
private

Subdetector-specific etaPhi summary (float)

Definition at line 92 of file DQMEventInfo.cc.

◆ eventId_

MonitorElement* DQMEventInfo::eventId_
private

UTC time of the run start.

Definition at line 70 of file DQMEventInfo.cc.

Referenced by analyze(), and bookHistograms().

◆ eventInfoFolder_

std::string DQMEventInfo::eventInfoFolder_
private

Definition at line 55 of file DQMEventInfo.cc.

Referenced by bookHistograms(), and DQMEventInfo().

◆ eventTimeStamp_

MonitorElement* DQMEventInfo::eventTimeStamp_
private

Definition at line 72 of file DQMEventInfo.cc.

Referenced by analyze(), and bookHistograms().

◆ evtRateCount_

int64_t DQMEventInfo::evtRateCount_
private

Definition at line 61 of file DQMEventInfo.cc.

Referenced by analyze(), and DQMEventInfo().

◆ evtRateWindow_

double DQMEventInfo::evtRateWindow_
private

Definition at line 60 of file DQMEventInfo.cc.

Referenced by analyze(), and DQMEventInfo().

◆ globalTag_

std::string DQMEventInfo::globalTag_
private

Definition at line 51 of file DQMEventInfo.cc.

Referenced by analyzeProvInfo(), bookHistograms(), and DQMEventInfo().

◆ globalTagRetrieved_

bool DQMEventInfo::globalTagRetrieved_
private

Definition at line 52 of file DQMEventInfo.cc.

Referenced by analyzeProvInfo(), and DQMEventInfo().

◆ hostName_

MonitorElement* DQMEventInfo::hostName_
private

of event processed so far

Definition at line 84 of file DQMEventInfo.cc.

Referenced by bookHistograms().

◆ lastAvgTime_

double DQMEventInfo::lastAvgTime_
private

Definition at line 58 of file DQMEventInfo.cc.

Referenced by analyze(), and DQMEventInfo().

◆ lastUpdateTime_

double DQMEventInfo::lastUpdateTime_
private

Definition at line 58 of file DQMEventInfo.cc.

Referenced by analyze().

◆ lumisecId_

MonitorElement* DQMEventInfo::lumisecId_
private

Definition at line 71 of file DQMEventInfo.cc.

Referenced by analyze(), and bookHistograms().

◆ nUpdates_

MonitorElement* DQMEventInfo::nUpdates_
private

These MEs are either static or updated upon each analyze() call.

Definition at line 77 of file DQMEventInfo.cc.

Referenced by bookHistograms().

◆ pEvent_

int64_t DQMEventInfo::pEvent_
private

Definition at line 62 of file DQMEventInfo.cc.

Referenced by analyze(), bookHistograms(), and DQMEventInfo().

◆ processEventRate_

MonitorElement* DQMEventInfo::processEventRate_
private

Time elapsed since the last event.

Definition at line 82 of file DQMEventInfo.cc.

Referenced by analyze(), and bookHistograms().

◆ processEvents_

MonitorElement* DQMEventInfo::processEvents_
private

Avg # of events in programmable window (default: 5 min)

Definition at line 83 of file DQMEventInfo.cc.

Referenced by analyze(), and bookHistograms().

◆ processId_

MonitorElement* DQMEventInfo::processId_
private

Number of collector updates (TBD)

Definition at line 78 of file DQMEventInfo.cc.

Referenced by bookHistograms().

◆ processLatency_

MonitorElement* DQMEventInfo::processLatency_
private

The UTC time of the last event.

Definition at line 81 of file DQMEventInfo.cc.

Referenced by analyze(), and bookHistograms().

◆ processName_

MonitorElement* DQMEventInfo::processName_
private

Hostname of the local machine.

Definition at line 85 of file DQMEventInfo.cc.

Referenced by bookHistograms().

◆ processStartTimeStamp_

MonitorElement* DQMEventInfo::processStartTimeStamp_
private

The PID associated with this job.

Definition at line 79 of file DQMEventInfo.cc.

Referenced by bookHistograms().

◆ processTimeStamp_

MonitorElement* DQMEventInfo::processTimeStamp_
private

The UTC time of the first event processed.

Definition at line 80 of file DQMEventInfo.cc.

Referenced by analyze(), and bookHistograms().

◆ runId_

MonitorElement* DQMEventInfo::runId_
private

These MEs are filled with the info from the most recent event by the module

Definition at line 68 of file DQMEventInfo.cc.

Referenced by bookHistograms().

◆ runStartTime_

double DQMEventInfo::runStartTime_
private

Definition at line 59 of file DQMEventInfo.cc.

◆ runStartTimeStamp_

MonitorElement* DQMEventInfo::runStartTimeStamp_
private

Definition at line 69 of file DQMEventInfo.cc.

Referenced by bookHistograms().

◆ showHLTGlobalTag_

bool DQMEventInfo::showHLTGlobalTag_
private

Definition at line 53 of file DQMEventInfo.cc.

Referenced by analyzeProvInfo(), and DQMEventInfo().

◆ subsystemname_

std::string DQMEventInfo::subsystemname_
private

Definition at line 56 of file DQMEventInfo.cc.

Referenced by bookHistograms(), and DQMEventInfo().

◆ versGlobaltag_

MonitorElement* DQMEventInfo::versGlobaltag_
private

CMSSW version run for this job.

Definition at line 88 of file DQMEventInfo.cc.

Referenced by analyzeProvInfo(), and bookHistograms().

◆ workingDir_

MonitorElement* DQMEventInfo::workingDir_
private

DQM "name" of the job (eg, Hcal or DT)

Definition at line 86 of file DQMEventInfo.cc.

Referenced by bookHistograms().