98 : folderName_(iConfig.getParameter<
std::
string>(
"FolderName")),
99 requireValidHLTPaths_(iConfig.getParameter<
bool>(
"requireValidHLTPaths")),
100 hltPathsAreValid_(
false),
101 ptcut_(iConfig.getParameter<double>(
"ptcut")),
102 isPFJetTrig(iConfig.getParameter<
bool>(
"ispfjettrg")),
103 isCaloJetTrig(iConfig.getParameter<
bool>(
"iscalojettrg")),
104 enableFullMonitoring_(iConfig.getParameter<
bool>(
"enableFullMonitoring")),
107 iConfig.getParameter<
edm::
ParameterSet>(
"numGenericTriggerEventPSet"), consumesCollector(), *this)),
109 iConfig.getParameter<
edm::
ParameterSet>(
"denGenericTriggerEventPSet"), consumesCollector(), *this)),
110 jetpt_binning_(getHistoPSet(
112 jetptThr_binning_(getHistoPSet(
114 ls_binning_(getHistoPSet(
153 hist_obtag =
"pfjet";
154 histtitle_obtag =
"PFJet";
156 hist_obtag =
"calojet";
157 histtitle_obtag =
"CaloJet";
159 hist_obtag =
"pfjet";
160 histtitle_obtag =
"PFJet";
238 const int ls =
iEvent.id().luminosityBlock();
253 if (ijet->pt() <
ptcut_) {
268 FillME(
a_ME, jetpt_, jetphi_, jeteta_,
ls,
"denominator");
270 FillME(
a_ME_HB, jetpt_, jetphi_, jeteta_,
ls,
"denominator",
true,
true,
true,
false);
272 FillME(
a_ME_HE, jetpt_, jetphi_, jeteta_,
ls,
"denominator",
true,
true,
true,
false);
274 FillME(
a_ME_HE_p, jetpt_, jetphi_, jeteta_,
ls,
"denominator",
true,
false,
true,
false);
277 FillME(
a_ME_HE, jetpt_, jetphi_, jeteta_,
ls,
"denominator",
true,
true,
true,
false);
279 FillME(
a_ME_HE_m, jetpt_, jetphi_, jeteta_,
ls,
"denominator",
true,
false,
true,
false);
282 FillME(
a_ME_HF, jetpt_, jetphi_, jeteta_,
ls,
"denominator",
true,
true,
true,
false);
288 FillME(
a_ME, jetpt_, jetphi_, jeteta_,
ls,
"numerator");
290 FillME(
a_ME_HB, jetpt_, jetphi_, jeteta_,
ls,
"numerator",
true,
true,
true,
false);
292 FillME(
a_ME_HE, jetpt_, jetphi_, jeteta_,
ls,
"numerator",
true,
true,
true,
false);
294 FillME(
a_ME_HE_p, jetpt_, jetphi_, jeteta_,
ls,
"numerator",
true,
false,
true,
false);
297 FillME(
a_ME_HE, jetpt_, jetphi_, jeteta_,
ls,
"numerator",
true,
true,
true,
false);
299 FillME(
a_ME_HE_m, jetpt_, jetphi_, jeteta_,
ls,
"numerator",
true,
false,
true,
false);
302 FillME(
a_ME_HF, jetpt_, jetphi_, jeteta_,
ls,
"numerator",
true,
true,
true,
false);
308 if (fabs(
eta) <= 1.3)
315 if (fabs(
eta) <= 3.0 && fabs(
eta) > 1.3 && (
eta < 0))
323 if (fabs(
eta) <= 3.0 && fabs(
eta) > 1.3 && (
eta > 0))
346 if (DenoOrNume ==
"denominator") {
361 }
else if (DenoOrNume ==
"numerator") {
375 edm::LogWarning(
"JetMonitor") <<
"CHECK OUT denu option in FillME !!! DenoOrNume ? : " << DenoOrNume << std::endl;
392 const std::string hSubN = h_subOptName.empty() ?
"" :
"_" + h_subOptName;
402 hName = h_Name +
"pT" + hSubN;
403 hTitle = h_Title +
" pT " + hSubT;
405 setMETitle(a_me[0], h_Title +
" pT [GeV]",
"events / [GeV]");
407 hName = h_Name +
"pT_pTThresh" + hSubN;
408 hTitle = h_Title +
" pT " + hSubT;
410 setMETitle(a_me[1], h_Title +
"pT [GeV]",
"events / [GeV]");
413 hName = h_Name +
"pTVsLS" + hSubN;
414 hTitle = h_Title +
" vs LS " + hSubT;
424 setMETitle(a_me[2],
"LS", h_Title +
"pT [GeV]");
428 hName = h_Name +
"phi" + hSubN;
429 hTitle = h_Title +
" phi " + hSubT;
430 bookME(Ibooker, a_me[3], hName, hTitle, nbin_phi, minbin_phi, maxbin_phi);
431 setMETitle(a_me[3], h_Title +
" #phi",
"events / 0.1 rad");
435 hName = h_Name +
"eta" + hSubN;
436 hTitle = h_Title +
" eta " + hSubT;
437 bookME(Ibooker, a_me[4], hName, hTitle, nbin_eta, minbin_eta, maxbin_eta);
438 setMETitle(a_me[4], h_Title +
" #eta",
"events");
442 hName = h_Name +
"EtaVsPhi" + hSubN;
443 hTitle = h_Title +
" eta Vs phi " + hSubT;
444 bookME(Ibooker, a_me[5], hName, hTitle, nbin_eta, minbin_eta, maxbin_eta, nbin_phi, minbin_phi, maxbin_phi);
445 setMETitle(a_me[5], h_Title +
" #eta",
"#phi");
449 hName = h_Name +
"EtaVspT" + hSubN;
450 hTitle = h_Title +
" eta Vs pT " + hSubT;
461 setMETitle(a_me[6], h_Title +
" #eta",
"Leading Jet pT [GeV]");
468 desc.add<
bool>(
"requireValidHLTPaths",
true);
471 desc.add<
double>(
"ptcut", 20);
472 desc.add<
bool>(
"ispfjettrg",
true);
473 desc.add<
bool>(
"iscalojettrg",
false);
475 desc.add<
bool>(
"enableFullMonitoring",
true);
490 histoPSet.add<std::vector<double> >(
"jetptBinning",
491 {0., 20., 40., 60., 80., 90., 100., 110., 120., 130., 140., 150., 160.,
492 170., 180., 190., 200., 220., 240., 260., 280., 300., 350., 400., 450., 1000.});
500 descriptions.
add(
"jetMonitoring",
desc);
dqm::reco::DQMStore DQMStore
bool isBarrel(double eta)
const bool enableFullMonitoring_
static void fillHistoLSPSetDescription(edm::ParameterSetDescription &pset)
virtual void setCurrentFolder(std::string const &fullpath)
JetMonitor(const edm::ParameterSet &)
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)
std::unique_ptr< T, impl::DeviceDeleter > unique_ptr
void setMETitle(ObjME &me, const std::string &titleX, const std::string &titleY)
dqm::reco::MonitorElement MonitorElement
const std::string folderName_
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
#define DEFINE_FWK_MODULE(type)
MEbinning jetptThr_binning_
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 Area.
static void fillPSetDescription(edm::ParameterSetDescription &desc)
std::vector< double > v_jetphi
MEbinning jet_eta_binning_
bool isEndCapP(double eta)
For Hcal Endcap Plus Area.