112 : folderName_(iConfig.getParameter<
std::
string>(
"FolderName")),
113 requireValidHLTPaths_(iConfig.getParameter<
bool>(
"requireValidHLTPaths")),
114 hltPathsAreValid_(
false),
119 photon_variable_binning_(
121 diphoton_mass_binning_(
123 photon_binning_(getHistoPSet(
128 iConfig.getParameter<
edm::
ParameterSet>(
"numGenericTriggerEventPSet"), consumesCollector(), *this)),
130 iConfig.getParameter<
edm::
ParameterSet>(
"denGenericTriggerEventPSet"), consumesCollector(), *this)),
131 metSelection_(iConfig.getParameter<
std::
string>(
"metSelection")),
132 jetSelection_(iConfig.getParameter<
std::
string>(
"jetSelection")),
133 eleSelection_(iConfig.getParameter<
std::
string>(
"eleSelection")),
134 photonSelection_(iConfig.getParameter<
std::
string>(
"photonSelection")),
135 njets_(iConfig.getParameter<unsigned
int>(
"njets")),
136 nphotons_(iConfig.getParameter<unsigned
int>(
"nphotons")),
137 nelectrons_(iConfig.getParameter<unsigned
int>(
"nelectrons")) {}
173 histname =
"photon_pt";
174 histtitle =
"photon PT";
178 histname =
"photon_pt_variable";
179 histtitle =
"photon PT";
183 histname =
"photonVsLS";
184 histtitle =
"photon pt vs LS";
196 histname =
"photon_phi";
197 histtitle =
"Photon phi";
201 histname =
"photon_eta";
202 histtitle =
"Photon eta";
206 histname =
"photon_r9";
207 histtitle =
"Photon r9";
211 histname =
"photon_hoE";
212 histtitle =
"Photon hoverE";
216 histname =
"photon_etaphi";
217 histtitle =
"Photon eta-phi";
232 histname =
"diphoton_mass";
233 histtitle =
"Diphoton mass";
237 histname =
"subphoton_pt";
238 histtitle =
"subphoton PT";
243 histname =
"subphoton_eta";
244 histtitle =
"subPhoton eta";
248 histname =
"subphoton_phi";
249 histtitle =
"subPhoton phi";
253 histname =
"subphoton_r9";
254 histtitle =
"subPhoton r9";
258 histname =
"subphoton_hoE";
259 histtitle =
"subPhoton hoverE";
263 histname =
"subphoton_etaphi";
264 histtitle =
"subPhoton eta-phi";
302 std::vector<reco::PFJet>
jets;
304 if (jetHandle->size() <
njets_)
306 for (
auto const&
j : *jetHandle) {
315 std::vector<reco::GsfElectron>
electrons;
318 for (
auto const&
e : *eleHandle) {
327 std::vector<reco::Photon>
photons;
332 for (
auto const&
p : *photonHandle) {
340 int ls =
iEvent.id().luminosityBlock();
401 desc.add<
bool>(
"requireValidHLTPaths",
true);
412 "pt > 145 && eta<1.4442 && hadTowOverEm<0.0597 && full5x5_sigmaIetaIeta()<0.01031 && chargedHadronIso<1.295");
414 desc.add<
unsigned int>(
"njets", 0);
415 desc.add<
unsigned int>(
"nelectrons", 0);
416 desc.add<
unsigned int>(
"nphotons", 0);
427 std::vector<double>
bins = {0., 20., 40., 60., 80., 90., 100., 110., 120., 130., 140., 150., 160.,
428 170., 180., 190., 200., 220., 240., 260., 280., 300., 350., 400., 450., 1000.};
430 std::vector<double> massbins = {90., 91., 92., 93., 94., 95., 96., 97., 98., 99., 100., 101., 102.,
431 103., 104., 105., 106., 107., 108., 109., 110., 115., 120., 130., 150., 200.};
432 histoPSet.add<std::vector<double> >(
"massBinning", massbins);
439 descriptions.
add(
"photonMonitoring",
desc);
const MEbinning r9_binning_
const bool requireValidHLTPaths_
dqm::reco::DQMStore DQMStore
StringCutObjectSelector< reco::Photon, true > photonSelection_
static void fillHistoLSPSetDescription(edm::ParameterSetDescription &pset)
virtual void setCurrentFolder(std::string const &fullpath)
#define DEFINE_FWK_MODULE(type)
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
StringCutObjectSelector< reco::PFJet, true > jetSelection_
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
static void fillHistoPSetDescription(edm::ParameterSetDescription &pset)
const std::string folderName_
void setMETitle(ObjME &me, const std::string &titleX, const std::string &titleY)
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
MEbinning photon_binning_
StringCutObjectSelector< reco::MET, true > metSelection_
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
ObjME photonME_variableBinning_
edm::EDGetTokenT< reco::PhotonCollection > photonToken_
Cos< T >::type cos(const T &t)
MonitorElement * denominator
MonitorElement * numerator
ObjME subphotonME_variableBinning_
std::vector< double > diphoton_mass_binning_
edm::EDGetTokenT< reco::PFMETCollection > metToken_
PhotonMonitor(const edm::ParameterSet &)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
~PhotonMonitor() override
StringCutObjectSelector< reco::GsfElectron, true > eleSelection_
std::vector< Photon > PhotonCollection
collectin of Photon objects
const MEbinning hoe_binning_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
dqm::reco::MonitorElement MonitorElement
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)
edm::EDGetTokenT< reco::PFJetCollection > jetToken_
std::vector< PFJet > PFJetCollection
collection of PFJet objects
void analyze(edm::Event const &iEvent, edm::EventSetup const &iSetup) override
edm::EDGetTokenT< reco::GsfElectronCollection > eleToken_
std::vector< double > photon_variable_binning_
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
static void fillPSetDescription(edm::ParameterSetDescription &desc)
const MEbinning eta_binning_
const MEbinning phi_binning_1