CMS 3D CMS Logo

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

#include <HLTScalers.h>

Inheritance diagram for HLTScalers:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 
void beginJob (void)
 BeginJob. More...
 
void beginLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
 Begin LumiBlock. More...
 
void beginRun (const edm::Run &run, const edm::EventSetup &c)
 BeginRun. More...
 
void endLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
 
void endRun (const edm::Run &run, const edm::EventSetup &c)
 EndRun. More...
 
 HLTScalers (const edm::ParameterSet &ps)
 Constructors. More...
 
virtual ~HLTScalers ()
 Destructor. More...
 
- 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
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Attributes

int currentRun_
 
DQMStoredbe_
 
MonitorElementdetailedScalers_
 
MonitorElementdiagnostic_
 
std::string folderName_
 
MonitorElementhltBx_
 
MonitorElementhltBxVsPath_
 
HLTConfigProvider hltConfig_
 
MonitorElementhltCorrelations_
 
MonitorElementhltOverallScaler_
 
MonitorElementhltOverallScalerN_
 
bool monitorDaemon_
 
int nev_
 
int nLumi_
 
MonitorElementnLumiBlock_
 
MonitorElementnProc_
 
std::vector< std::pair
< std::string, std::vector
< std::string > > > 
pairPDPaths_
 
std::string processname_
 
bool resetMe_
 
MonitorElementscalers_
 
MonitorElementscalersException_
 
MonitorElementscalersN_
 
MonitorElementscalersPD_
 
bool sentPaths_
 
edm::EDGetTokenT
< edm::TriggerResults
trigResultsSource_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- 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

Definition at line 69 of file HLTScalers.h.

Constructor & Destructor Documentation

HLTScalers::HLTScalers ( const edm::ParameterSet ps)

Constructors.

Definition at line 83 of file HLTScalers.cc.

References dbe_, folderName_, LogDebug, cppFunctionSkipper::operator, DQMStore::setCurrentFolder(), and DQMStore::setVerbose().

83  :
84  folderName_(ps.getUntrackedParameter<std::string>("dqmFolder", "HLT/HLTScalers_EvF")),
85  processname_(ps.getParameter<std::string>("processname")),
86  pairPDPaths_(),
87  trigResultsSource_(consumes<TriggerResults>(ps.getParameter<edm::InputTag>("triggerResults"))),
88  dbe_(0),
89  scalersN_(0),
92  detailedScalers_(0),
93  nProc_(0),
94  nLumiBlock_(0),
95  hltBx_(0),
96  hltBxVsPath_(0),
99  diagnostic_(0),
100  resetMe_(true),
101  sentPaths_(false),
102  monitorDaemon_(ps.getUntrackedParameter<bool>("MonitorDaemon", false)),
103  nev_(0),
104  nLumi_(0),
105  currentRun_(-1)
106 {
107  LogDebug("HLTScalers") << "HLTScalers: constructor...." ;
108 
110  if (dbe_ ) {
111  dbe_->setVerbose(0);
113  }
114 }
#define LogDebug(id)
std::vector< std::pair< std::string, std::vector< std::string > > > pairPDPaths_
Definition: HLTScalers.h:108
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * scalersN_
Definition: HLTScalers.h:114
MonitorElement * detailedScalers_
Definition: HLTScalers.h:117
std::string processname_
Definition: HLTScalers.h:107
DQMStore * dbe_
Definition: HLTScalers.h:111
MonitorElement * hltOverallScaler_
Definition: HLTScalers.h:121
MonitorElement * diagnostic_
Definition: HLTScalers.h:123
MonitorElement * hltBxVsPath_
Definition: HLTScalers.h:120
MonitorElement * hltCorrelations_
Definition: HLTScalers.h:116
void setVerbose(unsigned level)
Definition: DQMStore.cc:631
int currentRun_
Definition: HLTScalers.h:129
MonitorElement * scalersException_
Definition: HLTScalers.h:115
MonitorElement * nLumiBlock_
Definition: HLTScalers.h:119
bool resetMe_
Definition: HLTScalers.h:125
MonitorElement * hltOverallScalerN_
Definition: HLTScalers.h:122
bool sentPaths_
Definition: HLTScalers.h:125
std::string folderName_
Definition: HLTScalers.h:106
bool monitorDaemon_
Definition: HLTScalers.h:125
MonitorElement * hltBx_
Definition: HLTScalers.h:120
MonitorElement * nProc_
Definition: HLTScalers.h:118
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:667
edm::EDGetTokenT< edm::TriggerResults > trigResultsSource_
Definition: HLTScalers.h:109
virtual HLTScalers::~HLTScalers ( )
inlinevirtual

Destructor.

Definition at line 76 of file HLTScalers.h.

76 {};

Member Function Documentation

void HLTScalers::analyze ( const edm::Event e,
const edm::EventSetup c 
)
virtual

Implements edm::EDAnalyzer.

Definition at line 141 of file HLTScalers.cc.

References accept(), b, edm::EventBase::bunchCrossing(), dbe_, detailedScalers_, diagnostic_, edm::hlt::Exception, MonitorElement::Fill(), first, folderName_, edm::Event::getByToken(), MonitorElement::getTH1(), hltBx_, hltBxVsPath_, hltCorrelations_, hltOverallScaler_, hltOverallScalerN_, JetPDSkim_cfg::hltResults, i, edm::EventBase::id(), j, prof2calltree::l, edm::EDConsumerBase::labelsForToken(), LogDebug, edm::EDConsumerBase::Labels::module, cscdqm::h::names, nev_, nProc_, pairPDPaths_, edm::hlt::Pass, lumiQueryAPI::q, resetMe_, scalers_, scalersException_, scalersN_, scalersPD_, edm::second(), sentPaths_, MonitorElement::setBinContent(), AlCaHLTBitMon_QueryRunRegistry::string, edm::TriggerNames::triggerIndex(), edm::TriggerNames::triggerNames(), edm::Event::triggerNames(), trigNames, and trigResultsSource_.

142 {
143  nProc_->Fill(++nev_);
144  diagnostic_->setBinContent(1,1); // this ME is never touched -
145  // it just tells you how the merging is doing.
146 
148  bool b = e.getByToken(trigResultsSource_, hltResults);
149  if ( !b ) {
150  Labels l;
152 
153  edm::LogInfo("HLTScalers") << "getByLabel for TriggerResults failed"
154  << " with label " << l.module;
155  return;
156  }
157 
158 
159  int npath = hltResults->size();
160  unsigned int nPD = pairPDPaths_.size();
161 
162  // on the first event of a new run we book new ME's
163  if (resetMe_ ) {
164  LogInfo("HLTScalers") << "analyze(): new run. dump path for this evt "
165  << e.id() << ", \n"
166  << *hltResults ;
167 
168  if (not dbe_)
169  return;
170 
171  // need to get maxModules dynamically
172  int maxModules = 200;
173 
174  std::string rawdir(folderName_ + "/raw");
175  dbe_->setCurrentFolder(rawdir);
176 
177  scalersPD_ = dbe_->book1D("pdScalers", "PD scalers (stream A)",
178  nPD, -0.5, nPD-0.5);
179  detailedScalers_ = dbe_->book2D("detailedHltScalers", "HLT Scalers",
180  npath, -0.5, npath-0.5,
181  maxModules, 0, maxModules-1);
182  scalers_ = dbe_->book1D("hltScalers", "HLT scalers",
183  npath, -0.5, npath-0.5);
184  scalersN_ = dbe_->book1D("hltScalersN", "Reset HLT scalers",
185  npath, -0.5, npath-0.5);
186  scalersException_ = dbe_->book1D("hltExceptions", "HLT Exception scalers",
187  npath, -0.5, npath-0.5);
188  hltCorrelations_ = dbe_->book2D("hltCorrelations", "HLT Scalers",
189  npath, -0.5, npath-0.5,
190  npath, -0.5, npath-0.5);
191 
192  // these two belong in top-level
193  dbe_->setCurrentFolder(folderName_);
194  hltBxVsPath_ = dbe_->book2D("hltBxVsPath", "HLT Accept vs Bunch Number",
195  3600, -0.5, 3599.5,
196  npath, -0.5, npath-0.5);
197  hltBx_ = dbe_->book1D("hltBx", "Bx of HLT Accepted Events ",
198  3600, -0.5, 3599.5);
199 
200  resetMe_ = false;
201  } // end resetMe_ - pseudo-end-run record
202 
203  const edm::TriggerNames & trigNames = e.triggerNames(*hltResults);
204  // for some reason this doesn't appear to work on the first event sometimes
205  if ( ! sentPaths_ ) {
206  const edm::TriggerNames & names = e.triggerNames(*hltResults);
207 
208  // save path names in DQM-accessible format
209  int q = 0;
210  for ( TriggerNames::Strings::const_iterator
211  j = names.triggerNames().begin();
212  j !=names.triggerNames().end(); ++j ) {
213 
214  LogDebug("HLTScalers") << q << ": " << *j ;
215  ++q;
216  scalers_->getTH1()->GetXaxis()->SetBinLabel(q, j->c_str());
217  }
218 
219  for (unsigned int i = 0; i < nPD; i++) {
220  LogDebug("HLTScalers") << i << ": " << pairPDPaths_[i].first << std::endl ;
221  scalersPD_->getTH1()->GetXaxis()->SetBinLabel(i+1, pairPDPaths_[i].first.c_str());
222  }
223 
224  sentPaths_ = true;
225  }
226 
227  bool accept = false;
228  int bx = e.bunchCrossing();
229  for ( int i = 0; i < npath; ++i ) {
230  // state returns 0 on ready, 1 on accept, 2 on fail, 3 on exception.
231  // these are defined in HLTEnums.h
232  for ( unsigned int j = 0; j < hltResults->index(i); ++j ) {
233  detailedScalers_->Fill(i,j);
234  }
235  if ( hltResults->state(i) == hlt::Pass) {
236  scalers_->Fill(i);
237  scalersN_->Fill(i);
238  hltBxVsPath_->Fill(bx, i);
239  accept = true;
240  for ( int j = i + 1; j < npath; ++j ) {
241  if ( hltResults->state(j) == hlt::Pass) {
242  hltCorrelations_->Fill(i,j); // fill
243  hltCorrelations_->Fill(j,i);
244  }
245  }
246  }
247  else if ( hltResults->state(i) == hlt::Exception) {
249  }
250  }
251  if ( accept ) {
252  hltOverallScaler_->Fill(1.0);
253  hltOverallScalerN_->Fill(1.0);
254  hltBx_->Fill(int(bx));
255  }
256 
257  bool anyGroupPassed = false;
258  for (unsigned int mi = 0; mi < pairPDPaths_.size(); mi++) {
259 
260  bool groupPassed = false;
261 
262  for (unsigned int i = 0; i < pairPDPaths_[mi].second.size(); i++)
263  {
264 
265  //string hltPathName = hist_2d->GetXaxis()->GetBinLabel(i);
266  std::string hltPathName = pairPDPaths_[mi].second[i];
267 
268  // check if this is hlt path name
269  //unsigned int pathByIndex = triggerNames.triggerIndex(hltPathName);
270  unsigned int pathByIndex = trigNames.triggerIndex(pairPDPaths_[mi].second[i]);
271  if(pathByIndex >= hltResults->size() ) continue;
272 
273  // check if its L1 passed
274  // comment out below but set groupL1Passed to true always
275  //if(hasL1Passed(hltPathName,triggerNames)) groupL1Passed = true;
276  //groupL1Passed = true;
277 
278  // Fill HLTPassed Matrix and HLTPassFail Matrix
279  // --------------------------------------------------------
280 
281  if(hltResults->accept(pathByIndex)) {
282  groupPassed = true;
283  break;
284  }
285 
286  }
287 
288  if(groupPassed) {
289  scalersPD_->Fill(mi);
290  anyGroupPassed = true;
291  }
292 
293  }
294 
295  if(anyGroupPassed) scalersPD_->Fill(pairPDPaths_.size()-1);
296 }
#define LogDebug(id)
std::vector< std::pair< std::string, std::vector< std::string > > > pairPDPaths_
Definition: HLTScalers.h:108
int i
Definition: DBlmapReader.cc:9
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const
Definition: Event.cc:204
void setBinContent(int binx, double content)
set content of bin (1-D)
static const HistoName names[]
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:434
MonitorElement * scalersN_
Definition: HLTScalers.h:114
MonitorElement * detailedScalers_
Definition: HLTScalers.h:117
DQMStore * dbe_
Definition: HLTScalers.h:111
int bunchCrossing() const
Definition: EventBase.h:62
MonitorElement * hltOverallScaler_
Definition: HLTScalers.h:121
MonitorElement * scalers_
Definition: HLTScalers.h:113
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:26
MonitorElement * diagnostic_
Definition: HLTScalers.h:123
Strings const & triggerNames() const
Definition: TriggerNames.cc:24
void Fill(long long x)
U second(std::pair< T, U > const &p)
MonitorElement * hltBxVsPath_
Definition: HLTScalers.h:120
unsigned int triggerIndex(std::string const &name) const
Definition: TriggerNames.cc:32
accept
Definition: HLTenums.h:19
int j
Definition: DBlmapReader.cc:9
TH1 * getTH1(void) const
MonitorElement * hltCorrelations_
Definition: HLTScalers.h:116
bool first
Definition: L1TdeRCT.cc:75
static const char *const trigNames[]
Definition: EcalDumpRaw.cc:74
MonitorElement * scalersException_
Definition: HLTScalers.h:115
bool resetMe_
Definition: HLTScalers.h:125
MonitorElement * hltOverallScalerN_
Definition: HLTScalers.h:122
double b
Definition: hdecay.h:120
void labelsForToken(EDGetToken iToken, Labels &oLabels) const
bool sentPaths_
Definition: HLTScalers.h:125
edm::EventID id() const
Definition: EventBase.h:56
std::string folderName_
Definition: HLTScalers.h:106
MonitorElement * hltBx_
Definition: HLTScalers.h:120
MonitorElement * nProc_
Definition: HLTScalers.h:118
MonitorElement * scalersPD_
Definition: HLTScalers.h:112
edm::EDGetTokenT< edm::TriggerResults > trigResultsSource_
Definition: HLTScalers.h:109
void HLTScalers::beginJob ( void  )
virtual

BeginJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 117 of file HLTScalers.cc.

References DQMStore::book1D(), DQMStore::bookInt(), dbe_, diagnostic_, folderName_, hltOverallScaler_, hltOverallScalerN_, LogDebug, nLumiBlock_, nProc_, DQMStore::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

118 {
119  LogDebug("HLTScalers") << "HLTScalers::beginJob()..." << std::endl;
120 
121  if (dbe_) {
122  std::string rawdir(folderName_ + "/raw");
123  dbe_->setCurrentFolder(rawdir);
124 
125  nProc_ = dbe_->bookInt("nProcessed");
126  nLumiBlock_ = dbe_->bookInt("nLumiBlock");
127  diagnostic_ = dbe_->book1D("hltMerge", "HLT merging diagnostic",
128  1, 0.5, 1.5);
129 
130  // fill for ever accepted event
131  hltOverallScaler_ = dbe_->book1D("hltOverallScaler", "HLT Overall Scaler",
132  1, 0.5, 1.5);
133  hltOverallScalerN_ = dbe_->book1D("hltOverallScalerN",
134  "Reset HLT Overall Scaler", 1, 0.5, 1.5);
135 
136  // other ME's are now found on the first event of the new run,
137  // when we know more about the HLT configuration.
138  }
139 }
#define LogDebug(id)
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:954
DQMStore * dbe_
Definition: HLTScalers.h:111
MonitorElement * hltOverallScaler_
Definition: HLTScalers.h:121
MonitorElement * diagnostic_
Definition: HLTScalers.h:123
MonitorElement * nLumiBlock_
Definition: HLTScalers.h:119
MonitorElement * hltOverallScalerN_
Definition: HLTScalers.h:122
std::string folderName_
Definition: HLTScalers.h:106
MonitorElement * nProc_
Definition: HLTScalers.h:118
MonitorElement * bookInt(const char *name)
Book int.
Definition: DQMStore.cc:861
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:667
void HLTScalers::beginLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup c 
)
virtual

Begin LumiBlock.

Reimplemented from edm::EDAnalyzer.

Definition at line 298 of file HLTScalers.cc.

References hltOverallScalerN_, LogDebug, MonitorElement::Reset(), and scalersN_.

300 {
301  LogDebug("HLTScalers") << "Start of luminosity block." ;
302  // reset the N guys
303  if ( scalersN_ )
304  scalersN_->Reset();
305  if ( hltOverallScalerN_ )
307 }
#define LogDebug(id)
MonitorElement * scalersN_
Definition: HLTScalers.h:114
MonitorElement * hltOverallScalerN_
Definition: HLTScalers.h:122
void Reset(void)
reset ME (ie. contents, errors, etc)
void HLTScalers::beginRun ( const edm::Run run,
const edm::EventSetup c 
)
virtual

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 323 of file HLTScalers.cc.

References currentRun_, HLTConfigProvider::datasetContent(), hltConfig_, i, edm::RunBase::id(), HLTConfigProvider::init(), LogDebug, pairPDPaths_, processname_, resetMe_, edm::RunID::run(), HLTConfigProvider::streamContent(), HLTConfigProvider::streamIndex(), and HLTConfigProvider::streamNames().

324 {
325  LogDebug("HLTScalers") << "HLTScalers::beginRun, run "
326  << run.id();
327  if ( currentRun_ != int(run.id().run()) ) {
328  resetMe_ = true;
329  currentRun_ = run.id().run();
330  }
331 
332  // HLT config does not change within runs!
333  bool changed=false;
334 
335  // clear vector pairPDPaths_
336  pairPDPaths_.clear();
337 
338  if (not hltConfig_.init(run, c, processname_, changed)) {
339  edm::LogError("TrigXMonitor") << "HLTConfigProvider failed to initialize.";
340  } else {
341 
342  // check if trigger name in (new) config
343  // cout << "Available TriggerNames are: " << endl;
344  // hltConfig_.dump("Triggers");
345 
346  if (hltConfig_.streamIndex("A")<hltConfig_.streamNames().size()) {
347 
348  // get hold of PD names and constituent path names
349  const std::vector<std::string> & PD = hltConfig_.streamContent("A") ;
350 
351  for (unsigned int i = 0; i < PD.size(); i++) {
352 
353  const std::vector<std::string> & datasetPaths = hltConfig_.datasetContent(PD[i]);
354  pairPDPaths_.push_back(make_pair(PD[i], datasetPaths));
355 
356  }
357 
358  // push stream A and its PDs
359  pairPDPaths_.push_back(make_pair("A", PD));
360 
361  } else {
362 
363  LogDebug("HLTScalers") << "HLTScalers::beginRun, steamm A not in the HLT menu ";
364 
365  }
366 
367  }
368 }
#define LogDebug(id)
std::vector< std::pair< std::string, std::vector< std::string > > > pairPDPaths_
Definition: HLTScalers.h:108
int i
Definition: DBlmapReader.cc:9
RunID const & id() const
Definition: RunBase.h:41
RunNumber_t run() const
Definition: RunID.h:43
std::string processname_
Definition: HLTScalers.h:107
unsigned int streamIndex(const std::string &stream) const
index of stream with name
const std::vector< std::string > & streamNames() const
const std::vector< std::string > & streamContent(unsigned int stream) const
names of datasets in stream with index i
int currentRun_
Definition: HLTScalers.h:129
HLTConfigProvider hltConfig_
Definition: HLTScalers.h:105
const std::vector< std::string > & datasetContent(unsigned int dataset) const
names of trigger paths in dataset with index i
bool resetMe_
Definition: HLTScalers.h:125
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
void HLTScalers::endLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup c 
)
virtual

End LumiBlock DQM Client Diagnostic should be performed here

Reimplemented from edm::EDAnalyzer.

Definition at line 310 of file HLTScalers.cc.

References MonitorElement::Fill(), edm::LuminosityBlockBase::id(), LogDebug, edm::LuminosityBlockID::luminosityBlock(), and nLumiBlock_.

312 {
313  // put this in as a first-pass for figuring out the rate
314  // each lumi block is 23 seconds in length
315  nLumiBlock_->Fill(lumiSeg.id().luminosityBlock());
316 
317  LogDebug("HLTScalers") << "End of luminosity block." ;
318 
319 }
#define LogDebug(id)
LuminosityBlockID id() const
void Fill(long long x)
MonitorElement * nLumiBlock_
Definition: HLTScalers.h:119
LuminosityBlockNumber_t luminosityBlock() const
void HLTScalers::endRun ( const edm::Run run,
const edm::EventSetup c 
)
virtual

EndRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 371 of file HLTScalers.cc.

References currentRun_, edm::RunBase::id(), LogDebug, resetMe_, and edm::RunID::run().

372 {
373  LogDebug("HLTScalers") << "HLTScalers::endRun , run "
374  << run.id();
375  if ( currentRun_ != int(run.id().run()) ) {
376  resetMe_ = true;
377  currentRun_ = run.id().run();
378  }
379 }
#define LogDebug(id)
RunID const & id() const
Definition: RunBase.h:41
RunNumber_t run() const
Definition: RunID.h:43
int currentRun_
Definition: HLTScalers.h:129
bool resetMe_
Definition: HLTScalers.h:125

Member Data Documentation

int HLTScalers::currentRun_
private

Definition at line 129 of file HLTScalers.h.

Referenced by beginRun(), and endRun().

DQMStore* HLTScalers::dbe_
private

Definition at line 111 of file HLTScalers.h.

Referenced by analyze(), beginJob(), and HLTScalers().

MonitorElement* HLTScalers::detailedScalers_
private

Definition at line 117 of file HLTScalers.h.

Referenced by analyze().

MonitorElement* HLTScalers::diagnostic_
private

Definition at line 123 of file HLTScalers.h.

Referenced by analyze(), and beginJob().

std::string HLTScalers::folderName_
private

Definition at line 106 of file HLTScalers.h.

Referenced by analyze(), beginJob(), and HLTScalers().

MonitorElement* HLTScalers::hltBx_
private

Definition at line 120 of file HLTScalers.h.

Referenced by analyze().

MonitorElement * HLTScalers::hltBxVsPath_
private

Definition at line 120 of file HLTScalers.h.

Referenced by analyze().

HLTConfigProvider HLTScalers::hltConfig_
private

Definition at line 105 of file HLTScalers.h.

Referenced by beginRun().

MonitorElement* HLTScalers::hltCorrelations_
private

Definition at line 116 of file HLTScalers.h.

Referenced by analyze().

MonitorElement* HLTScalers::hltOverallScaler_
private

Definition at line 121 of file HLTScalers.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTScalers::hltOverallScalerN_
private

Definition at line 122 of file HLTScalers.h.

Referenced by analyze(), beginJob(), and beginLuminosityBlock().

bool HLTScalers::monitorDaemon_
private

Definition at line 125 of file HLTScalers.h.

int HLTScalers::nev_
private

Definition at line 127 of file HLTScalers.h.

Referenced by analyze().

int HLTScalers::nLumi_
private

Definition at line 128 of file HLTScalers.h.

MonitorElement* HLTScalers::nLumiBlock_
private

Definition at line 119 of file HLTScalers.h.

Referenced by beginJob(), and endLuminosityBlock().

MonitorElement* HLTScalers::nProc_
private

Definition at line 118 of file HLTScalers.h.

Referenced by analyze(), and beginJob().

std::vector<std::pair<std::string, std::vector<std::string> > > HLTScalers::pairPDPaths_
private

Definition at line 108 of file HLTScalers.h.

Referenced by analyze(), and beginRun().

std::string HLTScalers::processname_
private

Definition at line 107 of file HLTScalers.h.

Referenced by beginRun().

bool HLTScalers::resetMe_
private

Definition at line 125 of file HLTScalers.h.

Referenced by analyze(), beginRun(), and endRun().

MonitorElement* HLTScalers::scalers_
private

Definition at line 113 of file HLTScalers.h.

Referenced by analyze().

MonitorElement* HLTScalers::scalersException_
private

Definition at line 115 of file HLTScalers.h.

Referenced by analyze().

MonitorElement* HLTScalers::scalersN_
private

Definition at line 114 of file HLTScalers.h.

Referenced by analyze(), and beginLuminosityBlock().

MonitorElement* HLTScalers::scalersPD_
private

Definition at line 112 of file HLTScalers.h.

Referenced by analyze().

bool HLTScalers::sentPaths_
private

Definition at line 125 of file HLTScalers.h.

Referenced by analyze().

edm::EDGetTokenT<edm::TriggerResults> HLTScalers::trigResultsSource_
private

Definition at line 109 of file HLTScalers.h.

Referenced by analyze().