112 : folderName_(iConfig.getParameter<std::
string>(
"FolderName")),
113 requireValidHLTPaths_(iConfig.getParameter<bool>(
"requireValidHLTPaths")),
114 hltPathsAreValid_(
false),
119 photon_variable_binning_(
120 iConfig.getParameter<edm::
ParameterSet>(
"histoPSet").getParameter<std::
vector<double> >(
"photonBinning")),
121 diphoton_mass_binning_(
122 iConfig.getParameter<edm::
ParameterSet>(
"histoPSet").getParameter<std::
vector<double> >(
"massBinning")),
123 photon_binning_(getHistoPSet(
128 iConfig.getParameter<edm::
ParameterSet>(
"numGenericTriggerEventPSet"), consumesCollector(), *this)),
130 iConfig.getParameter<edm::
ParameterSet>(
"denGenericTriggerEventPSet"), consumesCollector(), *this)),
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) {
320 electrons.push_back(
e);
327 std::vector<reco::Photon>
photons;
332 for (
auto const&
p : *photonHandle) {
334 photons.push_back(
p);
341 if (!(photons.empty()))
364 sqrt(2 * photons[0].
pt() * photons[1].
pt() *
365 (cosh(photons[0].
eta() - photons[1].
eta()) -
cos(photons[0].
phi() - photons[1].
phi()))));
373 if (!(photons.empty())) {
393 sqrt(2 * photons[0].
pt() * photons[1].
pt() *
394 (cosh(photons[0].
eta() - photons[1].
eta()) -
cos(photons[0].
phi() - photons[1].
phi()))));
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.};
429 histoPSet.
add<std::vector<double> >(
"photonBinning", bins);
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)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
den_genTriggerEventFlag_(new GenericTriggerEventFlag(iConfig.getParameter< edm::ParameterSet >("denGenericTriggerEventPSet"), consumesCollector(),*this))
eleSelection_(iConfig.getParameter< std::string >("eleSelection"))
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)
ls_binning_(getHistoPSet(iConfig.getParameter< edm::ParameterSet >("histoPSet").getParameter< edm::ParameterSet >("lsPSet")))
const std::string folderName_
LuminosityBlockNumber_t luminosityBlock() const
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_
#define override(base_class)
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_
njets_(iConfig.getParameter< unsigned int >("njets"))
metSelection_(iConfig.getParameter< std::string >("metSelection"))
edm::EDGetTokenT< reco::PFMETCollection > metToken_
ParameterDescriptionBase * add(U const &iLabel, T const &value)
PhotonMonitor(const edm::ParameterSet &)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
metToken_(consumes< reco::PFMETCollection >(iConfig.getParameter< edm::InputTag >("met")))
num_genTriggerEventFlag_(new GenericTriggerEventFlag(iConfig.getParameter< edm::ParameterSet >("numGenericTriggerEventPSet"), consumesCollector(),*this))
~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_
nphotons_(iConfig.getParameter< unsigned int >("nphotons"))
jetSelection_(iConfig.getParameter< std::string >("jetSelection"))
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
static void fillPSetDescription(edm::ParameterSetDescription &desc)
const MEbinning eta_binning_
const MEbinning phi_binning_1
nelectrons_(iConfig.getParameter< unsigned int >("nelectrons"))