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 hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () 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_2018_cff::eta2, eventsPlot_, dqm::impl::MonitorElement::Fill(), hltConfig_, hltPlots_, globals_cff::id2, charmTagsComputerCvsB_cfi::idx, iEvent, HLT_2018_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_2018_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_, 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, overlapproblemtsosanalyzer_cfi::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_2018_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_2018_cff::candidates, gather_cfg::cout, debug_, PbPb_ZMuSkimMuonDPG_cff::deltaR, PVValHelper::dz, eleCandidates_, reco::LeafCandidate::eta(), HLT_2018_cff::eta1, HLT_2018_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
HLTObjectsMonitor::csv_binning_
const MEbinning csv_binning_
Definition: HLTObjectsMonitor.cc:163
mps_fire.i
i
Definition: mps_fire.py:355
HLT_2018_cff.pt2
pt2
Definition: HLT_2018_cff.py:8552
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
HLT_2018_cff.eta1
eta1
Definition: HLT_2018_cff.py:8220
HLTObjectsMonitor::muCandidates_
edm::InputTag muCandidates_
Definition: HLTObjectsMonitor.cc:144
edm::LogInfo
Definition: MessageLogger.h:254
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
charmTagsComputerCvsB_cfi.idx
idx
Definition: charmTagsComputerCvsB_cfi.py:108
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
findQualityFiles.v
v
Definition: findQualityFiles.py:179
edm::Handle< edm::TriggerResults >
plotFactory.plot
plot
Definition: plotFactory.py:109
end
#define end
Definition: vmac.h:39
HLTObjectsMonitor::eleCandidates_
edm::InputTag eleCandidates_
Definition: HLTObjectsMonitor.cc:146
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:75
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:115
PVValHelper::eta
Definition: PVValidationHelpers.h:69
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
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
HLT_2018_cff.eta2
eta2
Definition: HLT_2018_cff.py:8221
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
edm::LogWarning
Definition: MessageLogger.h:141
hlt_dqm_clientPB-live_cfg.nbinsY
nbinsY
Definition: hlt_dqm_clientPB-live_cfg.py:69
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
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
module
Definition: vlib.h:198
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:72
overlapproblemtsosanalyzer_cfi.title
title
Definition: overlapproblemtsosanalyzer_cfi.py:7
DDAxes::phi
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
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_2018_cff.candidates
candidates
Definition: HLT_2018_cff.py:53513
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
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:68
globals_cff.id2
id2
Definition: globals_cff.py:33
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