13 : folderName_(iConfig.getParameter<
std::
string>(
"FolderName")),
18 muon_variable_binning_(
19 iConfig.getParameter<
edm::
ParameterSet>(
"histoPSet").getParameter<
std::vector<double> >(
"muonBinning")),
20 muoneta_variable_binning_(
21 iConfig.getParameter<
edm::
ParameterSet>(
"histoPSet").getParameter<
std::vector<double> >(
"muonetaBinning")),
22 muon_binning_(getHistoPSet(
26 muPt_variable_binning_2D_(
27 iConfig.getParameter<
edm::
ParameterSet>(
"histoPSet").getParameter<
std::vector<double> >(
"muPtBinning2D")),
28 elePt_variable_binning_2D_(
29 iConfig.getParameter<
edm::
ParameterSet>(
"histoPSet").getParameter<
std::vector<double> >(
"elePtBinning2D")),
30 muEta_variable_binning_2D_(
31 iConfig.getParameter<
edm::
ParameterSet>(
"histoPSet").getParameter<
std::vector<double> >(
"muEtaBinning2D")),
32 eleEta_variable_binning_2D_(
33 iConfig.getParameter<
edm::
ParameterSet>(
"histoPSet").getParameter<
std::vector<double> >(
"eleEtaBinning2D")),
35 iConfig.getParameter<
edm::
ParameterSet>(
"numGenericTriggerEventPSet"), consumesCollector(), *this)),
37 iConfig.getParameter<
edm::
ParameterSet>(
"denGenericTriggerEventPSet"), consumesCollector(), *this)),
38 metSelection_(iConfig.getParameter<
std::
string>(
"metSelection")),
39 muonSelection_(iConfig.getParameter<
std::
string>(
"muonSelection")),
40 eleSelection_(iConfig.getParameter<
std::
string>(
"eleSelection")),
41 nmuons_(iConfig.getParameter<unsigned
int>(
"nmuons")),
42 nelectrons_(iConfig.getParameter<unsigned
int>(
"nelectrons")) {
99 me.
numerator = ibooker.
book1D(histname +
"_numerator", histtitle +
" (numerator)", nbins, min, max);
100 me.
denominator = ibooker.
book1D(histname +
"_denominator", histtitle +
" (denominator)", nbins, min, max);
107 const std::vector<double>&
binning) {
108 int nbins = binning.size() - 1;
109 std::vector<float> fbinning(binning.begin(), binning.end());
110 float* arr = &fbinning[0];
111 me.
numerator = ibooker.
book1D(histname +
"_numerator", histtitle +
" (numerator)", nbins, arr);
112 me.
denominator = ibooker.
book1D(histname +
"_denominator", histtitle +
" (denominator)", nbins, arr);
125 ibooker.
bookProfile(histname +
"_numerator", histtitle +
" (numerator)", nbinsX, xmin, xmax, ymin, ymax);
127 ibooker.
bookProfile(histname +
"_denominator", histtitle +
" (denominator)", nbinsX, xmin, xmax, ymin, ymax);
141 ibooker.
book2D(histname +
"_numerator", histtitle +
" (numerator)", nbinsX, xmin, xmax, nbinsY, ymin, ymax);
143 ibooker.
book2D(histname +
"_denominator", histtitle +
" (denominator)", nbinsX, xmin, xmax, nbinsY, ymin, ymax);
150 const std::vector<double>& binningX,
151 const std::vector<double>& binningY) {
152 int nbinsX = binningX.size() - 1;
153 std::vector<float> fbinningX(binningX.begin(), binningX.end());
154 float* arrX = &fbinningX[0];
155 int nbinsY = binningY.size() - 1;
156 std::vector<float> fbinningY(binningY.begin(), binningY.end());
157 float* arrY = &fbinningY[0];
159 me.
numerator = ibooker.
book2D(histname +
"_numerator", histtitle +
" (numerator)", nbinsX, arrX, nbinsY, arrY);
160 me.
denominator = ibooker.
book2D(histname +
"_denominator", histtitle +
" (denominator)", nbinsX, arrX, nbinsY, arrY);
168 histname =
"muon_pt";
169 histtitle =
"muon PT";
173 histname =
"muon_pt_variable";
174 histtitle =
"muon PT";
178 histname =
"muonVsLS";
179 histtitle =
"muon pt vs LS";
191 histname =
"muon_phi";
192 histtitle =
"Muon phi";
196 histname =
"muon_eta";
197 histtitle =
"Muon eta";
201 histname =
"muon_eta_variablebinning";
202 histtitle =
"Muon eta";
206 histname =
"muon_dxy";
207 histtitle =
"Muon dxy";
211 histname =
"muon_dz";
212 histtitle =
"Muon dz";
216 histname =
"muon_etaphi";
217 histtitle =
"Muon eta-phi";
230 histname =
"electron_pt_variable";
231 histtitle =
"electron PT";
235 histname =
"electron_eta";
236 histtitle =
"electron eta";
240 histname =
"elePt_muPt";
241 histtitle =
"electron pt vs muon pt";
245 histname =
"eleEta_muEta";
246 histtitle =
"electron #eta vs muon #eta";
277 if (not
v.isFake()) {
278 pv.SetXYZ(
v.x(),
v.y(),
v.z());
285 std::vector<reco::Muon>
muons;
286 if (muonHandle->size() <
nmuons_)
288 for (
auto const&
p : *muonHandle) {
297 std::vector<reco::GsfElectron>
electrons;
300 for (
auto const&
e : *eleHandle) {
302 electrons.push_back(
e);
320 if (!electrons.empty()) {
333 if (!muons.empty()) {
342 if (!electrons.empty()) {
352 pset.
add<
unsigned int>(
"nbins");
353 pset.
add<
double>(
"xmin");
354 pset.
add<
double>(
"xmax");
358 pset.
add<
unsigned int>(
"nbins", 2500);
359 pset.
add<
double>(
"xmin", 0.);
360 pset.
add<
double>(
"xmax", 2500.);
374 desc.
add<
unsigned int>(
"nmuons", 0);
375 desc.
add<
unsigned int>(
"nelectrons", 0);
378 genericTriggerEventPSet.add<
bool>(
"andOr");
380 genericTriggerEventPSet.add<std::vector<int> >(
"dcsPartitions", {});
381 genericTriggerEventPSet.add<
bool>(
"andOrDcs",
false);
382 genericTriggerEventPSet.add<
bool>(
"errorReplyDcs",
true);
383 genericTriggerEventPSet.add<
std::string>(
"dbLabel",
"");
384 genericTriggerEventPSet.add<
bool>(
"andOrHlt",
true);
386 genericTriggerEventPSet.add<std::vector<std::string> >(
"hltPaths", {});
387 genericTriggerEventPSet.add<
std::string>(
"hltDBKey",
"");
388 genericTriggerEventPSet.add<
bool>(
"errorReplyHlt",
false);
389 genericTriggerEventPSet.add<
bool>(
"errorReplyL1",
false);
390 genericTriggerEventPSet.add<
unsigned int>(
"verbosityLevel", 1);
391 genericTriggerEventPSet.add<
bool>(
"andOrL1",
false);
392 genericTriggerEventPSet.add<
bool>(
"l1BeforeMask",
false);
393 genericTriggerEventPSet.add<std::vector<std::string> >(
"l1Algorithms", {});
402 std::vector<double>
bins = {0., 20., 40., 60., 80., 90., 100., 110., 120., 130., 140., 150., 160.,
403 170., 180., 190., 200., 220., 240., 260., 280., 300., 350., 400., 450., 1000.};
404 histoPSet.add<std::vector<double> >(
"muonBinning",
bins);
406 std::vector<double>
etabins = {-3., -2.5, -2., -1.5, -1., -.5, 0., .5, 1., 1.5, 2., 2.5, 3.};
407 histoPSet.add<std::vector<double> >(
"muonetaBinning",
etabins);
409 std::vector<double> bins_2D = {0., 40., 80., 100., 120., 140., 160., 180., 200., 240., 280., 350., 450., 1000.};
410 std::vector<double> eta_bins_2D = {-3., -2., -1., 0., 1., 2., 3.};
411 std::vector<double> phi_bins_2D = {
412 -3.1415, -2.5132, -1.8849, -1.2566, -0.6283, 0, 0.6283, 1.2566, 1.8849, 2.5132, 3.1415};
413 histoPSet.add<std::vector<double> >(
"elePtBinning2D", bins_2D);
414 histoPSet.add<std::vector<double> >(
"muPtBinning2D", bins_2D);
415 histoPSet.add<std::vector<double> >(
"eleEtaBinning2D", eta_bins_2D);
416 histoPSet.add<std::vector<double> >(
"muEtaBinning2D", eta_bins_2D);
424 descriptions.
add(
"muonMonitoring", desc);
std::vector< double > muPt_variable_binning_2D_
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX)
T getParameter(std::string const &) const
StringCutObjectSelector< reco::MET, true > metSelection_
edm::EDGetTokenT< reco::PFMETCollection > metToken_
void setTitle(MuonME &me, const std::string &titleX, const std::string &titleY)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MuonME muonEtaME_variableBinning_
void setCurrentFolder(std::string const &fullpath)
MuonMonitor(const edm::ParameterSet &)
std::vector< double > muoneta_variable_binning_
dqm::reco::MonitorElement * numerator
const MEbinning dxy_binning_
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
std::vector< Vertex > VertexCollection
collection of Vertex objects
edm::EDGetTokenT< reco::VertexCollection > vtxToken_
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
LuminosityBlockNumber_t luminosityBlock() const
const MEbinning phi_binning_
std::vector< double > muEta_variable_binning_2D_
std::vector< Muon > MuonCollection
collection of Muon objects
dqm::reco::MonitorElement * denominator
StringCutObjectSelector< reco::GsfElectron, true > eleSelection_
void analyze(edm::Event const &iEvent, edm::EventSetup const &iSetup) override
edm::EDGetTokenT< edm::View< reco::GsfElectron > > eleToken_
#define DEFINE_FWK_MODULE(type)
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, char const *option="s")
static void fillHistoPSetDescription(edm::ParameterSetDescription &pset)
static MEbinning getHistoPSet(edm::ParameterSet const &pset)
edm::EDGetTokenT< reco::MuonCollection > muonToken_
ParameterDescriptionBase * add(U const &iLabel, T const &value)
std::vector< double > elePt_variable_binning_2D_
std::vector< double > muon_variable_binning_
static MEbinning getHistoLSPSet(edm::ParameterSet const &pset)
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
XYZPointD XYZPoint
point in space with cartesian internal representation
MuonME muonME_variableBinning_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void bookME(DQMStore::IBooker &, MuonME &me, const std::string &histname, const std::string &histtitle, int nbins, double xmin, double xmax)
MuonME eleME_variableBinning_
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const MEbinning eta_binning_
std::vector< double > eleEta_variable_binning_2D_
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
static void fillHistoLSPSetDescription(edm::ParameterSetDescription &pset)
StringCutObjectSelector< reco::Muon, true > muonSelection_