CMS 3D CMS Logo

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

Public Types

typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- 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 >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 
- Public Types inherited from TriggerDQMBase
typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 

Public Member Functions

 METMonitor (const edm::ParameterSet &)
 
 ~METMonitor () override throw ()
 
- 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
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 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
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 
- Public Member Functions inherited from TriggerDQMBase
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbins, const double xmin, const double xmax, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const std::vector< double > &binningX, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbinsX, const double xmin, const double xmax, const double ymin, const double ymax, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbinsX, const double xmin, const double xmax, const uint nbinsY, const double ymin, const double ymax, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const std::vector< double > &binningX, const std::vector< double > &binningY, const bool bookDen=true)
 
void setMETitle (ObjME &me, const std::string &titleX, const std::string &titleY)
 
 TriggerDQMBase ()=default
 
virtual ~TriggerDQMBase ()=default
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- 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 &)
 
- Static Public Member Functions inherited from TriggerDQMBase
static void fillHistoLSPSetDescription (edm::ParameterSetDescription &pset)
 
static void fillHistoPSetDescription (edm::ParameterSetDescription &pset)
 
static MEbinning getHistoLSPSet (const edm::ParameterSet &pset)
 
static MEbinning getHistoPSet (const edm::ParameterSet &pset)
 

Protected Member Functions

void analyze (edm::Event const &iEvent, edm::EventSetup const &iSetup) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Private Attributes

ObjME deltaphij1j2ME_
 
ObjME deltaphimetj1ME_
 
std::unique_ptr< GenericTriggerEventFlagden_genTriggerEventFlag_
 
edm::InputTag eleInputTag_
 
StringCutObjectSelector< reco::GsfElectron, true > eleSelection_
 
edm::EDGetTokenT< reco::GsfElectronCollectioneleToken_
 
const bool enableFullMonitoring_
 
ObjME etaj1ME_
 
ObjME etaj2ME_
 
const std::string folderName_
 
bool hltPathsAreValid_
 
ObjME jetEtaME_
 
edm::InputTag jetInputTag_
 
ObjME jetPhiME_
 
ObjME jetpt1ME_
 
ObjME jetpt2ME_
 
std::vector< double > jetptBinning_
 
ObjME jetPtME_
 
StringCutObjectSelector< reco::PFJet, true > jetSelection_
 
edm::EDGetTokenT< reco::PFJetCollectionjetToken_
 
MEbinning ls_binning_
 
MEbinning met_binning_
 
std::vector< double > met_variable_binning_
 
edm::InputTag metInputTag_
 
ObjME metME_
 
ObjME metME_variableBinning_
 
ObjME metPhiME_
 
StringCutObjectSelector< reco::MET, true > metSelection_
 
edm::EDGetTokenT< reco::PFMETCollectionmetToken_
 
ObjME metVsLS_
 
edm::InputTag muoInputTag_
 
StringCutObjectSelector< reco::Muon, true > muoSelection_
 
edm::EDGetTokenT< reco::MuonCollectionmuoToken_
 
unsigned nelectrons_
 
unsigned njets_
 
ObjME nJetsME_
 
unsigned nmuons_
 
std::unique_ptr< GenericTriggerEventFlagnum_genTriggerEventFlag_
 
ObjME phij1ME_
 
ObjME phij2ME_
 
const bool requireValidHLTPaths_
 
edm::InputTag vtxInputTag_
 
edm::EDGetTokenT< reco::VertexCollectionvtxToken_
 
std::vector< bool > warningPrinted4token_
 

Static Private Attributes

static constexpr MEbinning eta_binning {N_ETA, -MAX_ETA, MAX_ETA}
 
static constexpr double MAX_ETA = 5.0
 
static constexpr int MAX_NJETS = 200
 
static constexpr double MAX_PHI = 3.2
 
static constexpr int MIN_NJETS = 0
 
static constexpr int N_BIN_NJETS = 200
 
static constexpr int N_ETA = 50
 
static constexpr int N_PHI = 64
 
static constexpr MEbinning nJets_binning {N_BIN_NJETS, MIN_NJETS, MAX_NJETS}
 
static constexpr MEbinning phi_binning_ {N_PHI, -MAX_PHI, MAX_PHI}
 

Additional Inherited Members

- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 27 of file METMonitor.cc.

Member Typedef Documentation

◆ DQMStore

Definition at line 30 of file METMonitor.cc.

◆ MonitorElement

Definition at line 29 of file METMonitor.cc.

Constructor & Destructor Documentation

◆ METMonitor()

METMonitor::METMonitor ( const edm::ParameterSet iConfig)

Definition at line 109 of file METMonitor.cc.

References warningPrinted4token_.

110  : folderName_(iConfig.getParameter<std::string>("FolderName")),
111  requireValidHLTPaths_(iConfig.getParameter<bool>("requireValidHLTPaths")),
112  hltPathsAreValid_(false),
113  enableFullMonitoring_(iConfig.getParameter<bool>("enableFullMonitoring")),
114  metInputTag_(iConfig.getParameter<edm::InputTag>("met")),
115  jetInputTag_(iConfig.getParameter<edm::InputTag>("jets")),
116  eleInputTag_(iConfig.getParameter<edm::InputTag>("electrons")),
117  muoInputTag_(iConfig.getParameter<edm::InputTag>("muons")),
118  vtxInputTag_(iConfig.getParameter<edm::InputTag>("vertices")),
119  metToken_(consumes<reco::PFMETCollection>(metInputTag_)),
120  jetToken_(mayConsume<reco::PFJetCollection>(jetInputTag_)),
121  eleToken_(mayConsume<reco::GsfElectronCollection>(eleInputTag_)),
122  muoToken_(mayConsume<reco::MuonCollection>(muoInputTag_)),
123  vtxToken_(mayConsume<reco::VertexCollection>(vtxInputTag_)),
125  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<std::vector<double> >("metBinning")),
127  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<std::vector<double> >("jetptBinning")),
129  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("metPSet"))),
130  ls_binning_(
131  getHistoPSet(iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("lsPSet"))),
133  iConfig.getParameter<edm::ParameterSet>("numGenericTriggerEventPSet"), consumesCollector(), *this)),
135  iConfig.getParameter<edm::ParameterSet>("denGenericTriggerEventPSet"), consumesCollector(), *this)),
136  metSelection_(iConfig.getParameter<std::string>("metSelection")),
137  jetSelection_(iConfig.getParameter<std::string>("jetSelection")),
138  eleSelection_(iConfig.getParameter<std::string>("eleSelection")),
139  muoSelection_(iConfig.getParameter<std::string>("muoSelection")),
140  njets_(iConfig.getParameter<unsigned>("njets")),
141  nelectrons_(iConfig.getParameter<unsigned>("nelectrons")),
142  nmuons_(iConfig.getParameter<unsigned>("nmuons")) {
143  // this vector has to be alligned to the the number of Tokens accessed by this module
144  warningPrinted4token_.push_back(false); // PFMETCollection
145  warningPrinted4token_.push_back(false); // JetCollection
146  warningPrinted4token_.push_back(false); // GsfElectronCollection
147  warningPrinted4token_.push_back(false); // MuonCollection
148  warningPrinted4token_.push_back(false); // VertexCollection
149 }
StringCutObjectSelector< reco::PFJet, true > jetSelection_
Definition: METMonitor.cc:85
unsigned nmuons_
Definition: METMonitor.cc:91
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: METMonitor.cc:82
edm::InputTag vtxInputTag_
Definition: METMonitor.cc:51
StringCutObjectSelector< reco::GsfElectron, true > eleSelection_
Definition: METMonitor.cc:86
edm::InputTag muoInputTag_
Definition: METMonitor.cc:50
edm::EDGetTokenT< reco::VertexCollection > vtxToken_
Definition: METMonitor.cc:57
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: METMonitor.cc:81
edm::InputTag eleInputTag_
Definition: METMonitor.cc:49
std::vector< double > jetptBinning_
Definition: METMonitor.cc:60
unsigned njets_
Definition: METMonitor.cc:89
static MEbinning getHistoPSet(const edm::ParameterSet &pset)
const bool enableFullMonitoring_
Definition: METMonitor.cc:45
edm::EDGetTokenT< reco::GsfElectronCollection > eleToken_
Definition: METMonitor.cc:55
MEbinning met_binning_
Definition: METMonitor.cc:61
edm::EDGetTokenT< reco::PFJetCollection > jetToken_
Definition: METMonitor.cc:54
edm::EDGetTokenT< reco::PFMETCollection > metToken_
Definition: METMonitor.cc:53
StringCutObjectSelector< reco::Muon, true > muoSelection_
Definition: METMonitor.cc:87
edm::EDGetTokenT< reco::MuonCollection > muoToken_
Definition: METMonitor.cc:56
unsigned nelectrons_
Definition: METMonitor.cc:90
const bool requireValidHLTPaths_
Definition: METMonitor.cc:43
std::vector< double > met_variable_binning_
Definition: METMonitor.cc:59
edm::InputTag metInputTag_
Definition: METMonitor.cc:47
StringCutObjectSelector< reco::MET, true > metSelection_
Definition: METMonitor.cc:84
MEbinning ls_binning_
Definition: METMonitor.cc:62
edm::InputTag jetInputTag_
Definition: METMonitor.cc:48
const std::string folderName_
Definition: METMonitor.cc:41
std::vector< bool > warningPrinted4token_
Definition: METMonitor.cc:106
bool hltPathsAreValid_
Definition: METMonitor.cc:44

◆ ~METMonitor()

METMonitor::~METMonitor ( )
throw (
)
override

Definition at line 151 of file METMonitor.cc.

References den_genTriggerEventFlag_, and num_genTriggerEventFlag_.

151  {
153  num_genTriggerEventFlag_.reset();
154  }
156  den_genTriggerEventFlag_.reset();
157  }
158 }
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: METMonitor.cc:82
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: METMonitor.cc:81

Member Function Documentation

◆ analyze()

void METMonitor::analyze ( edm::Event const &  iEvent,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 279 of file METMonitor.cc.

References srCondWrite_cfg::deltaPhi, deltaphij1j2ME_, deltaphimetj1ME_, den_genTriggerEventFlag_, TriggerDQMBase::ObjME::denominator, MillePedeFileConverter_cfg::e, pwdgSkimBPark_cfi::electrons, eleInputTag_, eleSelection_, eleToken_, enableFullMonitoring_, etaj1ME_, etaj2ME_, dqm::impl::MonitorElement::Fill(), hltPathsAreValid_, iEvent, edm::HandleBase::isValid(), dqmiolumiharvest::j, metsig::jet, jetEtaME_, jetInputTag_, jetPhiME_, jetpt1ME_, jetpt2ME_, jetPtME_, PDWG_EXODelayedJetMET_cff::jets, jetSelection_, jetToken_, edm::InputTag::label(), relval_nano::ls, visualization-live-secondInstance_cfg::m, BTaggingMonitor_cfi::met, metInputTag_, metME_, metME_variableBinning_, metPhiME_, metSelection_, metToken_, metVsLS_, muoInputTag_, DiMuonV_cfg::muons, muoSelection_, muoToken_, nelectrons_, njets_, nJetsME_, nmuons_, num_genTriggerEventFlag_, TriggerDQMBase::ObjME::numerator, phi, reco::LeafCandidate::phi(), phij1ME_, phij2ME_, reco::LeafCandidate::pt(), requireValidHLTPaths_, findQualityFiles::v, L1BJetProducer_cff::vtx, vtxInputTag_, vtxToken_, and warningPrinted4token_.

279  {
280  // if valid HLT paths are required,
281  // analyze event only if all paths are valid
283  return;
284  }
285 
286  // Filter out events if Trigger Filtering is requested
287  if (den_genTriggerEventFlag_->on() && !den_genTriggerEventFlag_->accept(iEvent, iSetup))
288  return;
289 
291  iEvent.getByToken(metToken_, metHandle);
292  if (!metHandle.isValid()) {
293  if (!warningPrinted4token_[0]) {
294  edm::LogWarning("METMonitor") << "skipping events because the collection " << metInputTag_.label().c_str()
295  << " is not available";
296  warningPrinted4token_[0] = true;
297  }
298  return;
299  }
300  reco::PFMET pfmet = metHandle->front();
301  if (!metSelection_(pfmet))
302  return;
303 
304  const float met = pfmet.pt();
305  const float phi = pfmet.phi();
306 
307  std::vector<reco::PFJet> jets;
309  iEvent.getByToken(jetToken_, jetHandle);
310  if (jetHandle.isValid()) {
311  if (jetHandle->size() < njets_)
312  return;
313  for (auto const& j : *jetHandle) {
314  if (jetSelection_(j)) {
315  jets.push_back(j);
316  }
317  }
318  } else {
319  if (!warningPrinted4token_[1]) {
320  if (jetInputTag_.label().empty())
321  edm::LogWarning("METMonitor") << "JetCollection not set";
322  else
323  edm::LogWarning("METMonitor") << "skipping events because the collection " << jetInputTag_.label().c_str()
324  << " is not available";
325  warningPrinted4token_[1] = true;
326  }
327  // if Handle is not valid, because the InputTag has been mis-configured, then skip the event
328  if (!jetInputTag_.label().empty())
329  return;
330  }
331  const float deltaPhi_met_j1 = !jets.empty() ? fabs(deltaPhi(pfmet.phi(), jets[0].phi())) : -10.0;
332  const float deltaPhi_j1_j2 = jets.size() >= 2 ? fabs(deltaPhi(jets[0].phi(), jets[1].phi())) : -10.0;
333  const int nJetsSel = jets.size();
334  const float Pt_J1 = !jets.empty() ? jets[0].pt() : -10.;
335  const float Pt_J2 = jets.size() >= 2 ? jets[1].pt() : -10.0;
336  const float Phi_J1 = !jets.empty() ? jets[0].phi() : -10.0;
337  const float Phi_J2 = jets.size() >= 2 ? jets[1].phi() : -10.0;
338  const float Eta_J1 = !jets.empty() ? jets[0].p4().eta() : -10.0;
339  const float Eta_J2 = jets.size() >= 2 ? jets[1].p4().eta() : -10.0;
340 
341  std::vector<reco::GsfElectron> electrons;
343  iEvent.getByToken(eleToken_, eleHandle);
344  if (eleHandle.isValid()) {
345  if (eleHandle->size() < nelectrons_)
346  return;
347  for (auto const& e : *eleHandle) {
348  if (eleSelection_(e))
349  electrons.push_back(e);
350  }
351  if (electrons.size() < nelectrons_)
352  return;
353  } else {
354  if (!warningPrinted4token_[2]) {
355  warningPrinted4token_[2] = true;
356  if (eleInputTag_.label().empty())
357  edm::LogWarning("METMonitor") << "GsfElectronCollection not set";
358  else
359  edm::LogWarning("METMonitor") << "skipping events because the collection " << eleInputTag_.label().c_str()
360  << " is not available";
361  }
362  if (!eleInputTag_.label().empty())
363  return;
364  }
365 
368  iEvent.getByToken(vtxToken_, vtxHandle);
369  if (vtxHandle.isValid()) {
370  for (auto const& v : *vtxHandle) {
371  bool isFake = v.isFake();
372 
373  if (!isFake) {
374  vtx = v;
375  break;
376  }
377  }
378  } else {
379  if (!warningPrinted4token_[3]) {
380  warningPrinted4token_[3] = true;
381  if (vtxInputTag_.label().empty())
382  edm::LogWarning("METMonitor") << "VertexCollection is not set";
383  else
384  edm::LogWarning("METMonitor") << "skipping events because the collection " << vtxInputTag_.label().c_str()
385  << " is not available";
386  }
387  if (!vtxInputTag_.label().empty())
388  return;
389  }
390 
391  std::vector<reco::Muon> muons;
393  iEvent.getByToken(muoToken_, muoHandle);
394  if (muoHandle.isValid()) {
395  if (muoHandle->size() < nmuons_)
396  return;
397  for (auto const& m : *muoHandle) {
398  bool pass = m.isGlobalMuon() && m.isPFMuon() && m.globalTrack()->normalizedChi2() < 10. &&
399  m.globalTrack()->hitPattern().numberOfValidMuonHits() > 0 && m.numberOfMatchedStations() > 1 &&
400  fabs(m.muonBestTrack()->dxy(vtx.position())) < 0.2 &&
401  fabs(m.muonBestTrack()->dz(vtx.position())) < 0.5 &&
402  m.innerTrack()->hitPattern().numberOfValidPixelHits() > 0 &&
403  m.innerTrack()->hitPattern().trackerLayersWithMeasurement() > 5;
404  if (muoSelection_(m) && pass)
405  muons.push_back(m);
406  }
407  if (muons.size() < nmuons_)
408  return;
409  } else {
410  if (!warningPrinted4token_[4]) {
411  warningPrinted4token_[4] = true;
412  if (muoInputTag_.label().empty())
413  edm::LogWarning("METMonitor") << "MuonCollection not set";
414  else
415  edm::LogWarning("METMonitor") << "skipping events because the collection " << muoInputTag_.label().c_str()
416  << " is not available";
417  }
418  if (!muoInputTag_.label().empty())
419  return;
420  }
421 
422  // filling histograms (denominator)
426  deltaphimetj1ME_.denominator->Fill(deltaPhi_met_j1);
427  deltaphij1j2ME_.denominator->Fill(deltaPhi_j1_j2);
428 
429  const int ls = iEvent.id().luminosityBlock();
431 
432  nJetsME_.denominator->Fill(nJetsSel);
433  for (auto const& jet : jets) {
434  jetPtME_.denominator->Fill(jet.pt());
435  jetPhiME_.denominator->Fill(jet.phi());
436  jetEtaME_.denominator->Fill(jet.p4().eta());
437  }
438  if (enableFullMonitoring_) { //===check the flag
439  jetpt1ME_.denominator->Fill(Pt_J1);
440  jetpt2ME_.denominator->Fill(Pt_J2);
441  phij1ME_.denominator->Fill(Phi_J1);
442  phij2ME_.denominator->Fill(Phi_J2);
443  etaj1ME_.denominator->Fill(Eta_J1);
444  etaj2ME_.denominator->Fill(Eta_J2);
445  }
446 
447  // applying selection for numerator
448  if (num_genTriggerEventFlag_->on() && !num_genTriggerEventFlag_->accept(iEvent, iSetup))
449  return;
450 
451  // filling histograms (num_genTriggerEventFlag_)
456  deltaphimetj1ME_.numerator->Fill(deltaPhi_met_j1);
457  deltaphij1j2ME_.numerator->Fill(deltaPhi_j1_j2);
458 
459  nJetsME_.numerator->Fill(nJetsSel);
460  for (auto const& jet : jets) {
461  jetPtME_.numerator->Fill(jet.pt());
462  jetPhiME_.numerator->Fill(jet.phi());
463  jetEtaME_.numerator->Fill(jet.p4().eta());
464  }
465  if (enableFullMonitoring_) { //===check the flag
466  jetpt1ME_.numerator->Fill(Pt_J1);
467  jetpt2ME_.numerator->Fill(Pt_J2);
468  phij1ME_.numerator->Fill(Phi_J1);
469  phij2ME_.numerator->Fill(Phi_J2);
470  etaj1ME_.numerator->Fill(Eta_J1);
471  etaj2ME_.numerator->Fill(Eta_J2);
472  }
473 }
ObjME jetPtME_
Definition: METMonitor.cc:78
StringCutObjectSelector< reco::PFJet, true > jetSelection_
Definition: METMonitor.cc:85
ObjME jetpt2ME_
Definition: METMonitor.cc:77
unsigned nmuons_
Definition: METMonitor.cc:91
edm::InputTag vtxInputTag_
Definition: METMonitor.cc:51
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: METMonitor.cc:82
double pt() const final
transverse momentum
StringCutObjectSelector< reco::GsfElectron, true > eleSelection_
Definition: METMonitor.cc:86
ObjME phij2ME_
Definition: METMonitor.cc:71
ObjME etaj1ME_
Definition: METMonitor.cc:73
edm::InputTag muoInputTag_
Definition: METMonitor.cc:50
edm::EDGetTokenT< reco::VertexCollection > vtxToken_
Definition: METMonitor.cc:57
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: METMonitor.cc:81
std::string const & label() const
Definition: InputTag.h:36
edm::InputTag eleInputTag_
Definition: METMonitor.cc:49
muons
the two sets of parameters below are mutually exclusive, depending if RECO or ALCARECO is used the us...
Definition: DiMuonV_cfg.py:214
unsigned njets_
Definition: METMonitor.cc:89
ObjME metPhiME_
Definition: METMonitor.cc:67
void Fill(long long x)
ObjME deltaphimetj1ME_
Definition: METMonitor.cc:68
ObjME metME_variableBinning_
Definition: METMonitor.cc:65
ObjME jetpt1ME_
Definition: METMonitor.cc:76
int iEvent
Definition: GenABIO.cc:224
const bool enableFullMonitoring_
Definition: METMonitor.cc:45
edm::EDGetTokenT< reco::GsfElectronCollection > eleToken_
Definition: METMonitor.cc:55
ObjME phij1ME_
Definition: METMonitor.cc:70
edm::EDGetTokenT< reco::PFJetCollection > jetToken_
Definition: METMonitor.cc:54
MonitorElement * denominator
MonitorElement * numerator
edm::EDGetTokenT< reco::PFMETCollection > metToken_
Definition: METMonitor.cc:53
StringCutObjectSelector< reco::Muon, true > muoSelection_
Definition: METMonitor.cc:87
ObjME nJetsME_
Definition: METMonitor.cc:79
edm::EDGetTokenT< reco::MuonCollection > muoToken_
Definition: METMonitor.cc:56
ObjME metME_
Definition: METMonitor.cc:64
ObjME deltaphij1j2ME_
Definition: METMonitor.cc:69
unsigned nelectrons_
Definition: METMonitor.cc:90
const bool requireValidHLTPaths_
Definition: METMonitor.cc:43
ObjME jetEtaME_
Definition: METMonitor.cc:75
ObjME etaj2ME_
Definition: METMonitor.cc:74
ObjME jetPhiME_
Definition: METMonitor.cc:72
bool isValid() const
Definition: HandleBase.h:70
edm::InputTag metInputTag_
Definition: METMonitor.cc:47
StringCutObjectSelector< reco::MET, true > metSelection_
Definition: METMonitor.cc:84
edm::InputTag jetInputTag_
Definition: METMonitor.cc:48
Log< level::Warning, false > LogWarning
std::vector< bool > warningPrinted4token_
Definition: METMonitor.cc:106
double phi() const final
momentum azimuthal angle
bool hltPathsAreValid_
Definition: METMonitor.cc:44
ObjME metVsLS_
Definition: METMonitor.cc:66

◆ bookHistograms()

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

Implements DQMEDAnalyzer.

Definition at line 160 of file METMonitor.cc.

References TriggerDQMBase::bookME(), deltaphij1j2ME_, deltaphimetj1ME_, den_genTriggerEventFlag_, enableFullMonitoring_, eta_binning, etaj1ME_, etaj2ME_, folderName_, hltPathsAreValid_, jetEtaME_, jetPhiME_, jetpt1ME_, jetpt2ME_, jetptBinning_, jetPtME_, ls_binning_, met_binning_, met_variable_binning_, metME_, metME_variableBinning_, metPhiME_, metVsLS_, TriggerDQMBase::MEbinning::nbins, nJets_binning, nJetsME_, num_genTriggerEventFlag_, phi_binning_, phij1ME_, phij2ME_, requireValidHLTPaths_, dqm::implementation::NavigatorBase::setCurrentFolder(), TriggerDQMBase::setMETitle(), AlCaHLTBitMon_QueryRunRegistry::string, TriggerDQMBase::MEbinning::xmax, and TriggerDQMBase::MEbinning::xmin.

160  {
161  // Initialize the GenericTriggerEventFlag
163  num_genTriggerEventFlag_->initRun(iRun, iSetup);
164  }
166  den_genTriggerEventFlag_->initRun(iRun, iSetup);
167  }
168 
169  // check if every HLT path specified in numerator and denominator has a valid match in the HLT Menu
171  den_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->allHLTPathsAreValid() &&
172  den_genTriggerEventFlag_->allHLTPathsAreValid());
173 
174  // if valid HLT paths are required,
175  // create DQM outputs only if all paths are valid
177  return;
178  }
179 
180  std::string histname, histtitle;
181 
182  std::string currentFolder = folderName_;
183  ibooker.setCurrentFolder(currentFolder);
184 
185  histname = "deltaphi_metjet1";
186  histtitle = "DPHI_METJ1";
187  bookME(ibooker, deltaphimetj1ME_, histname, histtitle, phi_binning_.nbins, phi_binning_.xmin, phi_binning_.xmax);
188  setMETitle(deltaphimetj1ME_, "delta phi (met, j1)", "events / 0.1 rad");
189 
190  histname = "deltaphi_jet1jet2";
191  histtitle = "DPHI_J1J2";
192  bookME(ibooker, deltaphij1j2ME_, histname, histtitle, phi_binning_.nbins, phi_binning_.xmin, phi_binning_.xmax);
193  setMETitle(deltaphij1j2ME_, "delta phi (j1, j2)", "events / 0.1 rad");
194 
195  histname = "met";
196  histtitle = "PFMET";
197  bookME(ibooker, metME_, histname, histtitle, met_binning_.nbins, met_binning_.xmin, met_binning_.xmax);
198  setMETitle(metME_, "PF MET [GeV]", "events / [GeV]");
199 
200  histname = "met_variable";
201  histtitle = "PFMET";
202  bookME(ibooker, metME_variableBinning_, histname, histtitle, met_variable_binning_);
203  setMETitle(metME_variableBinning_, "PF MET [GeV]", "events / [GeV]");
204 
205  histname = "metVsLS";
206  histtitle = "PFMET vs LS";
207  bookME(ibooker,
208  metVsLS_,
209  histname,
210  histtitle,
216  setMETitle(metVsLS_, "LS", "PF MET [GeV]");
217 
218  histname = "metPhi";
219  histtitle = "PFMET phi";
220  bookME(ibooker, metPhiME_, histname, histtitle, phi_binning_.nbins, phi_binning_.xmin, phi_binning_.xmax);
221  setMETitle(metPhiME_, "PF MET #phi", "events / 0.1 rad");
222 
223  histname = "jetEta";
224  histtitle = "Jet eta";
225  bookME(ibooker, jetEtaME_, histname, histtitle, eta_binning.nbins, eta_binning.xmin, eta_binning.xmax);
226  setMETitle(jetEtaME_, "Jet #eta", "events");
227 
228  histname = "jetPhi";
229  histtitle = "Jet phi";
230  bookME(ibooker, jetPhiME_, histname, histtitle, phi_binning_.nbins, phi_binning_.xmin, phi_binning_.xmax);
231  setMETitle(jetPhiME_, "Jet #phi", "events / 0.1 rad");
232 
233  histname = "jetPt";
234  histtitle = "Jet Pt";
235  bookME(ibooker, jetPtME_, histname, histtitle, jetptBinning_);
236  setMETitle(jetPtME_, "jet Pt[GeV]", "events");
237 
238  histname = "NJets";
239  histtitle = "number of Jets";
240  bookME(ibooker, nJetsME_, histname, histtitle, nJets_binning.nbins, nJets_binning.xmin, nJets_binning.xmax);
241  setMETitle(nJetsME_, "number of Jets", "events");
242 
243  //check the flag
244  if (!enableFullMonitoring_) {
245  return;
246  }
247 
248  histname = "jetEta_1";
249  histtitle = "leading Jet eta";
250  bookME(ibooker, etaj1ME_, histname, histtitle, eta_binning.nbins, eta_binning.xmin, eta_binning.xmax);
251  setMETitle(etaj1ME_, "Jet_1 #eta", "events");
252 
253  histname = "jetEta_2";
254  histtitle = "subleading Jet eta";
255  bookME(ibooker, etaj2ME_, histname, histtitle, eta_binning.nbins, eta_binning.xmin, eta_binning.xmax);
256  setMETitle(etaj2ME_, "Jet_2 #eta", "events");
257 
258  histname = "jetPhi_1";
259  histtitle = "leading Jet phi";
260  bookME(ibooker, phij1ME_, histname, histtitle, phi_binning_.nbins, phi_binning_.xmin, phi_binning_.xmax);
261  setMETitle(phij1ME_, "Jet_1 #phi", "events / 0.1 rad");
262 
263  histname = "jetPhi_2";
264  histtitle = "subleading Jet phi";
265  bookME(ibooker, phij2ME_, histname, histtitle, phi_binning_.nbins, phi_binning_.xmin, phi_binning_.xmax);
266  setMETitle(phij2ME_, "Jet_2 #phi", "events / 0.1 rad");
267 
268  histname = "jetPt_1";
269  histtitle = "leading Jet Pt";
270  bookME(ibooker, jetpt1ME_, histname, histtitle, jetptBinning_);
271  setMETitle(jetpt1ME_, "Pt_1 [GeV]", "events");
272 
273  histname = "jetPt_2";
274  histtitle = "second leading Jet Pt";
275  bookME(ibooker, jetpt2ME_, histname, histtitle, jetptBinning_);
276  setMETitle(jetpt2ME_, "Pt_2 [GeV]", "events");
277 }
ObjME jetPtME_
Definition: METMonitor.cc:78
ObjME jetpt2ME_
Definition: METMonitor.cc:77
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: METMonitor.cc:82
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
ObjME phij2ME_
Definition: METMonitor.cc:71
ObjME etaj1ME_
Definition: METMonitor.cc:73
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: METMonitor.cc:81
void setMETitle(ObjME &me, const std::string &titleX, const std::string &titleY)
std::vector< double > jetptBinning_
Definition: METMonitor.cc:60
ObjME metPhiME_
Definition: METMonitor.cc:67
ObjME deltaphimetj1ME_
Definition: METMonitor.cc:68
ObjME metME_variableBinning_
Definition: METMonitor.cc:65
ObjME jetpt1ME_
Definition: METMonitor.cc:76
const bool enableFullMonitoring_
Definition: METMonitor.cc:45
ObjME phij1ME_
Definition: METMonitor.cc:70
MEbinning met_binning_
Definition: METMonitor.cc:61
ObjME nJetsME_
Definition: METMonitor.cc:79
ObjME metME_
Definition: METMonitor.cc:64
ObjME deltaphij1j2ME_
Definition: METMonitor.cc:69
const bool requireValidHLTPaths_
Definition: METMonitor.cc:43
static constexpr MEbinning phi_binning_
Definition: METMonitor.cc:95
static constexpr MEbinning eta_binning
Definition: METMonitor.cc:99
std::vector< double > met_variable_binning_
Definition: METMonitor.cc:59
static constexpr MEbinning nJets_binning
Definition: METMonitor.cc:104
ObjME jetEtaME_
Definition: METMonitor.cc:75
ObjME etaj2ME_
Definition: METMonitor.cc:74
ObjME jetPhiME_
Definition: METMonitor.cc:72
void bookME(DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbins, const double xmin, const double xmax, const bool bookDen=true)
MEbinning ls_binning_
Definition: METMonitor.cc:62
const std::string folderName_
Definition: METMonitor.cc:41
bool hltPathsAreValid_
Definition: METMonitor.cc:44
ObjME metVsLS_
Definition: METMonitor.cc:66

◆ fillDescriptions()

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

Definition at line 475 of file METMonitor.cc.

References edm::ConfigurationDescriptions::add(), isotrackApplyRegressor::bins, submitPVResolutionJobs::desc, TriggerDQMBase::fillHistoLSPSetDescription(), TriggerDQMBase::fillHistoPSetDescription(), GenericTriggerEventFlag::fillPSetDescription(), SiStripSourceConfigTier0_cff::genericTriggerEventPSet, V0Monitor_cff::histoPSet, ProducerED_cfi::InputTag, V0Monitor_cfi::lsPSet, BTaggingMonitor_cfi::metPSet, and AlCaHLTBitMon_QueryRunRegistry::string.

475  {
477  desc.add<std::string>("FolderName", "HLT/MET");
478  desc.add<bool>("requireValidHLTPaths", true);
479  //========== flag to enable more or less outputs in each trigger =====
480  desc.add<bool>("enableFullMonitoring", false);
481 
482  desc.add<edm::InputTag>("met", edm::InputTag("pfMet"));
483  desc.add<edm::InputTag>("jets", edm::InputTag("ak4PFJetsCHS"));
484  desc.add<edm::InputTag>("electrons", edm::InputTag("gedGsfElectrons"));
485  desc.add<edm::InputTag>("muons", edm::InputTag("muons"));
486  desc.add<edm::InputTag>("vertices", edm::InputTag("offlinePrimaryVertices"));
487  desc.add<std::string>("metSelection", "pt > 0");
488  desc.add<std::string>("jetSelection", "pt > 0");
489  desc.add<std::string>("eleSelection", "pt > 0");
490  desc.add<std::string>("muoSelection", "pt > 0");
491  desc.add<unsigned>("njets", 0);
492  desc.add<unsigned>("nelectrons", 0);
493  desc.add<unsigned>("nmuons", 0);
494 
497 
498  desc.add<edm::ParameterSetDescription>("numGenericTriggerEventPSet", genericTriggerEventPSet);
499  desc.add<edm::ParameterSetDescription>("denGenericTriggerEventPSet", genericTriggerEventPSet);
500 
505  std::vector<double> bins = {0., 20., 40., 60., 80., 90., 100., 110., 120., 130., 140., 150., 160.,
506  170., 180., 190., 200., 220., 240., 260., 280., 300., 350., 400., 450., 1000.};
507  histoPSet.add<std::vector<double> >("metBinning", bins);
508  std::vector<double> bins_ = {
509  0., 20., 40., 60., 80., 90., 100., 110., 120., 130., 140., 150., 160.,
510  170., 180., 190., 200., 220., 240., 260., 280., 300., 350., 400., 450., 1000.}; // Jet pT Binning
511  histoPSet.add<std::vector<double> >("jetptBinning", bins_);
512 
516 
517  desc.add<edm::ParameterSetDescription>("histoPSet", histoPSet);
518 
519  descriptions.add("metMonitoring", desc);
520 }
static void fillHistoLSPSetDescription(edm::ParameterSetDescription &pset)
static void fillHistoPSetDescription(edm::ParameterSetDescription &pset)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
static void fillPSetDescription(edm::ParameterSetDescription &desc)

Member Data Documentation

◆ deltaphij1j2ME_

ObjME METMonitor::deltaphij1j2ME_
private

Definition at line 69 of file METMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ deltaphimetj1ME_

ObjME METMonitor::deltaphimetj1ME_
private

Definition at line 68 of file METMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ den_genTriggerEventFlag_

std::unique_ptr<GenericTriggerEventFlag> METMonitor::den_genTriggerEventFlag_
private

Definition at line 82 of file METMonitor.cc.

Referenced by analyze(), bookHistograms(), and ~METMonitor().

◆ eleInputTag_

edm::InputTag METMonitor::eleInputTag_
private

Definition at line 49 of file METMonitor.cc.

Referenced by analyze().

◆ eleSelection_

StringCutObjectSelector<reco::GsfElectron, true> METMonitor::eleSelection_
private

Definition at line 86 of file METMonitor.cc.

Referenced by analyze().

◆ eleToken_

edm::EDGetTokenT<reco::GsfElectronCollection> METMonitor::eleToken_
private

Definition at line 55 of file METMonitor.cc.

Referenced by analyze().

◆ enableFullMonitoring_

const bool METMonitor::enableFullMonitoring_
private

Definition at line 45 of file METMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ eta_binning

constexpr MEbinning METMonitor::eta_binning {N_ETA, -MAX_ETA, MAX_ETA}
staticprivate

Definition at line 99 of file METMonitor.cc.

Referenced by bookHistograms().

◆ etaj1ME_

ObjME METMonitor::etaj1ME_
private

Definition at line 73 of file METMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ etaj2ME_

ObjME METMonitor::etaj2ME_
private

Definition at line 74 of file METMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ folderName_

const std::string METMonitor::folderName_
private

Definition at line 41 of file METMonitor.cc.

Referenced by bookHistograms().

◆ hltPathsAreValid_

bool METMonitor::hltPathsAreValid_
private

Definition at line 44 of file METMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetEtaME_

ObjME METMonitor::jetEtaME_
private

Definition at line 75 of file METMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetInputTag_

edm::InputTag METMonitor::jetInputTag_
private

Definition at line 48 of file METMonitor.cc.

Referenced by analyze().

◆ jetPhiME_

ObjME METMonitor::jetPhiME_
private

Definition at line 72 of file METMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetpt1ME_

ObjME METMonitor::jetpt1ME_
private

Definition at line 76 of file METMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetpt2ME_

ObjME METMonitor::jetpt2ME_
private

Definition at line 77 of file METMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetptBinning_

std::vector<double> METMonitor::jetptBinning_
private

Definition at line 60 of file METMonitor.cc.

Referenced by bookHistograms().

◆ jetPtME_

ObjME METMonitor::jetPtME_
private

Definition at line 78 of file METMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetSelection_

StringCutObjectSelector<reco::PFJet, true> METMonitor::jetSelection_
private

Definition at line 85 of file METMonitor.cc.

Referenced by analyze().

◆ jetToken_

edm::EDGetTokenT<reco::PFJetCollection> METMonitor::jetToken_
private

Definition at line 54 of file METMonitor.cc.

Referenced by analyze().

◆ ls_binning_

MEbinning METMonitor::ls_binning_
private

Definition at line 62 of file METMonitor.cc.

Referenced by bookHistograms().

◆ MAX_ETA

constexpr double METMonitor::MAX_ETA = 5.0
staticprivate

Definition at line 97 of file METMonitor.cc.

◆ MAX_NJETS

constexpr int METMonitor::MAX_NJETS = 200
staticprivate

Definition at line 102 of file METMonitor.cc.

◆ MAX_PHI

constexpr double METMonitor::MAX_PHI = 3.2
staticprivate

Definition at line 93 of file METMonitor.cc.

◆ met_binning_

MEbinning METMonitor::met_binning_
private

Definition at line 61 of file METMonitor.cc.

Referenced by bookHistograms().

◆ met_variable_binning_

std::vector<double> METMonitor::met_variable_binning_
private

Definition at line 59 of file METMonitor.cc.

Referenced by bookHistograms().

◆ metInputTag_

edm::InputTag METMonitor::metInputTag_
private

Definition at line 47 of file METMonitor.cc.

Referenced by analyze().

◆ metME_

ObjME METMonitor::metME_
private

Definition at line 64 of file METMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ metME_variableBinning_

ObjME METMonitor::metME_variableBinning_
private

Definition at line 65 of file METMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ metPhiME_

ObjME METMonitor::metPhiME_
private

Definition at line 67 of file METMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ metSelection_

StringCutObjectSelector<reco::MET, true> METMonitor::metSelection_
private

Definition at line 84 of file METMonitor.cc.

Referenced by analyze().

◆ metToken_

edm::EDGetTokenT<reco::PFMETCollection> METMonitor::metToken_
private

Definition at line 53 of file METMonitor.cc.

Referenced by analyze().

◆ metVsLS_

ObjME METMonitor::metVsLS_
private

Definition at line 66 of file METMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ MIN_NJETS

constexpr int METMonitor::MIN_NJETS = 0
staticprivate

Definition at line 101 of file METMonitor.cc.

◆ muoInputTag_

edm::InputTag METMonitor::muoInputTag_
private

Definition at line 50 of file METMonitor.cc.

Referenced by analyze().

◆ muoSelection_

StringCutObjectSelector<reco::Muon, true> METMonitor::muoSelection_
private

Definition at line 87 of file METMonitor.cc.

Referenced by analyze().

◆ muoToken_

edm::EDGetTokenT<reco::MuonCollection> METMonitor::muoToken_
private

Definition at line 56 of file METMonitor.cc.

Referenced by analyze().

◆ N_BIN_NJETS

constexpr int METMonitor::N_BIN_NJETS = 200
staticprivate

Definition at line 103 of file METMonitor.cc.

◆ N_ETA

constexpr int METMonitor::N_ETA = 50
staticprivate

Definition at line 98 of file METMonitor.cc.

◆ N_PHI

constexpr int METMonitor::N_PHI = 64
staticprivate

Definition at line 94 of file METMonitor.cc.

◆ nelectrons_

unsigned METMonitor::nelectrons_
private

Definition at line 90 of file METMonitor.cc.

Referenced by analyze().

◆ njets_

unsigned METMonitor::njets_
private

Definition at line 89 of file METMonitor.cc.

Referenced by analyze().

◆ nJets_binning

constexpr MEbinning METMonitor::nJets_binning {N_BIN_NJETS, MIN_NJETS, MAX_NJETS}
staticprivate

Definition at line 104 of file METMonitor.cc.

Referenced by bookHistograms().

◆ nJetsME_

ObjME METMonitor::nJetsME_
private

Definition at line 79 of file METMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ nmuons_

unsigned METMonitor::nmuons_
private

Definition at line 91 of file METMonitor.cc.

Referenced by analyze().

◆ num_genTriggerEventFlag_

std::unique_ptr<GenericTriggerEventFlag> METMonitor::num_genTriggerEventFlag_
private

Definition at line 81 of file METMonitor.cc.

Referenced by analyze(), bookHistograms(), and ~METMonitor().

◆ phi_binning_

constexpr MEbinning METMonitor::phi_binning_ {N_PHI, -MAX_PHI, MAX_PHI}
staticprivate

Definition at line 95 of file METMonitor.cc.

Referenced by bookHistograms().

◆ phij1ME_

ObjME METMonitor::phij1ME_
private

Definition at line 70 of file METMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ phij2ME_

ObjME METMonitor::phij2ME_
private

Definition at line 71 of file METMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ requireValidHLTPaths_

const bool METMonitor::requireValidHLTPaths_
private

Definition at line 43 of file METMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ vtxInputTag_

edm::InputTag METMonitor::vtxInputTag_
private

Definition at line 51 of file METMonitor.cc.

Referenced by analyze().

◆ vtxToken_

edm::EDGetTokenT<reco::VertexCollection> METMonitor::vtxToken_
private

Definition at line 57 of file METMonitor.cc.

Referenced by analyze().

◆ warningPrinted4token_

std::vector<bool> METMonitor::warningPrinted4token_
private

Definition at line 106 of file METMonitor.cc.

Referenced by analyze(), and METMonitor().