CMS 3D CMS Logo

JetMonitor.cc
Go to the documentation of this file.
1 #include <string>
2 #include <vector>
3 
18 
19 class JetMonitor : public DQMEDAnalyzer, public TriggerDQMBase {
20 public:
23 
25  ~JetMonitor() throw() override;
26 
27  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
28 
29 protected:
31  void analyze(edm::Event const& iEvent, edm::EventSetup const& iSetup) override;
32 
33  bool isBarrel(double eta);
34  bool isEndCapP(double eta);
35  bool isEndCapM(double eta);
36  bool isForward(double eta);
37  bool isHEP17(double eta, double phi);
38  bool isHEM17(double eta, double phi);
39  bool isHEP18(double eta, double phi); // -0.87< Phi < -1.22
40 
41  void bookMESub(DQMStore::IBooker&,
42  ObjME* a_me,
43  const int len_,
44  const std::string& h_Name,
45  const std::string& h_Title,
46  const std::string& h_subOptName,
47  const std::string& h_subOptTitle,
48  const bool doPhi = true,
49  const bool doEta = true,
50  const bool doEtaPhi = true,
51  const bool doVsLS = true);
52  void FillME(ObjME* a_me,
53  const double pt_,
54  const double phi_,
55  const double eta_,
56  const int ls_,
57  const std::string& denu,
58  const bool doPhi = true,
59  const bool doEta = true,
60  const bool doEtaPhi = true,
61  const bool doVsLS = true);
62 
63 private:
65 
68 
69  double ptcut_;
72 
73  edm::EDGetTokenT<edm::View<reco::Jet> > jetSrc_;
74 
77 
81 
82  ObjME a_ME[7];
91 
96 
97  std::vector<double> v_jetpt;
98  std::vector<double> v_jeteta;
99  std::vector<double> v_jetphi;
100 
101  // (mia) not optimal, we should make use of variable binning which reflects the detector !
102  MEbinning jet_phi_binning_{32, -3.2, 3.2};
104 
107 
108  MEbinning phi_binning_hep17_{7, -0.87, -0.52};
109  MEbinning phi_binning_hep18_{7, -0.52, -0.17};
110 };
111 
113  : folderName_(iConfig.getParameter<std::string>("FolderName")),
114  requireValidHLTPaths_(iConfig.getParameter<bool>("requireValidHLTPaths")),
115  hltPathsAreValid_(false),
116  ptcut_(iConfig.getParameter<double>("ptcut")),
117  isPFJetTrig(iConfig.getParameter<bool>("ispfjettrg")),
118  isCaloJetTrig(iConfig.getParameter<bool>("iscalojettrg")),
119  jetSrc_(mayConsume<edm::View<reco::Jet> >(iConfig.getParameter<edm::InputTag>("jetSrc"))),
120  num_genTriggerEventFlag_(new GenericTriggerEventFlag(
121  iConfig.getParameter<edm::ParameterSet>("numGenericTriggerEventPSet"), consumesCollector(), *this)),
122  den_genTriggerEventFlag_(new GenericTriggerEventFlag(
123  iConfig.getParameter<edm::ParameterSet>("denGenericTriggerEventPSet"), consumesCollector(), *this)),
124  jetpt_binning_(getHistoPSet(
125  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("jetPSet"))),
126  jetptThr_binning_(getHistoPSet(
127  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("jetPtThrPSet"))),
128  ls_binning_(getHistoPSet(
129  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("lsPSet"))) {}
130 
133  num_genTriggerEventFlag_.reset();
134  }
136  den_genTriggerEventFlag_.reset();
137  }
138 }
139 
140 void JetMonitor::bookHistograms(DQMStore::IBooker& ibooker, edm::Run const& iRun, edm::EventSetup const& iSetup) {
141  // Initialize the GenericTriggerEventFlag
143  num_genTriggerEventFlag_->initRun(iRun, iSetup);
144  }
146  den_genTriggerEventFlag_->initRun(iRun, iSetup);
147  }
148 
149  // check if every HLT path specified in numerator and denominator has a valid match in the HLT Menu
151  den_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->allHLTPathsAreValid() &&
152  den_genTriggerEventFlag_->allHLTPathsAreValid());
153 
154  // if valid HLT paths are required,
155  // create DQM outputs only if all paths are valid
157  return;
158  }
159 
160  std::string histname, histtitle;
161  std::string hist_obtag = "";
162  std::string histtitle_obtag = "";
163  std::string currentFolder = folderName_;
164  ibooker.setCurrentFolder(currentFolder);
165 
166  if (isPFJetTrig) {
167  hist_obtag = "pfjet";
168  histtitle_obtag = "PFJet";
169  } else if (isCaloJetTrig) {
170  hist_obtag = "calojet";
171  histtitle_obtag = "CaloJet";
172  } else {
173  hist_obtag = "pfjet";
174  histtitle_obtag = "PFJet";
175  } //default is pfjet
176 
177  bookMESub(ibooker, a_ME, sizeof(a_ME) / sizeof(a_ME[0]), hist_obtag, histtitle_obtag, "", "");
178  bookMESub(ibooker,
179  a_ME_HB,
180  sizeof(a_ME_HB) / sizeof(a_ME_HB[0]),
181  hist_obtag,
182  histtitle_obtag,
183  "HB",
184  "(HB)",
185  true,
186  true,
187  true,
188  false);
189  bookMESub(ibooker,
190  a_ME_HE,
191  sizeof(a_ME_HE) / sizeof(a_ME_HE[0]),
192  hist_obtag,
193  histtitle_obtag,
194  "HE",
195  "(HE)",
196  true,
197  true,
198  true,
199  false);
200  bookMESub(ibooker,
201  a_ME_HF,
202  sizeof(a_ME_HF) / sizeof(a_ME_HF[0]),
203  hist_obtag,
204  histtitle_obtag,
205  "HF",
206  "(HF)",
207  true,
208  true,
209  true,
210  false);
211  bookMESub(ibooker,
212  a_ME_HE_p,
213  sizeof(a_ME_HE_p) / sizeof(a_ME_HE_p[0]),
214  hist_obtag,
215  histtitle_obtag,
216  "HE_p",
217  "(HE+)",
218  true,
219  true,
220  true,
221  false);
222  bookMESub(ibooker,
223  a_ME_HE_m,
224  sizeof(a_ME_HE_m) / sizeof(a_ME_HE_m[0]),
225  hist_obtag,
226  histtitle_obtag,
227  "HE_m",
228  "(HE-)",
229  true,
230  true,
231  true,
232  false);
233  bookMESub(ibooker,
234  a_ME_HEP17,
235  sizeof(a_ME_HEP17) / sizeof(a_ME_HEP17[0]),
236  hist_obtag,
237  histtitle_obtag,
238  "HEP17",
239  "(HEP17)",
240  true,
241  false,
242  false,
243  false);
244  bookMESub(ibooker,
245  a_ME_HEM17,
246  sizeof(a_ME_HEM17) / sizeof(a_ME_HEM17[0]),
247  hist_obtag,
248  histtitle_obtag,
249  "HEM17",
250  "(HEM17)",
251  true,
252  false,
253  false,
254  false);
255  bookMESub(ibooker,
256  a_ME_HEP18,
257  sizeof(a_ME_HEP18) / sizeof(a_ME_HEP18[0]),
258  hist_obtag,
259  histtitle_obtag,
260  "HEP18",
261  "(HEP18)",
262  false,
263  false,
264  false,
265  false);
266 
267  /*
268  WE WOULD NEED TURNON CURVES TO BE COMPARED NOT JUST THE ZOOM OF A 2D MAP !!!
269 
270  histname = hist_obtag +"AbsEtaVsPhi_HEP17"; histtitle = histtitle_obtag + " |eta| Vs phi (HEP17) ";
271  bookME(ibooker,jetHEP17_AbsEtaVsPhi_,histname,histtitle, eta_binning_hep17_.nbins, eta_binning_hep17_.xmin, eta_binning_hep17_.xmax, phi_binning_hep17_.nbins,phi_binning_hep17_.xmin,phi_binning_hep17_.xmax);
272  setMETitle(jetHEP17_AbsEtaVsPhi_,histtitle_obtag + " |#eta|","#phi");
273 
274  histname = hist_obtag +"AbsEtaVsPhi_HEM17"; histtitle = histtitle_obtag + " |eta| Vs phi (HEM17) ";
275  bookME(ibooker,jetHEM17_AbsEtaVsPhi_,histname,histtitle, eta_binning_hep17_.nbins, eta_binning_hep17_.xmin, eta_binning_hep17_.xmax, phi_binning_hep17_.nbins,phi_binning_hep17_.xmin,phi_binning_hep17_.xmax);
276  setMETitle(jetHEM17_AbsEtaVsPhi_,histtitle_obtag + " |#eta|","#phi");
277  */
278 
279  histname = hist_obtag + "abseta_HEP17";
280  histtitle = histtitle_obtag + " |#eta| (HEP17) ";
281  bookME(ibooker,
283  histname,
284  histtitle,
288  setMETitle(jetHEP17_AbsEta_, histtitle_obtag + " |#eta|", "events / |#eta|");
289 
290  histname = hist_obtag + "abseta_HEM17";
291  histtitle = histtitle_obtag + " |eta| (HEM17) ";
292  bookME(ibooker,
294  histname,
295  histtitle,
299  setMETitle(jetHEM17_AbsEta_, histtitle_obtag + " |#eta|", "events / |#eta|");
300 }
301 
303  // if valid HLT paths are required,
304  // analyze event only if all paths are valid
306  return;
307  }
308 
309  // Filter out events if Trigger Filtering is requested
310  if (den_genTriggerEventFlag_->on() && !den_genTriggerEventFlag_->accept(iEvent, iSetup))
311  return;
312 
313  const int ls = iEvent.id().luminosityBlock();
314 
315  v_jetpt.clear();
316  v_jeteta.clear();
317  v_jetphi.clear();
318 
320  iEvent.getByToken(jetSrc_, offjets);
321  if (!offjets.isValid()) {
322  edm::LogWarning("JetMonitor") << "Jet handle not valid \n";
323  return;
324  }
325  for (edm::View<reco::Jet>::const_iterator ibegin = offjets->begin(), iend = offjets->end(), ijet = ibegin;
326  ijet != iend;
327  ++ijet) {
328  //if (ijet->pt()< 20) {continue;}
329  if (ijet->pt() < ptcut_) {
330  continue;
331  }
332  v_jetpt.push_back(ijet->pt());
333  v_jeteta.push_back(ijet->eta());
334  v_jetphi.push_back(ijet->phi());
335  // cout << "jetpt (view ) : " << ijet->pt() << endl;
336  }
337 
338  if (v_jetpt.empty())
339  return;
340  double jetpt_ = v_jetpt[0];
341  double jeteta_ = v_jeteta[0];
342  double jetphi_ = v_jetphi[0];
343 
344  FillME(a_ME, jetpt_, jetphi_, jeteta_, ls, "denominator");
345  if (isBarrel(jeteta_)) {
346  FillME(a_ME_HB, jetpt_, jetphi_, jeteta_, ls, "denominator", true, true, true, false);
347  } else if (isEndCapP(jeteta_)) {
348  FillME(a_ME_HE, jetpt_, jetphi_, jeteta_, ls, "denominator", true, true, true, false);
349  FillME(a_ME_HE_p, jetpt_, jetphi_, jeteta_, ls, "denominator", true, true, true, false);
350  } else if (isEndCapM(jeteta_)) {
351  FillME(a_ME_HE, jetpt_, jetphi_, jeteta_, ls, "denominator", true, true, true, false);
352  FillME(a_ME_HE_m, jetpt_, jetphi_, jeteta_, ls, "denominator", true, true, true, false);
353  } else if (isForward(jeteta_)) {
354  FillME(a_ME_HF, jetpt_, jetphi_, jeteta_, ls, "denominator", true, true, true, false);
355  }
356 
357  if (isHEP17(jeteta_, jetphi_)) {
359  jetpt_,
360  jetphi_,
361  jeteta_,
362  ls,
363  "denominator",
364  true,
365  false,
366  false,
367  false); // doPhi, doEta, doEtaPhi, doVsLS
369  } else if (isHEM17(jeteta_, jetphi_)) {
370  FillME(
371  a_ME_HEM17, jetpt_, jetphi_, jeteta_, ls, "denominator", true, false, false, false); // doPhi, doEta, doEtaPhi
373  } else if (isHEP18(jeteta_, jetphi_)) {
374  FillME(
375  a_ME_HEP18, jetpt_, jetphi_, jeteta_, ls, "denominator", false, false, false, false); // doPhi, doEta, doEtaPhi
376  }
377 
378  if (num_genTriggerEventFlag_->on() && !num_genTriggerEventFlag_->accept(iEvent, iSetup))
379  return; // Require Numerator //
380 
381  FillME(a_ME, jetpt_, jetphi_, jeteta_, ls, "numerator");
382  if (isBarrel(jeteta_)) {
383  FillME(a_ME_HB, jetpt_, jetphi_, jeteta_, ls, "numerator", true, true, true, false);
384  } else if (isEndCapP(jeteta_)) {
385  FillME(a_ME_HE, jetpt_, jetphi_, jeteta_, ls, "numerator", true, true, true, false);
386  FillME(a_ME_HE_p, jetpt_, jetphi_, jeteta_, ls, "numerator", true, true, true, false);
387  } else if (isEndCapM(jeteta_)) {
388  FillME(a_ME_HE, jetpt_, jetphi_, jeteta_, ls, "numerator", true, true, true, false);
389  FillME(a_ME_HE_m, jetpt_, jetphi_, jeteta_, ls, "numerator", true, true, true, false);
390  } else if (isForward(jeteta_)) {
391  FillME(a_ME_HF, jetpt_, jetphi_, jeteta_, ls, "numerator", true, true, true, false);
392  }
393 
394  if (isHEP17(jeteta_, jetphi_)) {
396  jetpt_,
397  jetphi_,
398  jeteta_,
399  ls,
400  "numerator",
401  true,
402  false,
403  false,
404  false); // doPhi, doEta, doEtaPhi, doVsLS
405  jetHEP17_AbsEta_.numerator->Fill(abs(jeteta_));
406  } else if (isHEM17(jeteta_, jetphi_)) {
408  jetpt_,
409  jetphi_,
410  jeteta_,
411  ls,
412  "numerator",
413  true,
414  false,
415  false,
416  false); // doPhi, doEta, doEtaPhi, doVsLS
417  jetHEM17_AbsEta_.numerator->Fill(abs(jeteta_));
418  } else if (isHEP18(jeteta_, jetphi_)) {
420  jetpt_,
421  jetphi_,
422  jeteta_,
423  ls,
424  "numerator",
425  false,
426  false,
427  false,
428  false); // doPhi, doEta, doEtaPhi, doVsLS
429  }
430 }
431 
432 bool JetMonitor::isBarrel(double eta) {
433  bool output = false;
434  if (fabs(eta) <= 1.3)
435  output = true;
436  return output;
437 }
438 
440  bool output = false;
441  if (fabs(eta) <= 3.0 && fabs(eta) > 1.3 && (eta < 0))
442  output = true; // (mia) this magic number should come from some file in CMSSW !!!
443  return output;
444 }
445 
448  bool output = false;
449  //if ( eta<=3.0 && eta >1.3) output=true;
450  if (fabs(eta) <= 3.0 && fabs(eta) > 1.3 && (eta > 0))
451  output = true; // (mia) this magic number should come from some file in CMSSW !!!
452  return output;
453 }
454 
457  bool output = false;
458  if (fabs(eta) > 3.0)
459  output = true;
460  return output;
461 }
462 
464 bool JetMonitor::isHEP17(double eta, double phi) {
465  bool output = false;
466  // phi -0.87 to -0.52
467  if (fabs(eta) <= 3.0 && fabs(eta) > 1.3 && (eta > 0) && phi > -0.87 && phi <= -0.52) {
468  output = true;
469  } // (mia) this magic number should come from some file in CMSSW !!!
470  return output;
471 }
472 
474 bool JetMonitor::isHEM17(double eta, double phi) {
475  bool output = false;
476  if (fabs(eta) <= 3.0 && fabs(eta) > 1.3 && (eta < 0) && phi > -0.87 && phi <= -0.52) {
477  output = true;
478  } // (mia) this magic number should come from some file in CMSSW !!!
479  return output;
480 }
481 
483 bool JetMonitor::isHEP18(double eta, double phi) {
484  bool output = false;
485  // phi -0.87 to -0.52
486  if (fabs(eta) <= 3.0 && fabs(eta) > 1.3 && (eta > 0) && phi > -0.52 && phi <= -0.17) {
487  output = true;
488  } // (mia) this magic number should come from some file in CMSSW !!!
489  return output;
490 }
491 
493  const double pt_,
494  const double phi_,
495  const double eta_,
496  const int ls_,
497  const std::string& DenoOrNume,
498  const bool doPhi,
499  const bool doEta,
500  const bool doEtaPhi,
501  const bool doVsLS) {
502  if (DenoOrNume == "denominator") {
503  // index 0 = pt, 1 = ptThreshold , 2 = pt vs ls , 3 = phi, 4 = eta,
504  // 5 = eta vs phi, 6 = eta vs pt , 7 = abs(eta) , 8 = abs(eta) vs phi
505  a_me[0].denominator->Fill(pt_); // pt
506  a_me[1].denominator->Fill(pt_); // jetpT Threshold binning for pt
507  if (doVsLS)
508  a_me[2].denominator->Fill(ls_, pt_); // pt vs ls
509  if (doPhi)
510  a_me[3].denominator->Fill(phi_); // phi
511  if (doEta)
512  a_me[4].denominator->Fill(eta_); // eta
513  if (doEtaPhi)
514  a_me[5].denominator->Fill(eta_, phi_); // eta vs phi
515  if (doEta)
516  a_me[6].denominator->Fill(eta_, pt_); // eta vs pT
517  } else if (DenoOrNume == "numerator") {
518  a_me[0].numerator->Fill(pt_); // pt
519  a_me[1].numerator->Fill(pt_); // jetpT Threshold binning for pt
520  if (doVsLS)
521  a_me[2].numerator->Fill(ls_, pt_); // pt vs ls
522  if (doPhi)
523  a_me[3].numerator->Fill(phi_); // phi
524  if (doEta)
525  a_me[4].numerator->Fill(eta_); // eat
526  if (doEtaPhi)
527  a_me[5].numerator->Fill(eta_, phi_); // eta vs phi
528  if (doEta)
529  a_me[6].numerator->Fill(eta_, pt_); // eta vs pT
530  } else {
531  edm::LogWarning("JetMonitor") << "CHECK OUT denu option in FillME !!! DenoOrNume ? : " << DenoOrNume << std::endl;
532  }
533 }
534 
536  ObjME* a_me,
537  const int len_,
538  const std::string& h_Name,
539  const std::string& h_Title,
540  const std::string& h_subOptName,
541  const std::string& hSubT,
542  const bool doPhi,
543  const bool doEta,
544  const bool doEtaPhi,
545  const bool doVsLS) {
546  std::string hName = h_Name;
547  std::string hTitle = h_Title;
548  const std::string hSubN = h_subOptName.empty() ? "" : "_" + h_subOptName;
549 
550  int nbin_phi = jet_phi_binning_.nbins;
551  double maxbin_phi = jet_phi_binning_.xmax;
552  double minbin_phi = jet_phi_binning_.xmin;
553 
554  int nbin_eta = jet_eta_binning_.nbins;
555  double maxbin_eta = jet_eta_binning_.xmax;
556  double minbin_eta = jet_eta_binning_.xmin;
557 
558  if (h_subOptName == "HEP17") {
559  nbin_phi = phi_binning_hep17_.nbins;
560  maxbin_phi = phi_binning_hep17_.xmax;
561  minbin_phi = phi_binning_hep17_.xmin;
562 
563  nbin_eta = eta_binning_hep17_.nbins;
564  maxbin_eta = eta_binning_hep17_.xmax;
565  minbin_eta = eta_binning_hep17_.xmin;
566  }
567  if (h_subOptName == "HEM17") {
568  nbin_phi = phi_binning_hep17_.nbins;
569  maxbin_phi = phi_binning_hep17_.xmax;
570  minbin_phi = phi_binning_hep17_.xmin;
571 
572  nbin_eta = eta_binning_hem17_.nbins;
573  maxbin_eta = eta_binning_hem17_.xmax;
574  minbin_eta = eta_binning_hem17_.xmin;
575  }
576  if (h_subOptName == "HEP18") {
577  nbin_phi = phi_binning_hep18_.nbins;
578  maxbin_phi = phi_binning_hep18_.xmax;
579  minbin_phi = phi_binning_hep18_.xmin;
580 
581  nbin_eta = eta_binning_hep17_.nbins;
582  maxbin_eta = eta_binning_hep17_.xmax;
583  minbin_eta = eta_binning_hep17_.xmin;
584  }
585  hName = h_Name + "pT" + hSubN;
586  hTitle = h_Title + " pT " + hSubT;
587  bookME(Ibooker, a_me[0], hName, hTitle, jetpt_binning_.nbins, jetpt_binning_.xmin, jetpt_binning_.xmax);
588  setMETitle(a_me[0], h_Title + " pT [GeV]", "events / [GeV]");
589 
590  hName = h_Name + "pT_pTThresh" + hSubN;
591  hTitle = h_Title + " pT " + hSubT;
592  bookME(Ibooker, a_me[1], hName, hTitle, jetptThr_binning_.nbins, jetptThr_binning_.xmin, jetptThr_binning_.xmax);
593  setMETitle(a_me[1], h_Title + "pT [GeV]", "events / [GeV]");
594 
595  if (doVsLS) {
596  hName = h_Name + "pTVsLS" + hSubN;
597  hTitle = h_Title + " vs LS " + hSubT;
598  bookME(Ibooker,
599  a_me[2],
600  hName,
601  hTitle,
607  setMETitle(a_me[2], "LS", h_Title + "pT [GeV]");
608  }
609 
610  if (doPhi) {
611  hName = h_Name + "phi" + hSubN;
612  hTitle = h_Title + " phi " + hSubT;
613  bookME(Ibooker, a_me[3], hName, hTitle, nbin_phi, minbin_phi, maxbin_phi);
614  setMETitle(a_me[3], h_Title + " #phi", "events / 0.1 rad");
615  }
616 
617  if (doEta) {
618  hName = h_Name + "eta" + hSubN;
619  hTitle = h_Title + " eta " + hSubT;
620  bookME(Ibooker, a_me[4], hName, hTitle, nbin_eta, minbin_eta, maxbin_eta);
621  setMETitle(a_me[4], h_Title + " #eta", "events / #eta");
622  }
623 
624  if (doEtaPhi) {
625  hName = h_Name + "EtaVsPhi" + hSubN;
626  hTitle = h_Title + " eta Vs phi " + hSubT;
627  bookME(Ibooker, a_me[5], hName, hTitle, nbin_eta, minbin_eta, maxbin_eta, nbin_phi, minbin_phi, maxbin_phi);
628  setMETitle(a_me[5], h_Title + " #eta", "#phi");
629  }
630 
631  if (doEta) {
632  hName = h_Name + "EtaVspT" + hSubN;
633  hTitle = h_Title + " eta Vs pT " + hSubT;
634  bookME(Ibooker,
635  a_me[6],
636  hName,
637  hTitle,
638  nbin_eta,
639  minbin_eta,
640  maxbin_eta,
644  setMETitle(a_me[6], h_Title + " #eta", "Leading Jet pT [GeV]");
645  }
646 }
647 
650  desc.add<std::string>("FolderName", "HLT/Jet");
651  desc.add<bool>("requireValidHLTPaths", true);
652 
653  desc.add<edm::InputTag>("jetSrc", edm::InputTag("ak4PFJetsCHS"));
654  desc.add<double>("ptcut", 20);
655  desc.add<bool>("ispfjettrg", true);
656  desc.add<bool>("iscalojettrg", false);
657 
659  genericTriggerEventPSet.add<bool>("andOr");
660  genericTriggerEventPSet.add<edm::InputTag>("dcsInputTag", edm::InputTag("scalersRawToDigi"));
661  genericTriggerEventPSet.add<std::vector<int> >("dcsPartitions", {});
662  genericTriggerEventPSet.add<bool>("andOrDcs", false);
663  genericTriggerEventPSet.add<bool>("errorReplyDcs", true);
664  genericTriggerEventPSet.add<std::string>("dbLabel", "");
665  genericTriggerEventPSet.add<bool>("andOrHlt", true);
666  genericTriggerEventPSet.add<edm::InputTag>("hltInputTag", edm::InputTag("TriggerResults::HLT"));
667  genericTriggerEventPSet.add<std::vector<std::string> >("hltPaths", {});
668  genericTriggerEventPSet.add<std::string>("hltDBKey", "");
669  genericTriggerEventPSet.add<bool>("errorReplyHlt", false);
670  genericTriggerEventPSet.add<unsigned int>("verbosityLevel", 1);
671 
672  desc.add<edm::ParameterSetDescription>("numGenericTriggerEventPSet", genericTriggerEventPSet);
673  desc.add<edm::ParameterSetDescription>("denGenericTriggerEventPSet", genericTriggerEventPSet);
674 
682  histoPSet.add<std::vector<double> >("jetptBinning",
683  {0., 20., 40., 60., 80., 90., 100., 110., 120., 130., 140., 150., 160.,
684  170., 180., 190., 200., 220., 240., 260., 280., 300., 350., 400., 450., 1000.});
685 
689 
690  desc.add<edm::ParameterSetDescription>("histoPSet", histoPSet);
691 
692  descriptions.add("jetMonitoring", desc);
693 }
694 
ConfigurationDescriptions.h
JetMonitor::a_ME
ObjME a_ME[7]
Definition: JetMonitor.cc:82
eostools.ls
def ls(path, rec=False)
Definition: eostools.py:349
dqm::impl::MonitorElement
Definition: MonitorElement.h:98
CaloJetCollection.h
GenJetCollection.h
CaloJet.h
JetMonitor::eta_binning_hep17_
MEbinning eta_binning_hep17_
Definition: JetMonitor.cc:105
electrons_cff.bool
bool
Definition: electrons_cff.py:366
JetMonitor::analyze
void analyze(edm::Event const &iEvent, edm::EventSetup const &iSetup) override
Definition: JetMonitor.cc:302
JetMonitor::isHEM17
bool isHEM17(double eta, double phi)
For Hcal HEM17 Area.
Definition: JetMonitor.cc:474
MessageLogger.h
TriggerDQMBase::MEbinning
Definition: TriggerDQMBase.h:16
funct::false
false
Definition: Factorize.h:29
JetMonitor::isEndCapM
bool isEndCapM(double eta)
Definition: JetMonitor.cc:439
JetMonitor_cff.jetPtThrPSet
jetPtThrPSet
Definition: JetMonitor_cff.py:9
sistrip::View
View
Definition: ConstantsForView.h:26
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:72
edm::Run
Definition: Run.h:45
JetMonitor::jetpt_binning_
MEbinning jetpt_binning_
Definition: JetMonitor.cc:78
edm
HLT enums.
Definition: AlignableModifier.h:19
JetMonitor
Definition: JetMonitor.cc:19
JetMonitor_cfi.jetPSet
jetPSet
Definition: JetMonitor_cfi.py:12
PFJet.h
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89301
PFJetCollection.h
JetMonitor::jetSrc_
edm::EDGetTokenT< edm::View< reco::Jet > > jetSrc_
Definition: JetMonitor.cc:73
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
JetMonitor::a_ME_HEM17
ObjME a_ME_HEM17[7]
Definition: JetMonitor.cc:88
JetMonitor::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: JetMonitor.cc:140
SiStripSourceConfigTier0_cff.genericTriggerEventPSet
genericTriggerEventPSet
Definition: SiStripSourceConfigTier0_cff.py:96
DQMStore.h
JetMonitor::num_genTriggerEventFlag_
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: JetMonitor.cc:75
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:46
JetMonitor::isPFJetTrig
bool isPFJetTrig
Definition: JetMonitor.cc:70
watchdog.const
const
Definition: watchdog.py:83
edm::Handle
Definition: AssociativeIterator.h:50
JetMonitor::v_jetphi
std::vector< double > v_jetphi
Definition: JetMonitor.cc:99
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
JetMonitor::v_jetpt
std::vector< double > v_jetpt
Definition: JetMonitor.cc:97
TriggerDQMBase::ObjME::numerator
MonitorElement * numerator
Definition: TriggerDQMBase.h:27
JetMonitor::isEndCapP
bool isEndCapP(double eta)
For Hcal Endcap Plus Area.
Definition: JetMonitor.cc:447
MakerMacros.h
JetMonitor::a_ME_HB
ObjME a_ME_HB[7]
Definition: JetMonitor.cc:83
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
dqm::legacy::DQMStore
Definition: DQMStore.h:728
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
JetMonitor::jetHEP17_AbsEta_
ObjME jetHEP17_AbsEta_
Definition: JetMonitor.cc:94
PVValHelper::eta
Definition: PVValidationHelpers.h:70
TriggerDQMBase.h
TriggerDQMBase::setMETitle
void setMETitle(ObjME &me, const std::string &titleX, const std::string &titleY)
Definition: TriggerDQMBase.cc:3
GenericTriggerEventFlag.h
TriggerDQMBase::MEbinning::xmax
double xmax
Definition: TriggerDQMBase.h:19
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
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
JetMonitor::a_ME_HEP17
ObjME a_ME_HEP17[7]
Definition: JetMonitor.cc:89
JetMonitor::v_jeteta
std::vector< double > v_jeteta
Definition: JetMonitor.cc:98
JetMonitor::ptcut_
double ptcut_
Definition: JetMonitor.cc:69
TriggerDQMBase
Definition: TriggerDQMBase.h:8
TriggerDQMBase::ObjME
Definition: TriggerDQMBase.h:22
JetMonitor::a_ME_HE
ObjME a_ME_HE[7]
Definition: JetMonitor.cc:84
JetMonitor::DQMStore
dqm::reco::DQMStore DQMStore
Definition: JetMonitor.cc:22
JetMonitor::ls_binning_
MEbinning ls_binning_
Definition: JetMonitor.cc:80
JetMonitor::a_ME_HE_m
ObjME a_ME_HE_m[7]
Definition: JetMonitor.cc:87
DQMEDAnalyzer.h
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
JetMonitor::jet_eta_binning_
MEbinning jet_eta_binning_
Definition: JetMonitor.cc:103
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1
TriggerDQMBase::fillHistoPSetDescription
static void fillHistoPSetDescription(edm::ParameterSetDescription &pset)
Definition: TriggerDQMBase.cc:108
JetMonitor::bookMESub
void bookMESub(DQMStore::IBooker &, ObjME *a_me, const int len_, const std::string &h_Name, const std::string &h_Title, const std::string &h_subOptName, const std::string &h_subOptTitle, const bool doPhi=true, const bool doEta=true, const bool doEtaPhi=true, const bool doVsLS=true)
Definition: JetMonitor.cc:535
funct::true
true
Definition: Factorize.h:173
JetMonitor::~JetMonitor
~JetMonitor() override
Definition: JetMonitor.cc:131
JetMonitor::requireValidHLTPaths_
const bool requireValidHLTPaths_
Definition: JetMonitor.cc:66
edm::ParameterSet
Definition: ParameterSet.h:47
JetMonitor::phi_binning_hep17_
MEbinning phi_binning_hep17_
Definition: JetMonitor.cc:108
ParameterSet
Definition: Functions.h:16
JetMonitor::isForward
bool isForward(double eta)
For Hcal Forward Plus Area.
Definition: JetMonitor.cc:456
PVValHelper::phi
Definition: PVValidationHelpers.h:69
GenericTriggerEventFlag
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
Definition: GenericTriggerEventFlag.h:42
JetMonitor::JetMonitor
JetMonitor(const edm::ParameterSet &)
Definition: JetMonitor.cc:112
JetMonitor::isHEP17
bool isHEP17(double eta, double phi)
For Hcal HEP17 Area.
Definition: JetMonitor.cc:464
iEvent
int iEvent
Definition: GenABIO.cc:224
LumiMonitor_cff.histoPSet
histoPSet
Definition: LumiMonitor_cff.py:12
JetMonitor::isCaloJetTrig
bool isCaloJetTrig
Definition: JetMonitor.cc:71
JetMonitor::jetHEM17_AbsEta_
ObjME jetHEM17_AbsEta_
Definition: JetMonitor.cc:95
JetMonitor::eta_binning_hem17_
MEbinning eta_binning_hem17_
Definition: JetMonitor.cc:106
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
JetMonitor::isHEP18
bool isHEP18(double eta, double phi)
For Hcal HEP18 Area.
Definition: JetMonitor.cc:483
edm::EventSetup
Definition: EventSetup.h:58
JetMonitor::isBarrel
bool isBarrel(double eta)
Definition: JetMonitor.cc:432
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
cms::cuda::device::unique_ptr
std::unique_ptr< T, impl::DeviceDeleter > unique_ptr
Definition: device_unique_ptr.h:33
DDAxes::phi
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
std
Definition: JetResolutionObject.h:76
JetMonitor::MonitorElement
dqm::reco::MonitorElement MonitorElement
Definition: JetMonitor.cc:21
ConfigurationDescriptions
StringCutObjectSelector.h
JetMonitor::jetHEM17_AbsEtaVsPhi_
ObjME jetHEM17_AbsEtaVsPhi_
Definition: JetMonitor.cc:93
Frameworkfwd.h
JetMonitor::jetHEP17_AbsEtaVsPhi_
ObjME jetHEP17_AbsEtaVsPhi_
Definition: JetMonitor.cc:92
JetMonitor::jet_phi_binning_
MEbinning jet_phi_binning_
Definition: JetMonitor.cc:102
TriggerDQMBase::ObjME::denominator
MonitorElement * denominator
Definition: TriggerDQMBase.h:28
TriggerDQMBase::MEbinning::nbins
uint nbins
Definition: TriggerDQMBase.h:17
TriggerDQMBase::MEbinning::xmin
double xmin
Definition: TriggerDQMBase.h:18
dqm::implementation::IBooker
Definition: DQMStore.h:43
edm::View::const_iterator
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
Definition: View.h:86
ALCARECOPromptCalibProdSiPixelAli0T_cff.throw
throw
Definition: ALCARECOPromptCalibProdSiPixelAli0T_cff.py:9
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
JetMonitor::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: JetMonitor.cc:648
EventSetup
JetMonitor::FillME
void FillME(ObjME *a_me, const double pt_, const double phi_, const double eta_, const int ls_, const std::string &denu, const bool doPhi=true, const bool doEta=true, const bool doEtaPhi=true, const bool doVsLS=true)
Definition: JetMonitor.cc:492
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
JetMonitor::hltPathsAreValid_
bool hltPathsAreValid_
Definition: JetMonitor.cc:67
edm::Event
Definition: Event.h:73
JetMonitor::phi_binning_hep18_
MEbinning phi_binning_hep18_
Definition: JetMonitor.cc:109
TriggerDQMBase::fillHistoLSPSetDescription
static void fillHistoLSPSetDescription(edm::ParameterSetDescription &pset)
Definition: TriggerDQMBase.cc:114
edm::InputTag
Definition: InputTag.h:15
JetMonitor::a_ME_HEP18
ObjME a_ME_HEP18[7]
Definition: JetMonitor.cc:90
JetMonitor::jetptThr_binning_
MEbinning jetptThr_binning_
Definition: JetMonitor.cc:79
JetMonitor::a_ME_HE_p
ObjME a_ME_HE_p[7]
Definition: JetMonitor.cc:86
JetMonitor::den_genTriggerEventFlag_
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: JetMonitor.cc:76
JetMonitor::a_ME_HF
ObjME a_ME_HF[7]
Definition: JetMonitor.cc:85
JetMonitor::folderName_
const std::string folderName_
Definition: JetMonitor.cc:64
Run