CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
LogMessageMonitor Class Reference

#include <DQM/LogMonitor/src/LogMessageMonitor.cc>

Inheritance diagram for LogMessageMonitor:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 LogMessageMonitor (const edm::ParameterSet &)
 
 ~LogMessageMonitor ()
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Static Public Member Functions

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

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob ()
 
virtual void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void beginRun (edm::Run const &, edm::EventSetup const &)
 
virtual void endJob ()
 
virtual void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void endRun (edm::Run const &, edm::EventSetup const &)
 

Private Attributes

std::vector< std::string > categories_vector_
 
MonitorElementCategoriesVsModules
 
edm::ParameterSet conf_
 
bool doPUmonitoring_
 
bool doWarningsPlots_
 
DQMStoredqmStore_
 
edm::EDGetTokenT< std::vector
< edm::ErrorSummaryEntry > > 
errorToken_
 
GenericTriggerEventFlaggenTriggerEventFlag_
 
std::string histname
 
GetLumilumiDetails_
 
std::vector< std::string > modules_vector_
 
std::vector< MonitorElement * > ModulesErrorsVsBXlumi
 
std::map< std::string, int > modulesMap
 
std::vector< MonitorElement * > ModulesWarningsVsBXlumi
 
std::string pluginsMonName_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
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 ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
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)
 

Detailed Description

Description: [one line class summary]

Implementation: [Notes on implementation]

Description: [one line class summary] from https://twiki.cern.ch/twiki/bin/view/CMS/TrackingPOGFilters#Filters Events with (partly) aborted track reconstruction The track reconstruction code is protected against events with too large occupancy which can cause an excessive use of CPU time and memory. Each iteration of the track reconstruction can be aborted if:

ELSeverityLevel

http://cmssdt.cern.ch/SDT/lxr/source/FWCore/MessageLogger/interface/ELseverityLevel.h?v=CMSSW_5_3_4 108 enum ELsev_ { 109 ELsev_noValueAssigned = 0 // default returned by map when not found 110 , ELsev_zeroSeverity // threshold use only 111 , ELsev_incidental // flash this on a screen 112 , ELsev_success // report reaching a milestone 113 , ELsev_info // information 114 , ELsev_warning // warning 115 , ELsev_warning2 // more serious warning 116 , ELsev_error // error detected 117 , ELsev_error2 // more serious error 118 , ELsev_next // advise to skip to next event 119 , ELsev_unspecified // severity was not specified 120 , ELsev_severe // future results are suspect 121 , ELsev_severe2 // more severe 122 , ELsev_abort // suggest aborting 123 , ELsev_fatal // strongly suggest aborting! 124 , ELsev_highestSeverity // threshold use only 125 // --— 126 , nLevels // how many levels? 127 }; // ELsev_

Implementation: [Notes on implementation]

Definition at line 52 of file LogMessageMonitor.h.

Constructor & Destructor Documentation

LogMessageMonitor::LogMessageMonitor ( const edm::ParameterSet iConfig)
explicit

Definition at line 79 of file LogMessageMonitor.cc.

References trackerHits::c, edm::EDConsumerBase::consumesCollector(), errorToken_, genTriggerEventFlag_, edm::ParameterSet::getParameter(), and lumiDetails_.

81  , conf_ ( iConfig )
82  , pluginsMonName_ ( iConfig.getParameter<std::string> ("pluginsMonName") )
83  , modules_vector_ ( iConfig.getParameter<std::vector<std::string> >("modules") )
84  , categories_vector_ ( iConfig.getParameter<std::vector<std::string> >("categories") )
85  , doWarningsPlots_ ( iConfig.getParameter<bool> ("doWarningsPlots") )
86  , doPUmonitoring_ ( iConfig.getParameter<bool> ("doPUmonitoring") )
87 {
88 
89  errorToken_ = consumes<std::vector<edm::ErrorSummaryEntry> >(edm::InputTag("logErrorHarvester") );
90 
92  //now do what ever initialization is needed
93  lumiDetails_ = new GetLumi( iConfig.getParameter<edm::ParameterSet>("BXlumiSetup"), c );
95 }
T getParameter(std::string const &) const
std::vector< std::string > categories_vector_
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
edm::ParameterSet conf_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
edm::EDGetTokenT< std::vector< edm::ErrorSummaryEntry > > errorToken_
GenericTriggerEventFlag * genTriggerEventFlag_
std::vector< std::string > modules_vector_
std::string pluginsMonName_
LogMessageMonitor::~LogMessageMonitor ( )

Definition at line 98 of file LogMessageMonitor.cc.

References genTriggerEventFlag_.

99 {
100 
101  // do anything here that needs to be done at desctruction time
102  // (e.g. close files, deallocate resources etc.)
103  // if ( lumiDetails_ ) delete lumiDetails_;
105 
106 }
GenericTriggerEventFlag * genTriggerEventFlag_

Member Function Documentation

void LogMessageMonitor::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
privatevirtual

Implements edm::EDAnalyzer.

Definition at line 115 of file LogMessageMonitor.cc.

References GenericTriggerEventFlag::accept(), categories_vector_, CategoriesVsModules, python.rootplot.argparse::category, prof2calltree::count, doPUmonitoring_, doWarningsPlots_, edm::ELseverityLevel::ELsev_error, benchmark_cfg::errors, errorToken_, HcalObjRepresent::Fill(), genTriggerEventFlag_, edm::Event::getByToken(), MonitorElement::getTH1(), GetLumi::getValue(), i, edm::HandleBase::isValid(), lumiDetails_, ModulesErrorsVsBXlumi, modulesMap, ModulesWarningsVsBXlumi, n, GenericTriggerEventFlag::on(), alignCSCRings::s, and AlCaHLTBitMon_QueryRunRegistry::string.

116 {
117 
118  // Filter out events if Trigger Filtering is requested
119  if (genTriggerEventFlag_->on()&& ! genTriggerEventFlag_->accept( iEvent, iSetup) ) return;
120 
121  double BXlumi = -1.;
122  if ( doPUmonitoring_ )
123  lumiDetails_->getValue(iEvent);
124 
125  // Take the ErrorSummaryEntry container
127  // iEvent.getByLabel("logErrorHarvester",errors);
128  iEvent.getByToken(errorToken_,errors);
129  // Check that errors is valid
130  if(!errors.isValid()) return;
131  // Compare severity level of error with ELseveritylevel instance el : "-e" should be the lowest error
132  edm::ELseverityLevel el("-e");
133 
134  // Find the total number of errors in iEvent
135  if(errors->size()==0){
136  if ( doPUmonitoring_ ) {
137  for(size_t i = 0; i < modulesMap.size(); i++) {
138  ModulesErrorsVsBXlumi[i] -> Fill(BXlumi,0.);
139  if ( doWarningsPlots_ )
140  ModulesWarningsVsBXlumi[i] -> Fill(BXlumi,0.);
141  }
142  }
143  } else {
144 
145  size_t nCategories = categories_vector_.size();
146 
147  for( size_t i = 0, n = errors->size(); i < n ; i++){
148 
149  // std::cout << "LogMessageMonitor::analyze] Severity for error/warning: " << (*errors)[i].severity << " " <<(*errors)[i].module << std::endl;
150  // remove the first part of the module string, what is before ":"
151  std::string s = (*errors)[i].module;
152  size_t pos = s.find(':');
153  std::string s_module = s.substr(pos+1,s.size());
154  std::map<std::string,int>::const_iterator it = modulesMap.find(s_module);
155  if (it!=modulesMap.end()){
156  // std::cout << "LogMessageMonitor::analyze] it: " << " --> " << s_module << std::endl;
157 
158  // IF THIS IS AN ERROR on the ELseverityLevel SCALE, FILL ERROR HISTS
159  if((*errors)[i].severity.getLevel() >= edm::ELseverityLevel::ELsev_error) {
160  if ( doPUmonitoring_ )
161  ModulesErrorsVsBXlumi[it->second]->Fill (BXlumi, (*errors)[i].count);
162 
163  // loop over the different categories of errors
164  // defined by configuration file
165  // if the category is not in the given list
166  // it fills the bin "others"
167  TString module = it->first;
168  TString category = (*errors)[i].category;
169  int ibinX = CategoriesVsModules->getTH1()->GetXaxis()->FindBin(module);
170  int ibinY = CategoriesVsModules->getTH1()->GetYaxis()->FindBin(category);
171  /*
172  std::cout << "LogMessageMonitor::analyze] ibinX: " << ibinX << " it->second: " << it->second << " it->first: " << it->first << std::endl;
173  std::cout << "LogMessageMonitor::analyze] ibinY: " << ibinY << " (*errors)[i].category: " << (*errors)[i].category << std::endl;
174  size_t nbinsX = CategoriesVsModules->getTH1()->GetNbinsX();
175  for (size_t bin = 1; bin<=nbinsX; bin++) {
176  std::cout << "binX" << bin << ": " << CategoriesVsModules->getTH1()->GetXaxis()->GetBinLabel(bin) << std::endl;
177  }
178  size_t nbinsY = CategoriesVsModules->getTH1()->GetNbinsY();
179  for (size_t bin = 1; bin<=nbinsY; bin++) {
180  std::cout << "binY" << bin << ": " << CategoriesVsModules->getTH1()->GetYaxis()->GetBinLabel(bin) << std::endl;
181  }
182  */
183  if ( ibinY>0 ) {
184  int ncount = CategoriesVsModules->getTH1()->GetBinContent(ibinX,ibinY)+1;
185  CategoriesVsModules->getTH1()->SetBinContent(ibinX,ibinY,ncount);
186  } else {
187  int ncount = CategoriesVsModules->getTH1()->GetBinContent(ibinX,nCategories)+1;
188  CategoriesVsModules->getTH1()->SetBinContent(ibinX,nCategories,ncount);
189  }
190  } else {
191  // IF ONLY WARNING, FILL WARNING HISTS
192  if ( doWarningsPlots_ )
193  if ( doPUmonitoring_ )
194  ModulesWarningsVsBXlumi[it->second]->Fill(BXlumi, (*errors)[i].count);
195  }
196  }
197  }
198  }
199 }
int i
Definition: DBlmapReader.cc:9
MonitorElement * CategoriesVsModules
std::vector< std::string > categories_vector_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:434
std::vector< MonitorElement * > ModulesWarningsVsBXlumi
std::map< std::string, int > modulesMap
std::vector< MonitorElement * > ModulesErrorsVsBXlumi
double getValue(const edm::Event &)
Definition: GetLumi.cc:65
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
bool accept(const edm::Event &event, const edm::EventSetup &setup)
To be called from analyze/filter() methods.
TH1 * getTH1(void) const
edm::EDGetTokenT< std::vector< edm::ErrorSummaryEntry > > errorToken_
bool isValid() const
Definition: HandleBase.h:76
GenericTriggerEventFlag * genTriggerEventFlag_
Definition: vlib.h:208
void LogMessageMonitor::beginJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 204 of file LogMessageMonitor.cc.

References DQMStore::book2D(), DQMStore::bookProfile(), categories_vector_, CategoriesVsModules, conf_, doPUmonitoring_, doWarningsPlots_, dqmStore_, edm::ParameterSet::getParameter(), histname, i, modules_vector_, ModulesErrorsVsBXlumi, modulesMap, ModulesWarningsVsBXlumi, pluginsMonName_, MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

205 {
206  std::string MEFolderName = conf_.getParameter<std::string>("LogFolderName");
207 
208  dqmStore_->setCurrentFolder(MEFolderName);
209 
210  categories_vector_.push_back("others");
211  size_t nModules = modules_vector_.size();
212  size_t nCategories = categories_vector_.size();
213 
214  histname = pluginsMonName_+"ErrorsVsModules";
215  CategoriesVsModules = dqmStore_->book2D(histname, histname, nModules, 0., double(nModules), nCategories, 0., double(nCategories) );
216  CategoriesVsModules->setAxisTitle("modules",1);
217  for (size_t imodule = 0; imodule < nModules; imodule++)
218  CategoriesVsModules->setBinLabel(imodule+1,modules_vector_[imodule],1);
219  CategoriesVsModules->setAxisTitle("categories",2);
220  // CategoriesVsModules->getTH1()->GetXaxis()->LabelsOption("v");
221  for (size_t icategories = 0; icategories < nCategories; icategories++)
222  CategoriesVsModules->setBinLabel(icategories+1,categories_vector_[icategories],2);
223 
224  // MAKE MODULEMAP USING INPUT FROM CFG FILE
225  for (size_t i = 0; i < modules_vector_.size(); i++){
226  modulesMap.insert( std::pair<std::string,int>(modules_vector_[i],i) );
227  }
228 
229  if ( doPUmonitoring_ ) {
230  // BOOK THE HISTOGRAMS
231  // get binning from the configuration
232  edm::ParameterSet BXlumiParameters = conf_.getParameter<edm::ParameterSet>("BXlumiSetup");
233  int BXlumiBin = BXlumiParameters.getParameter<int>("BXlumiBin");
234  double BXlumiMin = BXlumiParameters.getParameter<double>("BXlumiMin");
235  double BXlumiMax = BXlumiParameters.getParameter<double>("BXlumiMax");
236 
237  size_t i = 0;
238  for(std::map<std::string,int>::const_iterator it = modulesMap.begin();
239  it != modulesMap.end(); ++it, i++){
240 
241  dqmStore_->setCurrentFolder(MEFolderName + "/PUmonitoring/Errors");
242 
243  histname = "errorsVsBXlumi_" + it->first;
244  ModulesErrorsVsBXlumi.push_back( dynamic_cast<MonitorElement*>(dqmStore_->bookProfile( histname, histname, BXlumiBin, BXlumiMin, BXlumiMax, 0.,100, "")) );
245  ModulesErrorsVsBXlumi[i] -> setAxisTitle("BXlumi [10^{30} Hz cm^{-2}]", 1);
246  ModulesErrorsVsBXlumi[i] -> setAxisTitle("Mean number of errors", 2);
247 
248  if ( doWarningsPlots_ ) {
249  dqmStore_->setCurrentFolder(MEFolderName + "/PUmonitoring/Warnings");
250 
251  histname = "warningVsBXlumi_" + it->first;
252  ModulesWarningsVsBXlumi.push_back( dynamic_cast<MonitorElement*>(dqmStore_->bookProfile( histname, histname, BXlumiBin, BXlumiMin, BXlumiMax, 0.,100, "")) );
253  ModulesWarningsVsBXlumi[i] -> setAxisTitle("BXlumi [10^{30} Hz cm^{-2}]", 1);
254  ModulesWarningsVsBXlumi[i] -> setAxisTitle("Mean number of warnings", 2);
255  }
256  }
257  }
258 
259 }
T getParameter(std::string const &) const
int i
Definition: DBlmapReader.cc:9
MonitorElement * CategoriesVsModules
std::vector< std::string > categories_vector_
std::vector< MonitorElement * > ModulesWarningsVsBXlumi
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
std::map< std::string, int > modulesMap
std::vector< MonitorElement * > ModulesErrorsVsBXlumi
edm::ParameterSet conf_
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:1186
std::vector< std::string > modules_vector_
std::string pluginsMonName_
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:1000
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:584
void LogMessageMonitor::beginLuminosityBlock ( edm::LuminosityBlock const &  ,
edm::EventSetup const &   
)
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 289 of file LogMessageMonitor.cc.

290 {
291 }
void LogMessageMonitor::beginRun ( edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 276 of file LogMessageMonitor.cc.

References genTriggerEventFlag_, GenericTriggerEventFlag::initRun(), and GenericTriggerEventFlag::on().

277 {
278  if ( genTriggerEventFlag_->on() ) genTriggerEventFlag_->initRun( iRun, iSetup );
279 }
GenericTriggerEventFlag * genTriggerEventFlag_
void initRun(const edm::Run &run, const edm::EventSetup &setup)
To be called from beginRun() methods.
void LogMessageMonitor::endJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 263 of file LogMessageMonitor.cc.

References conf_, dqmStore_, edm::ParameterSet::getParameter(), dumpDBToFile_GT_ttrig_cfg::outputFileName, DQMStore::save(), DQMStore::showDirStructure(), and AlCaHLTBitMon_QueryRunRegistry::string.

264 {
265  bool outputMEsInRootFile = conf_.getParameter<bool>("OutputMEsInRootFile");
267  if(outputMEsInRootFile)
268  {
270  dqmStore_->save(outputFileName);
271  }
272 }
T getParameter(std::string const &) const
edm::ParameterSet conf_
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", const uint32_t run=0, SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
Definition: DQMStore.cc:2296
void showDirStructure(void) const
Definition: DQMStore.cc:2961
void LogMessageMonitor::endLuminosityBlock ( edm::LuminosityBlock const &  ,
edm::EventSetup const &   
)
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 295 of file LogMessageMonitor.cc.

296 {
297 }
void LogMessageMonitor::endRun ( edm::Run const &  ,
edm::EventSetup const &   
)
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 283 of file LogMessageMonitor.cc.

284 {
285 }
void LogMessageMonitor::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 301 of file LogMessageMonitor.cc.

References edm::ConfigurationDescriptions::addDefault(), and edm::ParameterSetDescription::setUnknown().

301  {
302  //The following says we do not know what parameters are allowed so do no validation
303  // Please change this to state exactly what you do use, even if it is no parameters
305  desc.setUnknown();
306  descriptions.addDefault(desc);
307 }
void addDefault(ParameterSetDescription const &psetDescription)

Member Data Documentation

std::vector<std::string> LogMessageMonitor::categories_vector_
private

Definition at line 83 of file LogMessageMonitor.h.

Referenced by analyze(), and beginJob().

MonitorElement* LogMessageMonitor::CategoriesVsModules
private

Definition at line 92 of file LogMessageMonitor.h.

Referenced by analyze(), and beginJob().

edm::ParameterSet LogMessageMonitor::conf_
private

Definition at line 76 of file LogMessageMonitor.h.

Referenced by beginJob(), and endJob().

bool LogMessageMonitor::doPUmonitoring_
private

Definition at line 95 of file LogMessageMonitor.h.

Referenced by analyze(), and beginJob().

bool LogMessageMonitor::doWarningsPlots_
private

Definition at line 94 of file LogMessageMonitor.h.

Referenced by analyze(), and beginJob().

DQMStore* LogMessageMonitor::dqmStore_
private

Definition at line 75 of file LogMessageMonitor.h.

Referenced by beginJob(), and endJob().

edm::EDGetTokenT<std::vector<edm::ErrorSummaryEntry> > LogMessageMonitor::errorToken_
private

Definition at line 71 of file LogMessageMonitor.h.

Referenced by analyze(), and LogMessageMonitor().

GenericTriggerEventFlag* LogMessageMonitor::genTriggerEventFlag_
private

Definition at line 86 of file LogMessageMonitor.h.

Referenced by analyze(), beginRun(), LogMessageMonitor(), and ~LogMessageMonitor().

std::string LogMessageMonitor::histname
private

Definition at line 73 of file LogMessageMonitor.h.

Referenced by beginJob().

GetLumi* LogMessageMonitor::lumiDetails_
private

Definition at line 85 of file LogMessageMonitor.h.

Referenced by analyze(), and LogMessageMonitor().

std::vector<std::string> LogMessageMonitor::modules_vector_
private

Definition at line 82 of file LogMessageMonitor.h.

Referenced by beginJob().

std::vector<MonitorElement*> LogMessageMonitor::ModulesErrorsVsBXlumi
private

Definition at line 89 of file LogMessageMonitor.h.

Referenced by analyze(), and beginJob().

std::map<std::string,int> LogMessageMonitor::modulesMap
private

Definition at line 78 of file LogMessageMonitor.h.

Referenced by analyze(), and beginJob().

std::vector<MonitorElement*> LogMessageMonitor::ModulesWarningsVsBXlumi
private

Definition at line 90 of file LogMessageMonitor.h.

Referenced by analyze(), and beginJob().

std::string LogMessageMonitor::pluginsMonName_
private

Definition at line 81 of file LogMessageMonitor.h.

Referenced by beginJob().