CMS 3D CMS Logo

HTMonitor.cc
Go to the documentation of this file.
1 #include <string>
2 #include <vector>
3 
37 
38 class HTMonitor : public DQMEDAnalyzer, public TriggerDQMBase {
39 public:
42 
44  ~HTMonitor() throw() override;
45  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
46 
47 protected:
48  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
49  void analyze(edm::Event const& iEvent, edm::EventSetup const& iSetup) override;
50 
51 private:
53 
56 
62 
64  edm::EDGetTokenT<reco::JetView> jetToken_;
66  edm::EDGetTokenT<reco::MuonCollection> muoToken_;
68 
69  std::vector<double> ht_variable_binning_;
72 
74  ObjME htVsLS_;
77 
80 
86  unsigned njets_;
87  unsigned nelectrons_;
88  unsigned nmuons_;
89  double dEtaCut_;
90 
91  static constexpr double MAXedge_PHI = 3.2;
92  static constexpr int Nbin_PHI = 64;
94 
96 
97  enum quant { HT, MJJ, SOFTDROP };
99 };
100 
102  : folderName_(iConfig.getParameter<std::string>("FolderName")),
103  requireValidHLTPaths_(iConfig.getParameter<bool>("requireValidHLTPaths")),
104  hltPathsAreValid_(false),
105  metInputTag_(iConfig.getParameter<edm::InputTag>("met")),
106  jetInputTag_(iConfig.getParameter<edm::InputTag>("jets")),
107  eleInputTag_(iConfig.getParameter<edm::InputTag>("electrons")),
108  muoInputTag_(iConfig.getParameter<edm::InputTag>("muons")),
109  vtxInputTag_(iConfig.getParameter<edm::InputTag>("vertices")),
110  metToken_(consumes<reco::PFMETCollection>(metInputTag_)),
111  jetToken_(mayConsume<reco::JetView>(jetInputTag_)),
112  eleToken_(mayConsume<reco::GsfElectronCollection>(eleInputTag_)),
113  muoToken_(mayConsume<reco::MuonCollection>(muoInputTag_)),
114  vtxToken_(mayConsume<reco::VertexCollection>(vtxInputTag_)),
115  ht_variable_binning_(
116  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<std::vector<double> >("htBinning")),
117  ht_binning_(
118  getHistoPSet(iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("htPSet"))),
119  ls_binning_(
120  getHistoPSet(iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("lsPSet"))),
121  num_genTriggerEventFlag_(new GenericTriggerEventFlag(
122  iConfig.getParameter<edm::ParameterSet>("numGenericTriggerEventPSet"), consumesCollector(), *this)),
123  den_genTriggerEventFlag_(new GenericTriggerEventFlag(
124  iConfig.getParameter<edm::ParameterSet>("denGenericTriggerEventPSet"), consumesCollector(), *this)),
125  metSelection_(iConfig.getParameter<std::string>("metSelection")),
126  jetSelection_(iConfig.getParameter<std::string>("jetSelection")),
127  eleSelection_(iConfig.getParameter<std::string>("eleSelection")),
128  muoSelection_(iConfig.getParameter<std::string>("muoSelection")),
129  jetSelection_HT_(iConfig.getParameter<std::string>("jetSelection_HT")),
130  njets_(iConfig.getParameter<unsigned>("njets")),
131  nelectrons_(iConfig.getParameter<unsigned>("nelectrons")),
132  nmuons_(iConfig.getParameter<unsigned>("nmuons")),
133  dEtaCut_(iConfig.getParameter<double>("dEtaCut")),
134  warningWasPrinted_(false) {
135  /* mia: THIS CODE SHOULD BE DELETED !!!! */
136  string quantity = iConfig.getParameter<std::string>("quantity");
137  if (quantity == "HT") {
138  quantity_ = HT;
139  } else if (quantity == "Mjj") {
140  quantity_ = MJJ;
141  } else if (quantity == "softdrop") {
143  } else {
144  throw cms::Exception("quantity not defined")
145  << "the quantity '" << quantity << "' is undefined. Please check your config!" << std::endl;
146  }
147 }
148 
151  num_genTriggerEventFlag_.reset();
152  }
154  den_genTriggerEventFlag_.reset();
155  }
156 }
157 
158 void HTMonitor::bookHistograms(DQMStore::IBooker& ibooker, edm::Run const& iRun, edm::EventSetup const& iSetup) {
159  // Initialize the GenericTriggerEventFlag
161  num_genTriggerEventFlag_->initRun(iRun, iSetup);
162  }
164  den_genTriggerEventFlag_->initRun(iRun, iSetup);
165  }
166 
167  // check if every HLT path specified in numerator and denominator has a valid match in the HLT Menu
169  den_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->allHLTPathsAreValid() &&
170  den_genTriggerEventFlag_->allHLTPathsAreValid());
171 
172  // if valid HLT paths are required,
173  // create DQM outputs only if all paths are valid
175  return;
176  }
177 
178  std::string histname, histtitle;
179 
180  std::string currentFolder = folderName_;
181  ibooker.setCurrentFolder(currentFolder);
182 
183  switch (quantity_) {
184  case HT: {
185  histname = "ht_variable";
186  histtitle = "HT";
187  bookME(ibooker, qME_variableBinning_, histname, histtitle, ht_variable_binning_);
188  setMETitle(qME_variableBinning_, "HT [GeV]", "events / [GeV]");
189 
190  histname = "htVsLS";
191  histtitle = "HT vs LS";
192  bookME(ibooker,
193  htVsLS_,
194  histname,
195  histtitle,
200  ht_binning_.xmax);
201  setMETitle(htVsLS_, "LS", "HT [GeV]");
202 
203  histname = "deltaphi_metjet1";
204  histtitle = "DPHI_METJ1";
205  bookME(ibooker, deltaphimetj1ME_, histname, histtitle, phi_binning_.nbins, phi_binning_.xmin, phi_binning_.xmax);
206  setMETitle(deltaphimetj1ME_, "delta phi (met, j1)", "events / 0.1 rad");
207 
208  histname = "deltaphi_jet1jet2";
209  histtitle = "DPHI_J1J2";
210  bookME(ibooker, deltaphij1j2ME_, histname, histtitle, phi_binning_.nbins, phi_binning_.xmin, phi_binning_.xmax);
211  setMETitle(deltaphij1j2ME_, "delta phi (j1, j2)", "events / 0.1 rad");
212  break;
213  }
214 
215  case MJJ: {
216  histname = "mjj_variable";
217  histtitle = "Mjj";
218  bookME(ibooker, qME_variableBinning_, histname, histtitle, ht_variable_binning_);
219  setMETitle(qME_variableBinning_, "Mjj [GeV]", "events / [GeV]");
220  break;
221  }
222 
223  case SOFTDROP: {
224  histname = "softdrop_variable";
225  histtitle = "softdropmass";
226  bookME(ibooker, qME_variableBinning_, histname, histtitle, ht_variable_binning_);
227  setMETitle(qME_variableBinning_, "leading jet softdropmass [GeV]", "events / [GeV]");
228  break;
229  }
230  }
231 }
232 
234  // if valid HLT paths are required,
235  // analyze event only if all paths are valid
237  return;
238  }
239 
240  // Filter out events if Trigger Filtering is requested
241  if (den_genTriggerEventFlag_->on() && !den_genTriggerEventFlag_->accept(iEvent, iSetup))
242  return;
243 
245  iEvent.getByToken(metToken_, metHandle);
246  if (not metHandle.isValid()) {
247  if (not warningWasPrinted_) {
248  edm::LogWarning("HTMonitor") << "skipping events because the collection " << metInputTag_.label().c_str()
249  << " is not available";
250  warningWasPrinted_ = true;
251  }
252  return;
253  }
254  reco::PFMET pfmet = metHandle->front();
255  if (!metSelection_(pfmet))
256  return;
257 
258  edm::Handle<reco::JetView> jetHandle; //add a configurable jet collection & jet pt selection
259  iEvent.getByToken(jetToken_, jetHandle);
260  if (!jetHandle.isValid()) {
261  if (not warningWasPrinted_) {
262  edm::LogWarning("HTMonitor") << "skipping events because the collection " << jetInputTag_.label().c_str()
263  << " is not available";
264  warningWasPrinted_ = true;
265  }
266  return;
267  }
268  std::vector<reco::Jet> jets;
269  if (jetHandle->size() < njets_)
270  return;
271  for (auto const& j : *jetHandle) {
272  if (jetSelection_(j)) {
273  jets.push_back(j);
274  }
275  }
276 
277  if (jets.size() < njets_)
278  return;
279 
280  float deltaPhi_met_j1 = 10.0;
281  float deltaPhi_j1_j2 = 10.0;
282 
283  if (!jets.empty())
284  deltaPhi_met_j1 = fabs(deltaPhi(pfmet.phi(), jets[0].phi()));
285  if (jets.size() >= 2)
286  deltaPhi_j1_j2 = fabs(deltaPhi(jets[0].phi(), jets[1].phi()));
287 
288  std::vector<reco::GsfElectron> electrons;
290  iEvent.getByToken(eleToken_, eleHandle);
291  if (eleHandle.isValid()) {
292  if (eleHandle->size() < nelectrons_)
293  return;
294  for (auto const& e : *eleHandle) {
295  if (eleSelection_(e))
296  electrons.push_back(e);
297  }
298  if (electrons.size() < nelectrons_)
299  return;
300  } else {
301  if (not warningWasPrinted_) {
302  if (eleInputTag_.label().empty())
303  edm::LogWarning("HTMonitor") << "GsfElectronCollection not set";
304  else
305  edm::LogWarning("HTMonitor") << "skipping events because the collection " << eleInputTag_.label().c_str()
306  << " is not available";
307 
308  warningWasPrinted_ = true;
309  }
310  if (!eleInputTag_.label().empty())
311  return;
312  }
313 
316  iEvent.getByToken(vtxToken_, vtxHandle);
317  if (vtxHandle.isValid()) {
318  for (auto const& v : *vtxHandle) {
319  bool isFake = v.isFake();
320 
321  if (!isFake) {
322  vtx = v;
323  break;
324  }
325  }
326  } else {
327  if (not warningWasPrinted_) {
328  if (vtxInputTag_.label().empty())
329  edm::LogWarning("HTMonitor") << "VertexCollection not set";
330  else
331  edm::LogWarning("HTMonitor") << "skipping events because the collection " << vtxInputTag_.label().c_str()
332  << " is not available";
333 
334  warningWasPrinted_ = true;
335  }
336  if (!vtxInputTag_.label().empty())
337  return;
338  }
339 
340  std::vector<reco::Muon> muons;
342  iEvent.getByToken(muoToken_, muoHandle);
343  if (muoHandle.isValid()) {
344  if (muoHandle->size() < nmuons_)
345  return;
346  for (auto const& m : *muoHandle) {
347  if (muoSelection_(m) && m.isGlobalMuon() && m.isPFMuon() && m.globalTrack()->normalizedChi2() < 10. &&
348  m.globalTrack()->hitPattern().numberOfValidMuonHits() > 0 && m.numberOfMatchedStations() > 1 &&
349  fabs(m.muonBestTrack()->dxy(vtx.position())) < 0.2 && fabs(m.muonBestTrack()->dz(vtx.position())) < 0.5 &&
350  m.innerTrack()->hitPattern().numberOfValidPixelHits() > 0 &&
351  m.innerTrack()->hitPattern().trackerLayersWithMeasurement() > 5)
352  muons.push_back(m);
353  }
354  if (muons.size() < nmuons_)
355  return;
356  } else {
357  if (not warningWasPrinted_) {
358  if (muoInputTag_.label().empty())
359  edm::LogWarning("HTMonitor") << "MuonCollection not set";
360  else
361  edm::LogWarning("HTMonitor") << "skipping events because the collection " << muoInputTag_.label().c_str()
362  << " is not available";
363 
364  warningWasPrinted_ = true;
365  }
366  if (!muoInputTag_.label().empty())
367  return;
368  }
369 
370  // fill histograms
371  switch (quantity_) {
372  case HT: {
373  float ht = 0.0;
374  for (auto const& j : *jetHandle) {
375  if (jetSelection_HT_(j))
376  ht += j.pt();
377  }
378 
379  // filling histograms (denominator)
381 
382  deltaphimetj1ME_.denominator->Fill(deltaPhi_met_j1);
383  deltaphij1j2ME_.denominator->Fill(deltaPhi_j1_j2);
384 
385  int ls = iEvent.id().luminosityBlock();
386  htVsLS_.denominator->Fill(ls, ht);
387 
388  // applying selection for numerator
389  if (num_genTriggerEventFlag_->on() && !num_genTriggerEventFlag_->accept(iEvent, iSetup))
390  return;
391 
392  // filling histograms (num_genTriggerEventFlag_)
394 
395  htVsLS_.numerator->Fill(ls, ht);
396  deltaphimetj1ME_.numerator->Fill(deltaPhi_met_j1);
397  deltaphij1j2ME_.numerator->Fill(deltaPhi_j1_j2);
398  break;
399  }
400 
401  case MJJ: {
402  if (jets.size() < 2)
403  return;
404 
405  // deltaEta cut
406  if (fabs(jets[0].p4().Eta() - jets[1].p4().Eta()) >= dEtaCut_)
407  return;
408  float mjj = (jets[0].p4() + jets[1].p4()).M();
409 
411 
412  // applying selection for numerator
413  if (num_genTriggerEventFlag_->on() && !num_genTriggerEventFlag_->accept(iEvent, iSetup))
414  return;
415 
417  break;
418  }
419 
420  case SOFTDROP: {
421  if (jets.size() < 2)
422  return;
423 
424  // deltaEta cut
425  if (fabs(jets[0].p4().Eta() - jets[1].p4().Eta()) >= dEtaCut_)
426  return;
427 
428  float softdrop = jets[0].p4().M();
429 
431 
432  // applying selection for numerator
433  if (num_genTriggerEventFlag_->on() && !num_genTriggerEventFlag_->accept(iEvent, iSetup))
434  return;
435 
437  break;
438  }
439  }
440 }
441 
444  desc.add<std::string>("FolderName", "HLT/HT");
445  desc.add<bool>("requireValidHLTPaths", true);
446 
447  desc.add<edm::InputTag>("met", edm::InputTag("pfMet"));
448  desc.add<edm::InputTag>("jets", edm::InputTag("ak4PFJetsCHS"));
449  desc.add<edm::InputTag>("electrons", edm::InputTag("gedGsfElectrons"));
450  desc.add<edm::InputTag>("muons", edm::InputTag("muons"));
451  desc.add<edm::InputTag>("vertices", edm::InputTag("offlinePrimaryVertices"));
452  desc.add<std::string>("metSelection", "pt > 0");
453  desc.add<std::string>("jetSelection", "pt > 0");
454  desc.add<std::string>("eleSelection", "pt > 0");
455  desc.add<std::string>("muoSelection", "pt > 0");
456  desc.add<std::string>("jetSelection_HT", "pt > 30 && eta < 2.5");
457  desc.add<unsigned>("njets", 0);
458  desc.add<unsigned>("nelectrons", 0);
459  desc.add<unsigned>("nmuons", 0);
460  desc.add<double>("dEtaCut", 1.3);
461 
463  genericTriggerEventPSet.add<bool>("andOr");
464  genericTriggerEventPSet.add<edm::InputTag>("dcsInputTag", edm::InputTag("scalersRawToDigi"));
465  genericTriggerEventPSet.add<std::vector<int> >("dcsPartitions", {});
466  genericTriggerEventPSet.add<bool>("andOrDcs", false);
467  genericTriggerEventPSet.add<bool>("errorReplyDcs", true);
468  genericTriggerEventPSet.add<std::string>("dbLabel", "");
469  genericTriggerEventPSet.add<bool>("andOrHlt", true);
470  genericTriggerEventPSet.add<edm::InputTag>("hltInputTag", edm::InputTag("TriggerResults::HLT"));
471  genericTriggerEventPSet.add<std::vector<std::string> >("hltPaths", {});
472  genericTriggerEventPSet.add<std::string>("hltDBKey", "");
473  genericTriggerEventPSet.add<bool>("errorReplyHlt", false);
474  genericTriggerEventPSet.add<unsigned int>("verbosityLevel", 1);
475 
476  desc.add<edm::ParameterSetDescription>("numGenericTriggerEventPSet", genericTriggerEventPSet);
477  desc.add<edm::ParameterSetDescription>("denGenericTriggerEventPSet", genericTriggerEventPSet);
478 
483  std::vector<double> bins = {0., 20., 40., 60., 80., 90., 100., 110., 120., 130., 140.,
484  150., 160., 170., 180., 190., 200., 220., 240., 260., 280., 300.,
485  350., 400., 450., 500., 550., 600., 650., 700., 750., 800., 850.,
486  900., 950., 1000., 1050., 1100., 1200., 1300., 1400., 1500., 2000., 2500.};
487  histoPSet.add<std::vector<double> >("htBinning", bins);
488 
492 
493  desc.add<edm::ParameterSetDescription>("histoPSet", histoPSet);
494 
495  desc.add<std::string>("quantity", "HT");
496 
497  descriptions.add("htMonitoring", desc);
498 }
499 
ConfigurationDescriptions.h
PDWG_BPHSkim_cff.muons
muons
Definition: PDWG_BPHSkim_cff.py:47
eostools.ls
def ls(path, rec=False)
Definition: eostools.py:349
dqm::impl::MonitorElement
Definition: MonitorElement.h:98
CaloJetCollection.h
HTMonitor::requireValidHLTPaths_
const bool requireValidHLTPaths_
Definition: HTMonitor.cc:54
HTMonitor::ht_binning_
MEbinning ht_binning_
Definition: HTMonitor.cc:70
CaloJet.h
electrons_cff.bool
bool
Definition: electrons_cff.py:372
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
Muon.h
MessageLogger.h
TriggerDQMBase::MEbinning
Definition: TriggerDQMBase.h:16
funct::false
false
Definition: Factorize.h:34
HTMonitor::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: HTMonitor.cc:442
HTMonitor::ht_variable_binning_
std::vector< double > ht_variable_binning_
Definition: HTMonitor.cc:69
edm::Run
Definition: Run.h:45
HTMonitor::njets_
unsigned njets_
Definition: HTMonitor.cc:86
edm
HLT enums.
Definition: AlignableModifier.h:19
PFMETCollection
Collection of PF MET.
reco::VertexCollection
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
HTMonitor::den_genTriggerEventFlag_
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: HTMonitor.cc:79
SiStripSourceConfigTier0_cff.genericTriggerEventPSet
genericTriggerEventPSet
Definition: SiStripSourceConfigTier0_cff.py:96
DQMStore.h
Jet.h
PhotonFwd.h
reco::JetView
edm::View< Jet > JetView
edm references
Definition: JetCollection.h:11
reco::GsfElectronCollection
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
Definition: GsfElectronFwd.h:14
singleTopDQM_cfi.jets
jets
Definition: singleTopDQM_cfi.py:42
HTMonitor::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: HTMonitor.cc:158
PFMETCollection.h
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
findQualityFiles.v
v
Definition: findQualityFiles.py:179
watchdog.const
const
Definition: watchdog.py:83
edm::Handle< reco::PFMETCollection >
HTMonitor::HT
Definition: HTMonitor.cc:97
Muon
Definition: Muon.py:1
TriggerDQMBase::ObjME::numerator
MonitorElement * numerator
Definition: TriggerDQMBase.h:27
HTMonitor::ls_binning_
MEbinning ls_binning_
Definition: HTMonitor.cc:71
HTMonitor::muoSelection_
StringCutObjectSelector< reco::Muon, true > muoSelection_
Definition: HTMonitor.cc:84
BTaggingMonitor_cfi.htPSet
htPSet
Definition: BTaggingMonitor_cfi.py:35
edm::InputTag::label
std::string const & label() const
Definition: InputTag.h:36
MakerMacros.h
Photon.h
HTMonitor::vtxInputTag_
edm::InputTag vtxInputTag_
Definition: HTMonitor.cc:61
HTMonitor::SOFTDROP
Definition: HTMonitor.cc:97
Track.h
TrackFwd.h
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
HTMonitor::nelectrons_
unsigned nelectrons_
Definition: HTMonitor.cc:87
dqm::legacy::DQMStore
Definition: DQMStore.h:727
LumiMonitor_cff.lsPSet
lsPSet
Definition: LumiMonitor_cff.py:33
Jet
Definition: Jet.py:1
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
SiPixelRawToDigiRegional_cfi.deltaPhi
deltaPhi
Definition: SiPixelRawToDigiRegional_cfi.py:9
HTMonitor::dEtaCut_
double dEtaCut_
Definition: HTMonitor.cc:89
Service.h
HTMonitor::folderName_
const std::string folderName_
Definition: HTMonitor.cc:52
TriggerDQMBase.h
TriggerDQMBase::setMETitle
void setMETitle(ObjME &me, const std::string &titleX, const std::string &titleY)
Definition: TriggerDQMBase.cc:3
GenericTriggerEventFlag.h
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
MuonFwd.h
reco::MuonCollection
std::vector< Muon > MuonCollection
collection of Muon objects
Definition: MuonFwd.h:9
TriggerDQMBase::MEbinning::xmax
double xmax
Definition: TriggerDQMBase.h:19
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
HTMonitor::MAXedge_PHI
static constexpr double MAXedge_PHI
Definition: HTMonitor.cc:91
Event
TriggerDQMBase::bookME
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)
Definition: TriggerDQMBase.cc:15
JetCollection.h
ParameterSetDescription.h
GsfElectron.h
TriggerDQMBase
Definition: TriggerDQMBase.h:8
EDGetToken.h
HTMonitor::muoInputTag_
edm::InputTag muoInputTag_
Definition: HTMonitor.cc:60
DQMEDAnalyzer.h
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
badGlobalMuonTaggersAOD_cff.vtx
vtx
Definition: badGlobalMuonTaggersAOD_cff.py:5
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::View::size
size_type size() const
Vertex.h
MjjMonitor_cfi.quantity
quantity
Definition: MjjMonitor_cfi.py:10
edm::LogWarning
Definition: MessageLogger.h:141
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1
TriggerDQMBase::fillHistoPSetDescription
static void fillHistoPSetDescription(edm::ParameterSetDescription &pset)
Definition: TriggerDQMBase.cc:108
funct::true
true
Definition: Factorize.h:173
reco::PFMET
Definition: PFMET.h:18
GsfElectronFwd.h
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
edm::ParameterSet
Definition: ParameterSet.h:36
HTMonitor::eleInputTag_
edm::InputTag eleInputTag_
Definition: HTMonitor.cc:59
HTMonitor::metToken_
edm::EDGetTokenT< reco::PFMETCollection > metToken_
Definition: HTMonitor.cc:63
Event.h
ParameterSet
Definition: Functions.h:16
HTMonitor::deltaphij1j2ME_
ObjME deltaphij1j2ME_
Definition: HTMonitor.cc:76
GenericTriggerEventFlag
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
Definition: GenericTriggerEventFlag.h:42
HTMonitor::jetInputTag_
edm::InputTag jetInputTag_
Definition: HTMonitor.cc:58
PFMET.h
iEvent
int iEvent
Definition: GenABIO.cc:224
HTMonitor::analyze
void analyze(edm::Event const &iEvent, edm::EventSetup const &iSetup) override
Definition: HTMonitor.cc:233
HTMonitor::nmuons_
unsigned nmuons_
Definition: HTMonitor.cc:88
LumiMonitor_cff.histoPSet
histoPSet
Definition: LumiMonitor_cff.py:12
p4
double p4[4]
Definition: TauolaWrapper.h:92
HTMonitor::HTMonitor
HTMonitor(const edm::ParameterSet &)
Definition: HTMonitor.cc:101
HTMonitor::jetSelection_HT_
StringCutObjectSelector< reco::Jet, true > jetSelection_HT_
Definition: HTMonitor.cc:85
edm::EventSetup
Definition: EventSetup.h:57
HTMonitor::warningWasPrinted_
bool warningWasPrinted_
Definition: HTMonitor.cc:95
HTMonitor::num_genTriggerEventFlag_
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: HTMonitor.cc:78
HTMonitor::muoToken_
edm::EDGetTokenT< reco::MuonCollection > muoToken_
Definition: HTMonitor.cc:66
HTMonitor::Nbin_PHI
static constexpr int Nbin_PHI
Definition: HTMonitor.cc:92
cms::cuda::device::unique_ptr
std::unique_ptr< T, impl::DeviceDeleter > unique_ptr
Definition: device_unique_ptr.h:33
VertexFwd.h
DDAxes::phi
Registry.h
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
HTMonitor::MJJ
Definition: HTMonitor.cc:97
HTMonitor::metSelection_
StringCutObjectSelector< reco::MET, true > metSelection_
Definition: HTMonitor.cc:81
std
Definition: JetResolutionObject.h:76
ConfigurationDescriptions
StringCutObjectSelector.h
HTMonitor::MonitorElement
dqm::reco::MonitorElement MonitorElement
Definition: HTMonitor.cc:40
reco::LeafCandidate::phi
double phi() const final
momentum azimuthal angle
Definition: LeafCandidate.h:148
pwdgSkimBPark_cfi.electrons
electrons
Definition: pwdgSkimBPark_cfi.py:6
Frameworkfwd.h
HTMonitor::qME_variableBinning_
ObjME qME_variableBinning_
Definition: HTMonitor.cc:73
StringCutObjectSelector
Definition: StringCutObjectSelector.h:16
TriggerDQMBase::ObjME::denominator
MonitorElement * denominator
Definition: TriggerDQMBase.h:28
HTMonitor
Definition: HTMonitor.cc:38
Exception
Definition: hltDiff.cc:246
TriggerDQMBase::MEbinning::nbins
uint nbins
Definition: TriggerDQMBase.h:17
TriggerDQMBase::MEbinning::xmin
double xmin
Definition: TriggerDQMBase.h:18
HTMonitor::jetToken_
edm::EDGetTokenT< reco::JetView > jetToken_
Definition: HTMonitor.cc:64
MET
dqm::implementation::IBooker
Definition: DQMStore.h:43
ALCARECOPromptCalibProdSiPixelAli0T_cff.throw
throw
Definition: ALCARECOPromptCalibProdSiPixelAli0T_cff.py:9
HTMonitor::DQMStore
dqm::reco::DQMStore DQMStore
Definition: HTMonitor.cc:41
HTMonitor::deltaphimetj1ME_
ObjME deltaphimetj1ME_
Definition: HTMonitor.cc:75
HTMonitor::phi_binning_
static constexpr MEbinning phi_binning_
Definition: HTMonitor.cc:93
trigObjTnPSource_cfi.bins
bins
Definition: trigObjTnPSource_cfi.py:20
EventSetup
ParameterSet.h
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
HTMonitor::~HTMonitor
~HTMonitor() override
Definition: HTMonitor.cc:149
edm::Event
Definition: Event.h:73
HTMonitor::htVsLS_
ObjME htVsLS_
Definition: HTMonitor.cc:74
HTMonitor::eleToken_
edm::EDGetTokenT< reco::GsfElectronCollection > eleToken_
Definition: HTMonitor.cc:65
TriggerDQMBase::fillHistoLSPSetDescription
static void fillHistoLSPSetDescription(edm::ParameterSetDescription &pset)
Definition: TriggerDQMBase.cc:114
HTMonitor::vtxToken_
edm::EDGetTokenT< reco::VertexCollection > vtxToken_
Definition: HTMonitor.cc:67
HTMonitor::jetSelection_
StringCutObjectSelector< reco::Jet, true > jetSelection_
Definition: HTMonitor.cc:82
edm::InputTag
Definition: InputTag.h:15
HTMonitor::hltPathsAreValid_
bool hltPathsAreValid_
Definition: HTMonitor.cc:55
reco::Vertex
Definition: Vertex.h:35
deltaPhi.h
HTMonitor::quant
quant
Definition: HTMonitor.cc:97
HTMonitor::metInputTag_
edm::InputTag metInputTag_
Definition: HTMonitor.cc:57
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
HTMonitor::quantity_
quant quantity_
Definition: HTMonitor.cc:98
HTMonitor::eleSelection_
StringCutObjectSelector< reco::GsfElectron, true > eleSelection_
Definition: HTMonitor.cc:83
Run