CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
HLTObjectsMonitor Class Reference
Inheritance diagram for HLTObjectsMonitor:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Classes

struct  MEbinning
 

Public Member Functions

 HLTObjectsMonitor (const edm::ParameterSet &)
 
 ~HLTObjectsMonitor () override=default
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (edm::Run const &, edm::EventSetup const &) override
 
double dxyFinder (double, double, edm::Handle< reco::RecoChargedCandidateCollection >, edm::Handle< reco::BeamSpot >, double)
 
double dzFinder (double, double, double, double, edm::Handle< reco::RecoChargedCandidateCollection >, double)
 
void getPSet ()
 
bool isHEM17 (double eta, double phi)
 
bool isHEP17 (double eta, double phi)
 

Static Private Member Functions

static hltPlot getPlotPSet (edm::ParameterSet pset)
 

Private Attributes

std::string backupFolder_
 
edm::InputTag beamSpot_
 
edm::EDGetTokenT< reco::BeamSpotbeamSpotToken_
 
edm::EDGetTokenT< reco::JetTagCollectioncaloJetBTagsToken_
 
const MEbinning csv_binning_ {N_CSV, -MAX_CSV, MAX_CSV}
 
bool debug_
 
edm::InputTag eleCandidates_
 
edm::EDGetTokenT< std::vector< reco::RecoChargedCandidate > > eleCandidatesToken_
 
const MEbinning eta_binning_hem17_ {N_ETA_HEP17, -MAX_ETA_HEP17, MIN_ETA_HEP17}
 
const MEbinning eta_binning_hep17_ {N_ETA_HEP17, MIN_ETA_HEP17, MAX_ETA_HEP17}
 
MonitorElementeventsPlot_
 
HLTConfigProvider hltConfig_
 
std::vector< hltPlothltPlots_
 
std::string label_
 
std::string mainFolder_
 
const double MASS_MU = .105658
 
double MAX_CSV = 1.
 
double MAX_ETA_HEP17 = 3.0
 
double MAX_PHI = 3.2
 
double MAX_PHI_HEP17 = -0.52
 
double MIN_ETA_HEP17 = 1.3
 
double MIN_PHI_HEP17 = -0.87
 
edm::InputTag muCandidates_
 
edm::EDGetTokenT< std::vector< reco::RecoChargedCandidate > > muCandidatesToken_
 
int N_CSV = 20
 
int N_ETA_HEP17 = 6
 
int N_PHI = 64
 
int N_PHI_HEP17 = 7
 
edm::EDGetTokenT< reco::JetTagCollectionpfJetBTagsToken_
 
const MEbinning phi_binning_ {N_PHI, -MAX_PHI, MAX_PHI}
 
const MEbinning phi_binning_hep17_ {N_PHI_HEP17, MIN_PHI_HEP17, MAX_PHI_HEP17}
 
std::vector< double > phi_variable_binning_
 
std::unordered_map< std::string, int > plotNamesToBins_
 
std::vector< edm::ParameterSetplotPSETS_
 
std::string processName_
 
std::string TopFolder_
 
edm::EDGetTokenT< trigger::TriggerEventtriggerEventToken_
 
edm::EDGetTokenT< edm::TriggerResultstriggerResultsToken_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 97 of file HLTObjectsMonitor.cc.

Constructor & Destructor Documentation

◆ HLTObjectsMonitor()

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

Definition at line 256 of file HLTObjectsMonitor.cc.

257  : TopFolder_(iConfig.getParameter<std::string>("TopFolder")),
258  label_(iConfig.getParameter<std::string>("label")),
259  processName_(iConfig.getParameter<std::string>("processName")),
260  plotPSETS_(iConfig.getParameter<std::vector<edm::ParameterSet>>("plots")),
261  debug_(iConfig.getUntrackedParameter<bool>("debug", false)),
262  triggerResultsToken_(consumes<edm::TriggerResults>(iConfig.getParameter<edm::InputTag>("TriggerResults"))),
263  triggerEventToken_(consumes<trigger::TriggerEvent>(iConfig.getParameter<edm::InputTag>("TriggerSummary"))),
264  beamSpot_(iConfig.getParameter<edm::InputTag>("beamspot")),
265  beamSpotToken_(consumes<reco::BeamSpot>(beamSpot_)),
266  caloJetBTagsToken_(consumes<reco::JetTagCollection>(iConfig.getParameter<edm::InputTag>("caloJetBTags"))),
267  pfJetBTagsToken_(consumes<reco::JetTagCollection>(iConfig.getParameter<edm::InputTag>("pfJetBTags"))),
268  muCandidates_(iConfig.getParameter<edm::InputTag>("muCandidates")),
269  muCandidatesToken_(consumes<std::vector<reco::RecoChargedCandidate>>(muCandidates_)),
270  eleCandidates_(iConfig.getParameter<edm::InputTag>("eleCandidates")),
271  eleCandidatesToken_(consumes<std::vector<reco::RecoChargedCandidate>>(eleCandidates_)) {
272  getPSet();
273 
274  //now do what ever initialization is needed
275  mainFolder_ = TopFolder_ + "/MainShifter";
276  backupFolder_ = TopFolder_ + "/Backup";
277 
278  //set Token(s)
279 
280  double step = 2 * MAX_PHI / double(N_PHI);
281  for (int i = 0; i <= N_PHI; i++)
282  phi_variable_binning_.push_back(-MAX_PHI + step * i);
283 }

References backupFolder_, getPSet(), mps_fire::i, mainFolder_, MAX_PHI, N_PHI, phi_variable_binning_, and TopFolder_.

◆ ~HLTObjectsMonitor()

HLTObjectsMonitor::~HLTObjectsMonitor ( )
overridedefault

Member Function Documentation

◆ analyze()

void HLTObjectsMonitor::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 290 of file HLTObjectsMonitor.cc.

290  {
291  // if ( debug_ )
292  // std::cout << "[HLTObjectsMonitor::analyze]" << std::endl;
293 
294  // access trigger results
297  if (!triggerResults.isValid())
298  return;
299 
302  if (!triggerEvent.isValid())
303  return;
304 
307 
309  iEvent.getByToken(pfJetBTagsToken_, pfJetBTags);
310 
313 
316 
318  iEvent.getByToken(beamSpotToken_, beamspot);
319 
320  // loop over path
321  int ibin = -1;
322  std::vector<bool> plottedPathIndices(plotNamesToBins_.size(), false);
323  for (auto& plot : hltPlots_) {
324  ibin++;
325  if (plot.pathIDX <= 0)
326  continue;
327 
328  if (triggerResults->accept(plot.pathIDX)) {
329  //We only want to fill this once per pathNAME per event
330  auto index = plotNamesToBins_[plot.pathNAME];
331  if (not plottedPathIndices[index]) {
332  plottedPathIndices[index] = true;
333  if (debug_)
334  std::cout << plot.pathNAME << " --> bin: " << ibin << std::endl;
336  }
338  if (hltConfig_.saveTags(plot.moduleNAME)) {
339  if (debug_)
340  std::cout << "objects: " << objects.size() << std::endl;
341 
342  bool moduleFOUND = false;
343  std::vector<std::string> moduleNames = hltConfig_.moduleLabels(plot.pathIDX);
344  for (const auto& module : moduleNames) {
345  if (module == plot.moduleNAME)
346  moduleFOUND = true;
347  }
348  if (debug_)
349  std::cout << plot.moduleNAME << (moduleFOUND ? "" : "NOT") << " found in the list of modules" << std::endl;
350 
351  if (debug_)
352  for (const auto& module : moduleNames) {
353  unsigned int idx = triggerEvent->filterIndex(edm::InputTag(module, "", processName_));
354  std::cout << "module: " << module;
355  if (idx < triggerEvent->sizeFilters())
356  std::cout << " --> " << idx;
357  std::cout << std::endl;
358  }
359  //
360  // trigger accepted and collection w/ objects is available
362  unsigned int moduleIDX = triggerEvent->filterIndex(moduleName);
363  if (debug_)
364  std::cout << "moduleNAME: " << plot.moduleNAME << " --> " << moduleIDX << std::endl;
365 
366  if (moduleIDX >= triggerEvent->sizeFilters()) {
367  LogDebug("HLTObjectsMonitor")
368  << plot.pathNAME << " " << plot.moduleNAME
369  << " is not available ! please, fix update DQM/HLTEvF/python/HLTObjectsMonitor_cfi.py";
370  return;
371  }
372 
373  const trigger::Keys& keys = triggerEvent->filterKeys(moduleIDX);
374  if (debug_)
375  std::cout << "keys: " << keys.size() << std::endl;
376 
377  plot.nME.first->Fill(keys.size());
378 
379  double MR = 0.;
380  double RSQ = 0.;
381  for (const auto& key : keys) {
382  double pt = objects[key].pt();
383  double eta = objects[key].eta();
384  double phi = objects[key].phi();
385  double mass = objects[key].mass();
386  double energy = objects[key].energy();
387  int id = objects[key].id();
388  if (debug_)
389  std::cout << "object ID " << id << " mass: " << mass << std::endl;
390 
391  // single-object plots
392  plot.ptME.first->Fill(pt);
393  if (plot.doPlotETA)
394  plot.etaME.first->Fill(eta);
395  plot.phiME.first->Fill(phi);
396 
397  if (plot.doPlotCSV) {
398  if (plot.doCALO) {
399  if (!caloJetBTags.isValid())
400  plot.csvME.first->Fill(-10.);
401  else {
402  for (auto it = caloJetBTags->begin(); it != caloJetBTags->end(); ++it) {
403  double dR = deltaR(eta, phi, it->first->eta(), it->first->phi());
404  if (debug_)
405  std::cout << "[HLTObjectsMonitor::analyze] deltaR: " << dR << " matched ? "
406  << (dR <= 0.4 ? "YEAP" : "NOPE") << std::endl;
407  plot.csvME.first->Fill(it->second);
408  }
409  }
410 
411  } else if (plot.doPF) {
412  if (!pfJetBTags.isValid())
413  plot.csvME.first->Fill(-10.);
414  else {
415  for (auto it = pfJetBTags->begin(); it != pfJetBTags->end(); ++it) {
416  double dR = deltaR(eta, phi, it->first->eta(), it->first->phi());
417  if (debug_)
418  std::cout << "[HLTObjectsMonitor::analyze] deltaR: " << dR << " matched ? "
419  << (dR <= 0.4 ? "YEAP" : "NOPE") << std::endl;
420  plot.csvME.first->Fill(it->second);
421  }
422  }
423  }
424  }
425  if (plot.doPlotMASS)
426  plot.massME.first->Fill(mass);
427  if (plot.doPlotENERGY)
428  plot.energyME.first->Fill(energy);
429  if (plot.doPlot2D)
430  plot.etaVSphiME.first->Fill(eta, phi);
431  if (plot.doPlotHEP17) {
432  if (isHEP17(eta, phi))
433  plot.ptMEhep17.first->Fill(pt);
434  if (isHEM17(eta, phi))
435  plot.ptMEhem17.first->Fill(pt);
436  }
437 
438  if (id == 0) { //the MET object containing MR and Rsq will show up with ID = 0
439  MR = objects[key].px(); //razor variables stored in dummy reco::MET objects
440  RSQ = objects[key].py();
441  }
442 
443  if (plot.doPlotDXY) {
444  double dxy = -99.;
445  if (abs(id) == 13)
446  dxy = dxyFinder(eta, phi, muCandidates, beamspot, 0.1); // dRcut = 0.1
447  else
448  dxy = dxyFinder(eta, phi, eleCandidates, beamspot, 0.1); // dRcut = 0.1
449  plot.dxyME.first->Fill(dxy);
450  }
451  } // end loop on keys
452  if (plot.doPlotRazor) {
453  plot.mrME.first->Fill(MR);
454  plot.rsqME.first->Fill(RSQ);
455  }
456 
457  if (keys.size() < 2) {
458  if (plot.doPlotDiMass || plot.doPlotDZ)
459  LogDebug("HLTObjectsMonitor") << plot.pathNAME << " " << plot.moduleNAME << " # objects is (" << keys.size()
460  << ") less than 2 ! you probably want to either change the moduleNAME or "
461  "switch off di-object system plots (doPlotDZ: "
462  << plot.doPlotDZ << " doPlotDiMass: " << plot.doPlotDiMass
463  << ") in DQM/HLTEvF/python/HLTObjectsMonitor_cfi.py)";
464  } else {
465  for (const auto& key : keys) {
466  double pt = objects[key].pt();
467  double eta = objects[key].eta();
468  double phi = objects[key].phi();
469  int id = objects[key].id();
470 
471  unsigned int kCnt0 = 0;
472 
473  TLorentzVector v1;
474  if (abs(id) == 13) // check if it is a muon
475  v1.SetPtEtaPhiM(pt, eta, phi, MASS_MU);
476  else
477  v1.SetPtEtaPhiM(pt, eta, phi, 0);
478 
479  unsigned int kCnt1 = 0;
480  for (const auto& key1 : keys) {
481  if (key != key1 &&
482  kCnt1 > kCnt0) { // avoid filling hists with same objs && avoid double counting separate objs
483 
484  double pt2 = objects[key1].phi();
485  double eta2 = objects[key1].eta();
486  double phi2 = objects[key1].phi();
487  int id2 = objects[key1].id();
488 
489  double dR = deltaR(eta, phi, eta2, phi2);
490  plot.dRME.first->Fill(dR);
491  plot.dRetaVSphiME.first->Fill(eta, phi, dR);
492 
493  int q1 = (id == 0 ? 0 : id / abs(id));
494  int q2 = (id2 == 0 ? 0 : id2 / abs(id2));
495  int q1q2 = q1 * q2;
496  plot.q1q2ME.first->Fill(q1q2);
497 
498  if (abs(id) != abs(id2))
499  edm::LogInfo("HLTObjectsMonitor")
500  << plot.pathNAME << " " << plot.moduleNAME << " objects have different ID !?!" << abs(id)
501  << " and " << abs(id2);
502 
503  if ((id + id2) == 0) { // check di-object system charge and flavor
504 
505  TLorentzVector v2;
506  if (abs(id2) == 13) // check if it is a muon
507  v2.SetPtEtaPhiM(pt2, eta2, phi2, MASS_MU);
508  else
509  v2.SetPtEtaPhiM(pt2, eta2, phi2, 0);
510 
511  if (plot.doPlotDiMass) {
512  TLorentzVector v = v1 + v2;
513  plot.dimassME.first->Fill(v.M());
514  }
515 
516  if (plot.doPlotDZ) {
517  double dz = -99.;
518  if (abs(id) == 13)
519  dz = dzFinder(eta, phi, eta2, phi2, muCandidates, 0.1); // dRcut = 0.1
520  else
521  dz = dzFinder(eta, phi, eta2, phi2, eleCandidates, 0.1); // dRcut = 0.1
522  plot.dzME.first->Fill(dz);
523  }
524  }
525  }
526  kCnt1++;
527  }
528  kCnt0++;
529  }
530  }
531  }
532  }
533  }
534 }

References funct::abs(), HLTObjectsMonitor_cfi::beamspot, beamSpotToken_, HLTObjectsMonitor_cfi::caloJetBTags, caloJetBTagsToken_, gather_cfg::cout, debug_, PbPb_ZMuSkimMuonDPG_cff::deltaR, HGC3DClusterGenMatchSelector_cfi::dR, PVValHelper::dxy, dxyFinder(), PVValHelper::dz, dzFinder(), HLTObjectsMonitor_cfi::eleCandidates, eleCandidatesToken_, HCALHighEnergyHPDFilter_cfi::energy, PVValHelper::eta, HLT_FULL_cff::eta2, eventsPlot_, dqm::impl::MonitorElement::Fill(), hltConfig_, hltPlots_, globals_cff::id2, heavyIonCSV_trainingSettings::idx, iEvent, HLT_FULL_cff::InputTag, isHEM17(), isHEP17(), crabWrapper::key, relativeConstraints::keys, LogDebug, EgHLTOffHistBins_cfi::mass, MASS_MU, HLTConfigProvider::moduleLabels(), EcalCalibMonitorClient_cfi::moduleName, HLTObjectsMonitor_cfi::muCandidates, muCandidatesToken_, HLTObjectsMonitor_cfi::pfJetBTags, pfJetBTagsToken_, phi, plotFactory::plot, plotNamesToBins_, processName_, DiDispStaMuonMonitor_cfi::pt, HLT_FULL_cff::pt2, q1, q2, HLTConfigProvider::saveTags(), PDWG_DiPhoton_SD_cff::triggerEvent, triggerEventToken_, triggerResults, triggerResultsToken_, and findQualityFiles::v.

◆ bookHistograms()

void HLTObjectsMonitor::bookHistograms ( DQMStore::IBooker i,
edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprivatevirtual

Implements DQMEDAnalyzer.

Definition at line 574 of file HLTObjectsMonitor.cc.

576  {
577  if (debug_)
578  std::cout << "[HLTObjectsMonitor::bookHistograms]" << std::endl;
579 
580  ibooker.setCurrentFolder(TopFolder_);
581 
582  std::string name = "eventsPerPath_" + label_;
583  std::string title = " events per path";
584 
585  //We must avoid repeating the same pathNAME
586  {
587  std::unordered_map<std::string, int> uniqueNames;
588  for (auto const& p : hltPlots_) {
589  plotNamesToBins_[p.pathNAME] = -1;
590  }
591  int nbins = plotNamesToBins_.size();
592  eventsPlot_ = ibooker.book1D(name, title, nbins, -0.5, double(nbins) - 0.5);
593  eventsPlot_->setAxisTitle("HLT path");
594  int i = 0;
595  //keep the bin order the same as hltPlots_
596  for (auto const& p : hltPlots_) {
597  //only add a bin if this is the first time we've seen the name
598  if (-1 == plotNamesToBins_[p.pathNAME]) {
599  plotNamesToBins_[p.pathNAME] = ++i;
600  eventsPlot_->setBinLabel(i, p.pathNAME);
601  if (debug_)
602  std::cout << p.pathNAME << " --> bin: " << i << std::endl;
603  }
604  }
605  }
606 
607  for (auto& plot : hltPlots_) {
608  if (debug_)
609  std::cout << "booking plots for " << plot.label << std::endl;
610 
611  if (plot.pathIDX <= 0) {
612  LogDebug("HLTObjectsMonitor") << plot.pathNAME
613  << " is not available in the HLT menu ! no plots are going to be booked for it "
614  "(update DQM/HLTEvF/python/HLTObjectsMonitor_cfi.py)";
615  continue;
616  }
617  if (debug_)
618  std::cout << "booking histograms for " << plot.pathNAME << std::endl;
619 
620  {
621  if (plot.nME.second)
622  ibooker.setCurrentFolder(mainFolder_);
623  else
624  ibooker.setCurrentFolder(backupFolder_);
625 
626  name = plot.label + "_nobjects";
627  title = plot.pathNAME + " # objects";
628  plot.nME.first = ibooker.book1D(name, title, 20, -0.5, 19.5);
629  plot.nME.first->setAxisTitle(plot.xTITLE + " # objects");
630  }
631 
632  if (plot.ptME.second)
633  ibooker.setCurrentFolder(mainFolder_);
634  else
635  ibooker.setCurrentFolder(backupFolder_);
636 
637  name = plot.label + "_pt";
638  title = plot.pathNAME + " p_T";
639  int nbins = (plot.ptBINNING).size() - 1;
640  std::vector<float> fbinning((plot.ptBINNING).begin(), (plot.ptBINNING).end());
641  float* arr = &fbinning[0];
642  plot.ptME.first = ibooker.book1D(name, title, nbins, arr);
643  plot.ptME.first->setAxisTitle(plot.xTITLE + " p_{T} [GeV]");
644 
645  {
646  if (plot.phiME.second)
647  ibooker.setCurrentFolder(mainFolder_);
648  else
649  ibooker.setCurrentFolder(backupFolder_);
650 
651  name = plot.label + "_phi";
652  title = plot.pathNAME + " #phi";
653  int nbins = (plot.phiBINNING).size() - 1;
654  std::vector<float> fbinning((plot.phiBINNING).begin(), (plot.phiBINNING).end());
655  float* arr = &fbinning[0];
656  plot.phiME.first = ibooker.book1D(name, title, nbins, arr);
657  plot.phiME.first->setAxisTitle(plot.xTITLE + " #phi [rad]");
658  }
659 
660  if (plot.doPlotETA) {
661  if (plot.etaME.second)
662  ibooker.setCurrentFolder(mainFolder_);
663  else
664  ibooker.setCurrentFolder(backupFolder_);
665 
666  name = plot.label + "_eta";
667  title = plot.pathNAME + " #eta";
668  int nbins = (plot.etaBINNING).size() - 1;
669  std::vector<float> fbinning((plot.etaBINNING).begin(), (plot.etaBINNING).end());
670  float* arr = &fbinning[0];
671 
672  plot.etaME.first = ibooker.book1D(name, title, nbins, arr);
673  plot.etaME.first->setAxisTitle(plot.xTITLE + " #eta");
674  }
675 
676  if (plot.doPlotMASS) {
677  if (plot.massME.second)
678  ibooker.setCurrentFolder(mainFolder_);
679  else
680  ibooker.setCurrentFolder(backupFolder_);
681 
682  name = plot.label + "_mass";
683  title = plot.pathNAME + " mass";
684  int nbins = (plot.massBINNING).size() - 1;
685  std::vector<float> fbinning((plot.massBINNING).begin(), (plot.massBINNING).end());
686  float* arr = &fbinning[0];
687 
688  plot.massME.first = ibooker.book1D(name, title, nbins, arr);
689  plot.massME.first->setAxisTitle(plot.xTITLE + " mass [GeV]");
690  }
691 
692  if (plot.doPlotENERGY) {
693  if (plot.energyME.second)
694  ibooker.setCurrentFolder(mainFolder_);
695  else
696  ibooker.setCurrentFolder(backupFolder_);
697 
698  name = plot.label + "_energy";
699  title = plot.pathNAME + " energy";
700  int nbins = (plot.ptBINNING).size() - 1;
701  std::vector<float> fbinning((plot.ptBINNING).begin(), (plot.ptBINNING).end());
702  float* arr = &fbinning[0];
703 
704  plot.energyME.first = ibooker.book1D(name, title, nbins, arr);
705  plot.energyME.first->setAxisTitle(plot.xTITLE + " energy [GeV]");
706  }
707 
708  if (plot.doPlotCSV) {
709  if (plot.csvME.second)
710  ibooker.setCurrentFolder(mainFolder_);
711  else
712  ibooker.setCurrentFolder(backupFolder_);
713 
714  name = plot.label + "_csv";
715  title = plot.pathNAME + " CSV";
716 
717  plot.csvME.first = ibooker.book1D(name, title, csv_binning_.nbins, csv_binning_.xmin, csv_binning_.xmax);
718  plot.csvME.first->setAxisTitle(plot.xTITLE + " CSV discriminator");
719  }
720 
721  if (plot.doPlot2D) {
722  if (plot.etaVSphiME.second)
723  ibooker.setCurrentFolder(mainFolder_);
724  else
725  ibooker.setCurrentFolder(backupFolder_);
726 
727  name = plot.label + "_etaVSphi";
728  title = plot.pathNAME + " #eta vs #phi";
729  int nbinsX = (plot.etaBINNING).size() - 1;
730  std::vector<float> fbinningX((plot.etaBINNING).begin(), (plot.etaBINNING).end());
731  float* arrX = &fbinningX[0];
732  int nbinsY = (plot.phiBINNING).size() - 1;
733  ;
734  std::vector<float> fbinningY((plot.phiBINNING).begin(), (plot.phiBINNING).end());
735  float* arrY = &fbinningY[0];
736  plot.etaVSphiME.first = ibooker.book2D(name, title, nbinsX, arrX, nbinsY, arrY);
737  plot.etaVSphiME.first->setAxisTitle(plot.xTITLE + " #eta", 1);
738  plot.etaVSphiME.first->setAxisTitle(plot.xTITLE + " #phi", 2);
739  }
740 
741  if (plot.doPlotHEP17) {
742  if (plot.ptMEhep17.second)
743  ibooker.setCurrentFolder(mainFolder_);
744  else
745  ibooker.setCurrentFolder(backupFolder_);
746 
747  int nbins = (plot.ptBINNING).size() - 1;
748  std::vector<float> fbinning((plot.ptBINNING).begin(), (plot.ptBINNING).end());
749  float* arr = &fbinning[0];
750 
751  name = plot.label + "_pt_HEP17";
752  title = plot.pathNAME + " p_{T} HEP17";
753  plot.ptMEhep17.first = ibooker.book1D(name, title, nbins, arr);
754  plot.ptMEhep17.first->setAxisTitle(plot.xTITLE + " p_{T} [GeV]", 1);
755 
756  if (plot.ptMEhem17.second)
757  ibooker.setCurrentFolder(mainFolder_);
758  else
759  ibooker.setCurrentFolder(backupFolder_);
760 
761  name = plot.label + "_pt_HEM17";
762  title = plot.pathNAME + " p_{T} HEM17";
763  plot.ptMEhem17.first = ibooker.book1D(name, title, nbins, arr);
764  plot.ptMEhem17.first->setAxisTitle(plot.xTITLE + " p_{T} [GeV]", 1);
765  }
766 
767  if (plot.doPlotRazor) {
768  if (plot.mrME.second)
769  ibooker.setCurrentFolder(mainFolder_);
770  else
771  ibooker.setCurrentFolder(backupFolder_);
772 
773  name = plot.label + "_mr";
774  title = plot.pathNAME + " M_{R}";
775  plot.mrME.first = ibooker.book1D(name, title, 100, 0., 100.);
776  plot.mrME.first->setAxisTitle(plot.xTITLE + " M_{R} [GeV]", 1);
777 
778  if (plot.rsqME.second)
779  ibooker.setCurrentFolder(mainFolder_);
780  else
781  ibooker.setCurrentFolder(backupFolder_);
782 
783  name = plot.label + "_rsq";
784  title = plot.pathNAME + " RSQ";
785  plot.rsqME.first = ibooker.book1D(name, title, 100, 0., 100.);
786  plot.rsqME.first->setAxisTitle(plot.xTITLE + " RSQ [GeV]", 1);
787  }
788 
789  if (plot.doPlotDXY) {
790  if (plot.dxyME.second)
791  ibooker.setCurrentFolder(mainFolder_);
792  else
793  ibooker.setCurrentFolder(backupFolder_);
794 
795  name = plot.label + "_dxy";
796  title = plot.pathNAME + " d_{xy}";
797  int nbins = (plot.dxyBINNING).size() - 1;
798  std::vector<float> fbinning((plot.dxyBINNING).begin(), (plot.dxyBINNING).end());
799  float* arr = &fbinning[0];
800  plot.dxyME.first = ibooker.book1D(name, title, nbins, arr);
801  plot.dxyME.first->setAxisTitle(plot.xTITLE + " d_{xy} [cm]");
802  }
803 
804  if (plot.doPlotDZ) {
805  if (plot.dzME.second)
806  ibooker.setCurrentFolder(mainFolder_);
807  else
808  ibooker.setCurrentFolder(backupFolder_);
809 
810  name = plot.label + "_dz";
811  title = plot.pathNAME + " d_{z}";
812  int nbins = (plot.dzBINNING).size() - 1;
813  std::vector<float> fbinning((plot.dzBINNING).begin(), (plot.dzBINNING).end());
814  float* arr = &fbinning[0];
815  plot.dzME.first = ibooker.book1D(name, title, nbins, arr);
816  plot.dzME.first->setAxisTitle(plot.xTITLE + " d_{z} [cm]");
817  }
818 
819  if (plot.dRME.second)
820  ibooker.setCurrentFolder(mainFolder_);
821  else
822  ibooker.setCurrentFolder(backupFolder_);
823 
824  name = plot.label + "_dR";
825  title = plot.pathNAME + " di-object dR";
826  plot.dRME.first = ibooker.book1D(name, title, 50, 0., 5.);
827  plot.dRME.first->setAxisTitle(plot.xTITLE + " dR_{obj,obj}");
828 
829  if (plot.dRetaVSphiME.second)
830  ibooker.setCurrentFolder(mainFolder_);
831  else
832  ibooker.setCurrentFolder(backupFolder_);
833 
834  name = plot.label + "_dR_etaVSphi";
835  title = plot.pathNAME + " di-object dR in the #eta-#phi plane (of 1st obj)";
836  plot.dRetaVSphiME.first = ibooker.bookProfile2D(name, title, 60, -3., 3., 64, -3.2, 3.2, 0., 5.);
837  plot.dRetaVSphiME.first->setAxisTitle(plot.xTITLE + " #eta", 1);
838  plot.dRetaVSphiME.first->setAxisTitle(plot.xTITLE + " #phi", 2);
839  plot.dRetaVSphiME.first->setAxisTitle(plot.xTITLE + " dR_{obj,obj}", 3);
840 
841  if (plot.q1q2ME.second)
842  ibooker.setCurrentFolder(mainFolder_);
843  else
844  ibooker.setCurrentFolder(backupFolder_);
845 
846  name = plot.label + "_q1q2";
847  title = plot.pathNAME + " di-object q1xq2";
848  plot.q1q2ME.first = ibooker.book1D(name, title, 3, -1., 1.);
849  plot.q1q2ME.first->setAxisTitle(plot.xTITLE + " q_{obj1} x q_{obj2}");
850 
851  if (plot.doPlotDiMass) {
852  if (plot.dimassME.second)
853  ibooker.setCurrentFolder(mainFolder_);
854  else
855  ibooker.setCurrentFolder(backupFolder_);
856 
857  name = plot.label + "_dimass";
858  title = plot.pathNAME + " di-object mass";
859  int nbins = (plot.dimassBINNING).size() - 1;
860  std::vector<float> fbinning((plot.dimassBINNING).begin(), (plot.dimassBINNING).end());
861  float* arr = &fbinning[0];
862  plot.dimassME.first = ibooker.book1D(name, title, nbins, arr);
863  plot.dimassME.first->setAxisTitle(plot.xTITLE + " m_{obj,obj} [GeV]");
864  }
865  }
866 
867  if (debug_)
868  std::cout << "[HLTObjectsMonitor::bookHistograms] DONE" << std::endl;
869 }

References backupFolder_, dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::bookProfile2D(), gather_cfg::cout, csv_binning_, debug_, mps_fire::end, eventsPlot_, hltPlots_, mps_fire::i, label_, LogDebug, mainFolder_, Skims_PA_cff::name, LaserClient_cfi::nbins, HLTObjectsMonitor::MEbinning::nbins, hlt_dqm_clientPB-live_cfg::nbinsX, hlt_dqm_clientPB-live_cfg::nbinsY, AlCaHLTBitMon_ParallelJobs::p, plotFactory::plot, plotNamesToBins_, dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::NavigatorBase::setCurrentFolder(), findQualityFiles::size, AlCaHLTBitMon_QueryRunRegistry::string, runGCPTkAlMap::title, TopFolder_, HLTObjectsMonitor::MEbinning::xmax, and HLTObjectsMonitor::MEbinning::xmin.

◆ dqmBeginRun()

void HLTObjectsMonitor::dqmBeginRun ( edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprivatevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 537 of file HLTObjectsMonitor.cc.

537  {
538  bool changed = true;
539  if (hltConfig_.init(iRun, iSetup, processName_, changed))
540  if (debug_)
541  std::cout << "[HLTObjectsMonitor::dqmBeginRun] extracting HLTconfig" << std::endl;
542 
543  //get path indicies from menu
544  std::string pathName_noVersion;
545  std::vector<std::string> triggerPaths = hltConfig_.triggerNames();
546 
547  if (debug_)
548  std::cout << "[HLTObjectsMonitor::dqmBeginRun] triggerPaths: " << triggerPaths.size() << " <--> "
549  << hltPlots_.size() << std::endl;
550 
551  for (const auto& pathName : triggerPaths) {
552  if (debug_)
553  std::cout << "[HLTObjectsMonitor::dqmBeginRun] " << pathName << std::endl;
554 
555  pathName_noVersion = hltConfig_.removeVersion(pathName);
556  // std::cout << "pathName: " << pathName << " --> " << pathName_noVersion << std::endl;
557  for (auto& plot : hltPlots_) {
558  if (plot.pathNAME == pathName_noVersion) {
560  // check that the index makes sense, otherwise force pathIDX = -1
561  if (plot.pathIDX <= 0 || plot.pathIDX == int(triggerPaths.size()))
562  plot.pathIDX = -1;
563  }
564  }
565  }
566 
567  if (debug_) {
568  for (const auto& plot : hltPlots_)
569  std::cout << "plot: " << plot.pathNAME << " --> pathIDX: " << plot.pathIDX << std::endl;
570  std::cout << "[HLTObjectsMonitor::dqmBeginRun] DONE" << std::endl;
571  }
572 }

References gather_cfg::cout, debug_, hltConfig_, hltPlots_, HLTConfigProvider::init(), hltMonBTagIPClient_cfi::pathName, plotFactory::plot, processName_, HLTConfigProvider::removeVersion(), AlCaHLTBitMon_QueryRunRegistry::string, HLTConfigProvider::triggerIndex(), HLTConfigProvider::triggerNames(), and triggerPaths.

◆ dxyFinder()

double HLTObjectsMonitor::dxyFinder ( double  eta,
double  phi,
edm::Handle< reco::RecoChargedCandidateCollection candidates,
edm::Handle< reco::BeamSpot beamspot,
double  dRcut = 0.1 
)
private

Definition at line 871 of file HLTObjectsMonitor.cc.

875  {
876  double dxy = -99.;
877  if (!candidates.isValid()) {
878  LogDebug("HLTObjectsMonitor") << "either " << muCandidates_ << " or " << eleCandidates_
879  << " is not valid ! please, update DQM/HLTEvF/python/HLTObjectsMonitor_cfi.py"
880  << " by switching OFF doPlotDXY or updating the InputTag collection";
881  return dxy;
882  }
883  if (!beamspot.isValid()) {
884  LogDebug("HLTObjectsMonitor") << beamSpot_
885  << " is not valid ! please, update DQM/HLTEvF/python/HLTObjectsMonitor_cfi.py"
886  << " by switching OFF doPlotDXY or updating the InputTag collection";
887  return dxy;
888  }
889 
890  bool matched = false;
891  for (reco::RecoChargedCandidateCollection::const_iterator candidate = candidates->begin();
892  candidate != candidates->end();
893  ++candidate) {
894  if (deltaR(eta, phi, candidate->eta(), candidate->phi()) < dRcut) {
895  matched = true;
896  dxy = (-(candidate->vx() - beamspot->x0()) * candidate->py() +
897  (candidate->vy() - beamspot->y0()) * candidate->px()) /
898  candidate->pt();
899  break;
900  }
901  }
902  if (!matched)
903  edm::LogWarning("HLTObjectsMonitor") << "trigger object does not match ( dR > " << dRcut
904  << ") to any of the candidates in either " << muCandidates_ << " or "
905  << eleCandidates_;
906 
907  return dxy;
908 }

References beamSpot_, HLT_FULL_cff::candidates, PbPb_ZMuSkimMuonDPG_cff::deltaR, PVValHelper::dxy, eleCandidates_, PVValHelper::eta, LogDebug, muonTagProbeFilters_cff::matched, muCandidates_, and phi.

Referenced by analyze().

◆ dzFinder()

double HLTObjectsMonitor::dzFinder ( double  eta1,
double  phi1,
double  eta2,
double  phi2,
edm::Handle< reco::RecoChargedCandidateCollection candidates,
double  dRcut = 0.1 
)
private

Definition at line 910 of file HLTObjectsMonitor.cc.

915  {
916  double dz = -99.;
917  if (!candidates.isValid()) {
918  LogDebug("HLTObjectsMonitor") << "either " << muCandidates_ << " or " << eleCandidates_
919  << " is not valid ! please, update DQM/HLTEvF/python/HLTObjectsMonitor_cfi.py"
920  << " by switching OFF doPlotDZ or updating the InputTag collection";
921  return dz;
922  }
923 
924  const reco::RecoChargedCandidate* cand1;
925  const reco::RecoChargedCandidate* cand2;
926  bool matched1 = false;
927  bool matched2 = false;
928  for (reco::RecoChargedCandidateCollection::const_iterator candidate = candidates->begin();
929  candidate != candidates->end();
930  ++candidate) {
931  if (deltaR(eta1, phi1, candidate->eta(), candidate->phi()) < dRcut) {
932  matched1 = true;
933  cand1 = &*candidate;
934  if (debug_)
935  std::cout << "cand1: " << cand1->pt() << " " << cand1->eta() << " " << cand1->phi() << std::endl;
936  break;
937  }
938  }
939  if (!matched1) {
940  LogDebug("HLTObjectsMonitor") << "trigger object1 does not match ( dR > " << dRcut
941  << ") to any of the candidates in either " << muCandidates_ << " or "
942  << eleCandidates_;
943  return dz;
944  }
945 
946  for (reco::RecoChargedCandidateCollection::const_iterator candidate = candidates->begin();
947  candidate != candidates->end();
948  ++candidate) {
949  if (debug_) {
950  std::cout << "candidate: " << candidate->pt() << " cand1: " << cand1->pt() << std::endl;
951  std::cout << "candidate: " << candidate->eta() << " cand1: " << cand1->eta() << std::endl;
952  std::cout << "candidate: " << candidate->phi() << " cand1: " << cand1->phi() << std::endl;
953  }
954  if (&*candidate == cand1)
955  continue;
956 
957  if (deltaR(eta2, phi2, candidate->eta(), candidate->phi()) < dRcut) {
958  matched2 = true;
959  cand2 = &*candidate;
960  if (debug_)
961  std::cout << "cand2: " << cand2->pt() << " " << cand2->eta() << " " << cand2->phi() << std::endl;
962  break;
963  }
964  }
965  if (!matched2) {
966  LogDebug("HLTObjectsMonitor") << "trigger object2 does not match ( dR > " << dRcut
967  << ") to any of the candidates in either " << muCandidates_ << " or "
968  << eleCandidates_;
969  return dz;
970  }
971 
972  dz = cand1->vz() - cand2->vz();
973  return dz;
974 }

References HLT_FULL_cff::candidates, gather_cfg::cout, debug_, PbPb_ZMuSkimMuonDPG_cff::deltaR, PVValHelper::dz, eleCandidates_, reco::LeafCandidate::eta(), HLT_FULL_cff::eta1, HLT_FULL_cff::eta2, LogDebug, muCandidates_, reco::LeafCandidate::phi(), reco::LeafCandidate::pt(), and reco::LeafCandidate::vz().

Referenced by analyze().

◆ getPlotPSet()

hltPlot HLTObjectsMonitor::getPlotPSet ( edm::ParameterSet  pset)
staticprivate

Definition at line 191 of file HLTObjectsMonitor.cc.

191  {
192  return hltPlot{std::make_pair<MonitorElement*, bool>(nullptr, false),
193  std::make_pair<MonitorElement*, bool>(nullptr, pset.getParameter<bool>("displayInPrimary_eta")),
194  std::make_pair<MonitorElement*, bool>(nullptr, pset.getParameter<bool>("displayInPrimary_phi")),
195  std::make_pair<MonitorElement*, bool>(nullptr, pset.getParameter<bool>("displayInPrimary_pt")),
196  std::make_pair<MonitorElement*, bool>(nullptr, pset.getParameter<bool>("displayInPrimary_mass")),
197  std::make_pair<MonitorElement*, bool>(nullptr, pset.getParameter<bool>("displayInPrimary_energy")),
198  std::make_pair<MonitorElement*, bool>(nullptr, pset.getParameter<bool>("displayInPrimary_csv")),
199  std::make_pair<MonitorElement*, bool>(nullptr, pset.getParameter<bool>("displayInPrimary_etaVSphi")),
200  std::make_pair<MonitorElement*, bool>(nullptr, pset.getParameter<bool>("displayInPrimary_pt_HEP17")),
201  std::make_pair<MonitorElement*, bool>(nullptr, pset.getParameter<bool>("displayInPrimary_pt_HEM17")),
202  std::make_pair<MonitorElement*, bool>(nullptr, pset.getParameter<bool>("displayInPrimary_MR")),
203  std::make_pair<MonitorElement*, bool>(nullptr, pset.getParameter<bool>("displayInPrimary_RSQ")),
204  std::make_pair<MonitorElement*, bool>(nullptr, pset.getParameter<bool>("displayInPrimary_dxy")),
205  std::make_pair<MonitorElement*, bool>(nullptr, pset.getParameter<bool>("displayInPrimary_dz")),
206  std::make_pair<MonitorElement*, bool>(nullptr, pset.getParameter<bool>("displayInPrimary_dimass")),
207  std::make_pair<MonitorElement*, bool>(nullptr, false),
208  std::make_pair<MonitorElement*, bool>(nullptr, false),
209  std::make_pair<MonitorElement*, bool>(nullptr, false),
210  pset.getParameter<std::string>("label"),
211  pset.getParameter<std::string>("pathNAME"),
212  -1,
213  pset.getParameter<std::string>("moduleNAME"),
214  pset.getParameter<std::string>("xTITLE"),
215  pset.getParameter<std::vector<double>>("etaBINNING"),
216  pset.getParameter<std::vector<double>>("ptBINNING"),
217  pset.getParameter<std::vector<double>>("phiBINNING"),
218  pset.getParameter<std::vector<double>>("massBINNING"),
219  pset.getParameter<std::vector<double>>("dxyBINNING"),
220  pset.getParameter<std::vector<double>>("dzBINNING"),
221  pset.getParameter<std::vector<double>>("dimassBINNING"),
222  pset.getUntrackedParameter<bool>("doPlot2D", false),
223  pset.getUntrackedParameter<bool>("doPlotETA", true),
224  pset.getUntrackedParameter<bool>("doPlotMASS", false),
225  pset.getUntrackedParameter<bool>("doPlotENERGY", false),
226  pset.getUntrackedParameter<bool>("doPlotHEP17", true),
227  pset.getUntrackedParameter<bool>("doPlotCSV", false),
228  pset.getUntrackedParameter<bool>("doCALO", false),
229  pset.getUntrackedParameter<bool>("doPF", false),
230  pset.getUntrackedParameter<bool>("doPlotRazor", false),
231  pset.getUntrackedParameter<bool>("doPlotDXY", false),
232  pset.getUntrackedParameter<bool>("doPlotDZ", false),
233  pset.getUntrackedParameter<bool>("doPlotDiMass", false)};
234 }

References muonDTDigis_cfi::pset, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by getPSet().

◆ getPSet()

void HLTObjectsMonitor::getPSet ( )
private

Definition at line 236 of file HLTObjectsMonitor.cc.

236  {
237  for (const auto& pset : plotPSETS_)
238  hltPlots_.push_back(getPlotPSet(pset));
239 }

References getPlotPSet(), hltPlots_, plotPSETS_, and muonDTDigis_cfi::pset.

Referenced by HLTObjectsMonitor().

◆ isHEM17()

bool HLTObjectsMonitor::isHEM17 ( double  eta,
double  phi 
)
private

Definition at line 247 of file HLTObjectsMonitor.cc.

247  {
248  if ((eta >= -MAX_ETA_HEP17 && eta <= -MIN_ETA_HEP17) && (phi >= MIN_PHI_HEP17 && phi <= MAX_PHI_HEP17))
249  return true;
250  else
251  return false;
252 }

References PVValHelper::eta, MAX_ETA_HEP17, MAX_PHI_HEP17, MIN_ETA_HEP17, MIN_PHI_HEP17, and phi.

Referenced by analyze().

◆ isHEP17()

bool HLTObjectsMonitor::isHEP17 ( double  eta,
double  phi 
)
private

Definition at line 241 of file HLTObjectsMonitor.cc.

241  {
242  if ((eta >= MIN_ETA_HEP17 && eta <= MAX_ETA_HEP17) && (phi >= MIN_PHI_HEP17 && phi <= MAX_PHI_HEP17))
243  return true;
244  else
245  return false;
246 }

References PVValHelper::eta, MAX_ETA_HEP17, MAX_PHI_HEP17, MIN_ETA_HEP17, MIN_PHI_HEP17, and phi.

Referenced by analyze().

Member Data Documentation

◆ backupFolder_

std::string HLTObjectsMonitor::backupFolder_
private

Definition at line 133 of file HLTObjectsMonitor.cc.

Referenced by bookHistograms(), and HLTObjectsMonitor().

◆ beamSpot_

edm::InputTag HLTObjectsMonitor::beamSpot_
private

Definition at line 138 of file HLTObjectsMonitor.cc.

Referenced by dxyFinder().

◆ beamSpotToken_

edm::EDGetTokenT<reco::BeamSpot> HLTObjectsMonitor::beamSpotToken_
private

Definition at line 139 of file HLTObjectsMonitor.cc.

Referenced by analyze().

◆ caloJetBTagsToken_

edm::EDGetTokenT<reco::JetTagCollection> HLTObjectsMonitor::caloJetBTagsToken_
private

Definition at line 141 of file HLTObjectsMonitor.cc.

Referenced by analyze().

◆ csv_binning_

const MEbinning HLTObjectsMonitor::csv_binning_ {N_CSV, -MAX_CSV, MAX_CSV}
private

Definition at line 163 of file HLTObjectsMonitor.cc.

Referenced by bookHistograms().

◆ debug_

bool HLTObjectsMonitor::debug_
private

Definition at line 130 of file HLTObjectsMonitor.cc.

Referenced by analyze(), bookHistograms(), dqmBeginRun(), and dzFinder().

◆ eleCandidates_

edm::InputTag HLTObjectsMonitor::eleCandidates_
private

Definition at line 146 of file HLTObjectsMonitor.cc.

Referenced by dxyFinder(), and dzFinder().

◆ eleCandidatesToken_

edm::EDGetTokenT<std::vector<reco::RecoChargedCandidate> > HLTObjectsMonitor::eleCandidatesToken_
private

Definition at line 147 of file HLTObjectsMonitor.cc.

Referenced by analyze().

◆ eta_binning_hem17_

const MEbinning HLTObjectsMonitor::eta_binning_hem17_ {N_ETA_HEP17, -MAX_ETA_HEP17, MIN_ETA_HEP17}
private

Definition at line 181 of file HLTObjectsMonitor.cc.

◆ eta_binning_hep17_

const MEbinning HLTObjectsMonitor::eta_binning_hep17_ {N_ETA_HEP17, MIN_ETA_HEP17, MAX_ETA_HEP17}
private

Definition at line 179 of file HLTObjectsMonitor.cc.

◆ eventsPlot_

MonitorElement* HLTObjectsMonitor::eventsPlot_
private

Definition at line 126 of file HLTObjectsMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ hltConfig_

HLTConfigProvider HLTObjectsMonitor::hltConfig_
private

Definition at line 124 of file HLTObjectsMonitor.cc.

Referenced by analyze(), and dqmBeginRun().

◆ hltPlots_

std::vector<hltPlot> HLTObjectsMonitor::hltPlots_
private

Definition at line 127 of file HLTObjectsMonitor.cc.

Referenced by analyze(), bookHistograms(), dqmBeginRun(), and getPSet().

◆ label_

std::string HLTObjectsMonitor::label_
private

◆ mainFolder_

std::string HLTObjectsMonitor::mainFolder_
private

Definition at line 132 of file HLTObjectsMonitor.cc.

Referenced by bookHistograms(), and HLTObjectsMonitor().

◆ MASS_MU

const double HLTObjectsMonitor::MASS_MU = .105658
private

Definition at line 149 of file HLTObjectsMonitor.cc.

Referenced by analyze().

◆ MAX_CSV

double HLTObjectsMonitor::MAX_CSV = 1.
private

Definition at line 161 of file HLTObjectsMonitor.cc.

◆ MAX_ETA_HEP17

double HLTObjectsMonitor::MAX_ETA_HEP17 = 3.0
private

Definition at line 176 of file HLTObjectsMonitor.cc.

Referenced by isHEM17(), and isHEP17().

◆ MAX_PHI

double HLTObjectsMonitor::MAX_PHI = 3.2
private

Definition at line 157 of file HLTObjectsMonitor.cc.

Referenced by HLTObjectsMonitor().

◆ MAX_PHI_HEP17

double HLTObjectsMonitor::MAX_PHI_HEP17 = -0.52
private

Definition at line 172 of file HLTObjectsMonitor.cc.

Referenced by isHEM17(), and isHEP17().

◆ MIN_ETA_HEP17

double HLTObjectsMonitor::MIN_ETA_HEP17 = 1.3
private

Definition at line 177 of file HLTObjectsMonitor.cc.

Referenced by isHEM17(), and isHEP17().

◆ MIN_PHI_HEP17

double HLTObjectsMonitor::MIN_PHI_HEP17 = -0.87
private

Definition at line 173 of file HLTObjectsMonitor.cc.

Referenced by isHEM17(), and isHEP17().

◆ muCandidates_

edm::InputTag HLTObjectsMonitor::muCandidates_
private

Definition at line 144 of file HLTObjectsMonitor.cc.

Referenced by dxyFinder(), and dzFinder().

◆ muCandidatesToken_

edm::EDGetTokenT<std::vector<reco::RecoChargedCandidate> > HLTObjectsMonitor::muCandidatesToken_
private

Definition at line 145 of file HLTObjectsMonitor.cc.

Referenced by analyze().

◆ N_CSV

int HLTObjectsMonitor::N_CSV = 20
private

Definition at line 162 of file HLTObjectsMonitor.cc.

◆ N_ETA_HEP17

int HLTObjectsMonitor::N_ETA_HEP17 = 6
private

Definition at line 178 of file HLTObjectsMonitor.cc.

◆ N_PHI

int HLTObjectsMonitor::N_PHI = 64
private

Definition at line 158 of file HLTObjectsMonitor.cc.

Referenced by HLTObjectsMonitor().

◆ N_PHI_HEP17

int HLTObjectsMonitor::N_PHI_HEP17 = 7
private

Definition at line 174 of file HLTObjectsMonitor.cc.

◆ pfJetBTagsToken_

edm::EDGetTokenT<reco::JetTagCollection> HLTObjectsMonitor::pfJetBTagsToken_
private

Definition at line 142 of file HLTObjectsMonitor.cc.

Referenced by analyze().

◆ phi_binning_

const MEbinning HLTObjectsMonitor::phi_binning_ {N_PHI, -MAX_PHI, MAX_PHI}
private

Definition at line 159 of file HLTObjectsMonitor.cc.

◆ phi_binning_hep17_

const MEbinning HLTObjectsMonitor::phi_binning_hep17_ {N_PHI_HEP17, MIN_PHI_HEP17, MAX_PHI_HEP17}
private

Definition at line 175 of file HLTObjectsMonitor.cc.

◆ phi_variable_binning_

std::vector<double> HLTObjectsMonitor::phi_variable_binning_
private

Definition at line 165 of file HLTObjectsMonitor.cc.

Referenced by HLTObjectsMonitor().

◆ plotNamesToBins_

std::unordered_map<std::string, int> HLTObjectsMonitor::plotNamesToBins_
private

Definition at line 128 of file HLTObjectsMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ plotPSETS_

std::vector<edm::ParameterSet> HLTObjectsMonitor::plotPSETS_
private

Definition at line 122 of file HLTObjectsMonitor.cc.

Referenced by getPSet().

◆ processName_

std::string HLTObjectsMonitor::processName_
private

Definition at line 121 of file HLTObjectsMonitor.cc.

Referenced by analyze(), and dqmBeginRun().

◆ TopFolder_

std::string HLTObjectsMonitor::TopFolder_
private

Definition at line 119 of file HLTObjectsMonitor.cc.

Referenced by bookHistograms(), and HLTObjectsMonitor().

◆ triggerEventToken_

edm::EDGetTokenT<trigger::TriggerEvent> HLTObjectsMonitor::triggerEventToken_
private

Definition at line 136 of file HLTObjectsMonitor.cc.

Referenced by analyze().

◆ triggerResultsToken_

edm::EDGetTokenT<edm::TriggerResults> HLTObjectsMonitor::triggerResultsToken_
private

Definition at line 135 of file HLTObjectsMonitor.cc.

Referenced by analyze().

muonTagProbeFilters_cff.matched
matched
Definition: muonTagProbeFilters_cff.py:62
HLTObjectsMonitor_cfi.eleCandidates
eleCandidates
Definition: HLTObjectsMonitor_cfi.py:15
HLTObjectsMonitor::dzFinder
double dzFinder(double, double, double, double, edm::Handle< reco::RecoChargedCandidateCollection >, double)
Definition: HLTObjectsMonitor.cc:910
HLTObjectsMonitor::triggerResultsToken_
edm::EDGetTokenT< edm::TriggerResults > triggerResultsToken_
Definition: HLTObjectsMonitor.cc:135
HLTObjectsMonitor::MEbinning::xmax
double xmax
Definition: HLTObjectsMonitor.cc:154
runGCPTkAlMap.title
string title
Definition: runGCPTkAlMap.py:94
HLTObjectsMonitor::csv_binning_
const MEbinning csv_binning_
Definition: HLTObjectsMonitor.cc:163
mps_fire.i
i
Definition: mps_fire.py:428
HLTObjectsMonitor_cfi.muCandidates
muCandidates
Definition: HLTObjectsMonitor_cfi.py:14
HLTObjectsMonitor::triggerEventToken_
edm::EDGetTokenT< trigger::TriggerEvent > triggerEventToken_
Definition: HLTObjectsMonitor.cc:136
HLTObjectsMonitor::getPlotPSet
static hltPlot getPlotPSet(edm::ParameterSet pset)
Definition: HLTObjectsMonitor.cc:191
step
step
Definition: StallMonitor.cc:94
HLTObjectsMonitor::MIN_PHI_HEP17
double MIN_PHI_HEP17
Definition: HLTObjectsMonitor.cc:173
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
HLTObjectsMonitor::backupFolder_
std::string backupFolder_
Definition: HLTObjectsMonitor.cc:133
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
HLTObjectsMonitor::plotNamesToBins_
std::unordered_map< std::string, int > plotNamesToBins_
Definition: HLTObjectsMonitor.cc:128
gather_cfg.cout
cout
Definition: gather_cfg.py:144
objects
Definition: __init__.py:1
HLTObjectsMonitor::muCandidates_
edm::InputTag muCandidates_
Definition: HLTObjectsMonitor.cc:144
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89287
reco::LeafCandidate::vz
double vz() const override
z coordinate of vertex position
Definition: LeafCandidate.h:171
triggerResults
static const std::string triggerResults
Definition: EdmProvDump.cc:45
HLTObjectsMonitor::debug_
bool debug_
Definition: HLTObjectsMonitor.cc:130
HLTObjectsMonitor::processName_
std::string processName_
Definition: HLTObjectsMonitor.cc:121
hlt_dqm_clientPB-live_cfg.nbinsX
nbinsX
Definition: hlt_dqm_clientPB-live_cfg.py:65
HLTObjectsMonitor_cfi.pfJetBTags
pfJetBTags
Definition: HLTObjectsMonitor_cfi.py:13
HLTObjectsMonitor::hltPlots_
std::vector< hltPlot > hltPlots_
Definition: HLTObjectsMonitor.cc:127
HLTObjectsMonitor::isHEP17
bool isHEP17(double eta, double phi)
Definition: HLTObjectsMonitor.cc:241
HLTObjectsMonitor_cfi.beamspot
beamspot
Definition: HLTObjectsMonitor_cfi.py:11
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
relativeConstraints.keys
keys
Definition: relativeConstraints.py:89
reco::LeafCandidate::pt
double pt() const final
transverse momentum
Definition: LeafCandidate.h:146
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
findQualityFiles.v
v
Definition: findQualityFiles.py:179
edm::Handle< edm::TriggerResults >
plotFactory.plot
plot
Definition: plotFactory.py:109
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
HLTObjectsMonitor::eleCandidates_
edm::InputTag eleCandidates_
Definition: HLTObjectsMonitor.cc:146
heavyIonCSV_trainingSettings.idx
idx
Definition: heavyIonCSV_trainingSettings.py:5
HLTObjectsMonitor::eleCandidatesToken_
edm::EDGetTokenT< std::vector< reco::RecoChargedCandidate > > eleCandidatesToken_
Definition: HLTObjectsMonitor.cc:147
HLTObjectsMonitor::MAX_PHI_HEP17
double MAX_PHI_HEP17
Definition: HLTObjectsMonitor.cc:172
HLTObjectsMonitor::N_PHI
int N_PHI
Definition: HLTObjectsMonitor.cc:158
HLTConfigProvider::moduleLabels
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
Definition: HLTConfigProvider.h:76
HLTObjectsMonitor_cfi.caloJetBTags
caloJetBTags
Definition: HLTObjectsMonitor_cfi.py:12
HLTObjectsMonitor::beamSpotToken_
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
Definition: HLTObjectsMonitor.cc:139
hltMonBTagIPClient_cfi.pathName
pathName
Definition: hltMonBTagIPClient_cfi.py:5
HLTObjectsMonitor::beamSpot_
edm::InputTag beamSpot_
Definition: HLTObjectsMonitor.cc:138
HLTConfigProvider::saveTags
bool saveTags(const std::string &module) const
Is module an L3 filter (ie, tracked saveTags=true)
Definition: HLTConfigProvider.h:116
PVValHelper::eta
Definition: PVValidationHelpers.h:69
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
HLT_FULL_cff.eta2
eta2
Definition: HLT_FULL_cff.py:9542
mps_fire.end
end
Definition: mps_fire.py:242
LaserClient_cfi.nbins
nbins
Definition: LaserClient_cfi.py:51
beamspot
Definition: BeamSpotWrite2Txt.h:8
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
q2
double q2[4]
Definition: TauolaWrapper.h:88
PbPb_ZMuSkimMuonDPG_cff.deltaR
deltaR
Definition: PbPb_ZMuSkimMuonDPG_cff.py:63
HLTConfigProvider::removeVersion
static const std::string removeVersion(const std::string &trigger)
Definition: HLTConfigProvider.cc:238
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HLT_FULL_cff.eta1
eta1
Definition: HLT_FULL_cff.py:9541
hlt_dqm_clientPB-live_cfg.nbinsY
nbinsY
Definition: hlt_dqm_clientPB-live_cfg.py:69
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:223
q1
double q1[4]
Definition: TauolaWrapper.h:87
HLTObjectsMonitor::dxyFinder
double dxyFinder(double, double, edm::Handle< reco::RecoChargedCandidateCollection >, edm::Handle< reco::BeamSpot >, double)
Definition: HLTObjectsMonitor.cc:871
reco::LeafCandidate::eta
double eta() const final
momentum pseudorapidity
Definition: LeafCandidate.h:152
HLTObjectsMonitor::hltConfig_
HLTConfigProvider hltConfig_
Definition: HLTObjectsMonitor.cc:124
HLTObjectsMonitor::MAX_PHI
double MAX_PHI
Definition: HLTObjectsMonitor.cc:157
trigger::TriggerObjectCollection
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
iEvent
int iEvent
Definition: GenABIO.cc:224
EcalCalibMonitorClient_cfi.moduleName
moduleName
Definition: EcalCalibMonitorClient_cfi.py:17
dqm::impl::MonitorElement::setBinLabel
virtual 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)
Definition: MonitorElement.cc:771
trigger::Keys
std::vector< size_type > Keys
Definition: TriggerTypeDefs.h:19
HLTObjectsMonitor::MIN_ETA_HEP17
double MIN_ETA_HEP17
Definition: HLTObjectsMonitor.cc:177
reco::RecoChargedCandidate
Definition: RecoChargedCandidate.h:15
triggerPaths
static const std::string triggerPaths
Definition: EdmProvDump.cc:46
HLT_FULL_cff.pt2
pt2
Definition: HLT_FULL_cff.py:9872
HLTObjectsMonitor::label_
std::string label_
Definition: HLTObjectsMonitor.cc:120
PDWG_DiPhoton_SD_cff.triggerEvent
triggerEvent
Definition: PDWG_DiPhoton_SD_cff.py:39
HLTObjectsMonitor::isHEM17
bool isHEM17(double eta, double phi)
Definition: HLTObjectsMonitor.cc:247
HLTConfigProvider::triggerIndex
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 to size-1)
Definition: HLTConfigProvider.h:73
DDAxes::phi
HLTObjectsMonitor::MAX_ETA_HEP17
double MAX_ETA_HEP17
Definition: HLTObjectsMonitor.cc:176
HLTConfigProvider::init
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
Definition: HLTConfigProvider.cc:36
HLTObjectsMonitor::plotPSETS_
std::vector< edm::ParameterSet > plotPSETS_
Definition: HLTObjectsMonitor.cc:122
PVValHelper::dxy
Definition: PVValidationHelpers.h:47
reco::LeafCandidate::phi
double phi() const final
momentum azimuthal angle
Definition: LeafCandidate.h:148
PVValHelper::dz
Definition: PVValidationHelpers.h:50
HLTObjectsMonitor::muCandidatesToken_
edm::EDGetTokenT< std::vector< reco::RecoChargedCandidate > > muCandidatesToken_
Definition: HLTObjectsMonitor.cc:145
HLT_FULL_cff.candidates
candidates
Definition: HLT_FULL_cff.py:54985
HLTObjectsMonitor::MEbinning::xmin
double xmin
Definition: HLTObjectsMonitor.cc:153
hltPlot
Definition: HLTObjectsMonitor.cc:41
HLTObjectsMonitor::MEbinning::nbins
int nbins
Definition: HLTObjectsMonitor.cc:152
EgHLTOffHistBins_cfi.mass
mass
Definition: EgHLTOffHistBins_cfi.py:34
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
HLTObjectsMonitor::TopFolder_
std::string TopFolder_
Definition: HLTObjectsMonitor.cc:119
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
HLTObjectsMonitor::pfJetBTagsToken_
edm::EDGetTokenT< reco::JetTagCollection > pfJetBTagsToken_
Definition: HLTObjectsMonitor.cc:142
HLTObjectsMonitor::getPSet
void getPSet()
Definition: HLTObjectsMonitor.cc:236
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
HGC3DClusterGenMatchSelector_cfi.dR
dR
Definition: HGC3DClusterGenMatchSelector_cfi.py:7
HLTConfigProvider::triggerNames
const std::vector< std::string > & triggerNames() const
names of trigger paths
Definition: HLTConfigProvider.h:69
globals_cff.id2
id2
Definition: globals_cff.py:34
crabWrapper.key
key
Definition: crabWrapper.py:19
HLTObjectsMonitor::MASS_MU
const double MASS_MU
Definition: HLTObjectsMonitor.cc:149
dqm::impl::MonitorElement::setAxisTitle
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:800
HLTObjectsMonitor::phi_variable_binning_
std::vector< double > phi_variable_binning_
Definition: HLTObjectsMonitor.cc:165
HLTObjectsMonitor::eventsPlot_
MonitorElement * eventsPlot_
Definition: HLTObjectsMonitor.cc:126
edm::InputTag
Definition: InputTag.h:15
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
HLTObjectsMonitor::caloJetBTagsToken_
edm::EDGetTokenT< reco::JetTagCollection > caloJetBTagsToken_
Definition: HLTObjectsMonitor.cc:141
HLTObjectsMonitor::mainFolder_
std::string mainFolder_
Definition: HLTObjectsMonitor.cc:132
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443