38 bool isHEM17(
double eta,
double phi);
39 bool isHEP18(
double eta,
double phi);
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);
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);
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")),
121 iConfig.getParameter<edm::
ParameterSet>(
"numGenericTriggerEventPSet"), consumesCollector(), *this)),
123 iConfig.getParameter<edm::
ParameterSet>(
"denGenericTriggerEventPSet"), consumesCollector(), *this)),
124 jetpt_binning_(getHistoPSet(
126 jetptThr_binning_(getHistoPSet(
167 hist_obtag =
"pfjet";
168 histtitle_obtag =
"PFJet";
170 hist_obtag =
"calojet";
171 histtitle_obtag =
"CaloJet";
173 hist_obtag =
"pfjet";
174 histtitle_obtag =
"PFJet";
279 histname = hist_obtag +
"abseta_HEP17";
280 histtitle = histtitle_obtag +
" |#eta| (HEP17) ";
290 histname = hist_obtag +
"abseta_HEM17";
291 histtitle = histtitle_obtag +
" |eta| (HEM17) ";
329 if (ijet->pt() <
ptcut_) {
344 FillME(
a_ME, jetpt_, jetphi_, jeteta_, ls,
"denominator");
346 FillME(
a_ME_HB, jetpt_, jetphi_, jeteta_, ls,
"denominator",
true,
true,
true,
false);
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);
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);
354 FillME(
a_ME_HF, jetpt_, jetphi_, jeteta_, ls,
"denominator",
true,
true,
true,
false);
357 if (
isHEP17(jeteta_, jetphi_)) {
369 }
else if (
isHEM17(jeteta_, jetphi_)) {
371 a_ME_HEM17, jetpt_, jetphi_, jeteta_, ls,
"denominator",
true,
false,
false,
false);
373 }
else if (
isHEP18(jeteta_, jetphi_)) {
375 a_ME_HEP18, jetpt_, jetphi_, jeteta_, ls,
"denominator",
false,
false,
false,
false);
381 FillME(
a_ME, jetpt_, jetphi_, jeteta_, ls,
"numerator");
383 FillME(
a_ME_HB, jetpt_, jetphi_, jeteta_, ls,
"numerator",
true,
true,
true,
false);
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);
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);
391 FillME(
a_ME_HF, jetpt_, jetphi_, jeteta_, ls,
"numerator",
true,
true,
true,
false);
394 if (
isHEP17(jeteta_, jetphi_)) {
406 }
else if (
isHEM17(jeteta_, jetphi_)) {
418 }
else if (
isHEP18(jeteta_, jetphi_)) {
434 if (fabs(eta) <= 1.3)
441 if (fabs(eta) <= 3.0 && fabs(eta) > 1.3 && (eta < 0))
450 if (fabs(eta) <= 3.0 && fabs(eta) > 1.3 && (eta > 0))
467 if (fabs(eta) <= 3.0 && fabs(eta) > 1.3 && (eta > 0) && phi > -0.87 && phi <= -0.52) {
476 if (fabs(eta) <= 3.0 && fabs(eta) > 1.3 && (eta < 0) && phi > -0.87 && phi <= -0.52) {
486 if (fabs(eta) <= 3.0 && fabs(eta) > 1.3 && (eta > 0) && phi > -0.52 && phi <= -0.17) {
502 if (DenoOrNume ==
"denominator") {
517 }
else if (DenoOrNume ==
"numerator") {
531 edm::LogWarning(
"JetMonitor") <<
"CHECK OUT denu option in FillME !!! DenoOrNume ? : " << DenoOrNume << std::endl;
548 const std::string hSubN = h_subOptName.empty() ?
"" :
"_" + h_subOptName;
558 if (h_subOptName ==
"HEP17") {
567 if (h_subOptName ==
"HEM17") {
576 if (h_subOptName ==
"HEP18") {
585 hName = h_Name +
"pT" + hSubN;
586 hTitle = h_Title +
" pT " + hSubT;
588 setMETitle(a_me[0], h_Title +
" pT [GeV]",
"events / [GeV]");
590 hName = h_Name +
"pT_pTThresh" + hSubN;
591 hTitle = h_Title +
" pT " + hSubT;
593 setMETitle(a_me[1], h_Title +
"pT [GeV]",
"events / [GeV]");
596 hName = h_Name +
"pTVsLS" + hSubN;
597 hTitle = h_Title +
" vs LS " + hSubT;
607 setMETitle(a_me[2],
"LS", h_Title +
"pT [GeV]");
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");
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");
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");
632 hName = h_Name +
"EtaVspT" + hSubN;
633 hTitle = h_Title +
" eta Vs pT " + hSubT;
644 setMETitle(a_me[6], h_Title +
" #eta",
"Leading Jet pT [GeV]");
651 desc.
add<
bool>(
"requireValidHLTPaths",
true);
654 desc.
add<
double>(
"ptcut", 20);
655 desc.
add<
bool>(
"ispfjettrg",
true);
656 desc.
add<
bool>(
"iscalojettrg",
false);
659 genericTriggerEventPSet.
add<
bool>(
"andOr");
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);
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);
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.});
692 descriptions.
add(
"jetMonitoring", desc);
dqm::reco::DQMStore DQMStore
bool isBarrel(double eta)
bool isHEP17(double eta, double phi)
For Hcal HEP17 Area.
static void fillHistoLSPSetDescription(edm::ParameterSetDescription &pset)
MEbinning eta_binning_hem17_
MEbinning phi_binning_hep17_
virtual void setCurrentFolder(std::string const &fullpath)
JetMonitor(const edm::ParameterSet &)
ObjME jetHEP17_AbsEtaVsPhi_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
den_genTriggerEventFlag_(new GenericTriggerEventFlag(iConfig.getParameter< edm::ParameterSet >("denGenericTriggerEventPSet"), consumesCollector(),*this))
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
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)
static void fillHistoPSetDescription(edm::ParameterSetDescription &pset)
ls_binning_(getHistoPSet(iConfig.getParameter< edm::ParameterSet >("histoPSet").getParameter< edm::ParameterSet >("lsPSet")))
std::unique_ptr< T, impl::DeviceDeleter > unique_ptr
LuminosityBlockNumber_t luminosityBlock() const
void setMETitle(ObjME &me, const std::string &titleX, const std::string &titleY)
dqm::reco::MonitorElement MonitorElement
ObjME jetHEM17_AbsEtaVsPhi_
const std::string folderName_
MEbinning eta_binning_hep17_
MEbinning phi_binning_hep18_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
MEbinning jet_phi_binning_
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
bool isEndCapM(double eta)
void analyze(edm::Event const &iEvent, edm::EventSetup const &iSetup) override
MonitorElement * denominator
MonitorElement * numerator
Abs< T >::type abs(const T &t)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
bool isHEM17(double eta, double phi)
For Hcal HEM17 Area.
MEbinning jetptThr_binning_
num_genTriggerEventFlag_(new GenericTriggerEventFlag(iConfig.getParameter< edm::ParameterSet >("numGenericTriggerEventPSet"), consumesCollector(),*this))
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
edm::EDGetTokenT< edm::View< reco::Jet > > jetSrc_
std::vector< double > v_jetpt
void add(std::string const &label, ParameterSetDescription const &psetDescription)
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)
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
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)
Log< level::Warning, false > LogWarning
std::vector< double > v_jeteta
const bool requireValidHLTPaths_
bool isForward(double eta)
For Hcal Forward Plus Area.
std::vector< double > v_jetphi
MEbinning jet_eta_binning_
bool isHEP18(double eta, double phi)
For Hcal HEP18 Area.
bool isEndCapP(double eta)
For Hcal Endcap Plus Area.