CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes
PhotonMonitor Class Reference
Inheritance diagram for PhotonMonitor:
DQMEDAnalyzer TriggerDQMBase edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Types

typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
using CacheTypes = CacheContexts< T...>
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T...>
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 
- Public Types inherited from TriggerDQMBase
typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 

Public Member Functions

 PhotonMonitor (const edm::ParameterSet &)
 
 ~PhotonMonitor () override throw ()
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 
- Public Member Functions inherited from TriggerDQMBase
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)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const std::vector< double > &binningX, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbinsX, const double xmin, const double xmax, const double ymin, const double ymax, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbinsX, const double xmin, const double xmax, const uint nbinsY, const double ymin, const double ymax, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const std::vector< double > &binningX, const std::vector< double > &binningY, const bool bookDen=true)
 
void setMETitle (ObjME &me, const std::string &titleX, const std::string &titleY)
 
 TriggerDQMBase ()=default
 
virtual ~TriggerDQMBase ()=default
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr
< DQMEDAnalyzerGlobalCache
initializeGlobalCache (edm::ParameterSet const &)
 
- Static Public Member Functions inherited from TriggerDQMBase
static void fillHistoLSPSetDescription (edm::ParameterSetDescription &pset)
 
static void fillHistoPSetDescription (edm::ParameterSetDescription &pset)
 
static MEbinning getHistoLSPSet (const edm::ParameterSet &pset)
 
static MEbinning getHistoPSet (const edm::ParameterSet &pset)
 

Protected Member Functions

void analyze (edm::Event const &iEvent, edm::EventSetup const &iSetup) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Private Attributes

std::unique_ptr
< GenericTriggerEventFlag
den_genTriggerEventFlag_
 
std::vector< double > diphoton_mass_binning_
 
ObjME diphotonMassME_
 
StringCutObjectSelector
< reco::GsfElectron, true > 
eleSelection_
 
edm::EDGetTokenT
< reco::GsfElectronCollection
eleToken_
 
const MEbinning eta_binning_ {N_ETA, -MAX_ETA, MAX_ETA}
 
const std::string folderName_
 
bool hltPathsAreValid_
 
const MEbinning hoe_binning_ {N_r9, MIN_hoe, MAX_hoe}
 
StringCutObjectSelector
< reco::PFJet, true > 
jetSelection_
 
edm::EDGetTokenT
< reco::PFJetCollection
jetToken_
 
MEbinning ls_binning_
 
double MAX_ETA = 1.4442
 
double MAX_hoe = 0.02
 
double MAX_PHI1 = 3.2
 
double MAX_r9 = 1
 
StringCutObjectSelector
< reco::MET, true > 
metSelection_
 
edm::EDGetTokenT
< reco::PFMETCollection
metToken_
 
double MIN_hoe = 0
 
double MIN_r9 = 0
 
unsigned int N_ETA = 34
 
unsigned int N_PHI1 = 64
 
unsigned int N_r9 = 50
 
unsigned int nelectrons_
 
unsigned int njets_
 
unsigned int nphotons_
 
std::unique_ptr
< GenericTriggerEventFlag
num_genTriggerEventFlag_
 
const MEbinning phi_binning_1 {N_PHI1, -MAX_PHI1, MAX_PHI1}
 
MEbinning photon_binning_
 
std::vector< double > photon_variable_binning_
 
ObjME photonEtaME_
 
ObjME photonEtaPhiME_
 
ObjME photonHoverEME_
 
ObjME photonME_
 
ObjME photonME_variableBinning_
 
ObjME photonPhiME_
 
ObjME photonr9ME_
 
StringCutObjectSelector
< reco::Photon, true > 
photonSelection_
 
edm::EDGetTokenT
< reco::PhotonCollection
photonToken_
 
ObjME photonVsLS_
 
const MEbinning r9_binning_ {N_r9, MIN_r9, MAX_r9}
 
const bool requireValidHLTPaths_
 
ObjME subphotonEtaME_
 
ObjME subphotonEtaPhiME_
 
ObjME subphotonHoverEME_
 
ObjME subphotonME_
 
ObjME subphotonME_variableBinning_
 
ObjME subphotonPhiME_
 
ObjME subphotonr9ME_
 

Additional Inherited Members

- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 34 of file PhotonMonitor.cc.

Member Typedef Documentation

Definition at line 37 of file PhotonMonitor.cc.

Definition at line 36 of file PhotonMonitor.cc.

Constructor & Destructor Documentation

PhotonMonitor::PhotonMonitor ( const edm::ParameterSet iConfig)

Definition at line 111 of file PhotonMonitor.cc.

112  : folderName_(iConfig.getParameter<std::string>("FolderName")),
113  requireValidHLTPaths_(iConfig.getParameter<bool>("requireValidHLTPaths")),
114  hltPathsAreValid_(false),
115  metToken_(consumes<reco::PFMETCollection>(iConfig.getParameter<edm::InputTag>("met"))),
116  jetToken_(mayConsume<reco::PFJetCollection>(iConfig.getParameter<edm::InputTag>("jets"))),
117  eleToken_(mayConsume<reco::GsfElectronCollection>(iConfig.getParameter<edm::InputTag>("electrons"))),
118  photonToken_(mayConsume<reco::PhotonCollection>(iConfig.getParameter<edm::InputTag>("photons"))),
120  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<std::vector<double> >("photonBinning")),
122  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<std::vector<double> >("massBinning")),
124  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("photonPSet"))),
125  ls_binning_(
126  getHistoPSet(iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("lsPSet"))),
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")) {}
unsigned int nelectrons_
const bool requireValidHLTPaths_
StringCutObjectSelector< reco::Photon, true > photonSelection_
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
StringCutObjectSelector< reco::PFJet, true > jetSelection_
MEbinning ls_binning_
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
const std::string folderName_
MEbinning photon_binning_
StringCutObjectSelector< reco::MET, true > metSelection_
static MEbinning getHistoPSet(const edm::ParameterSet &pset)
edm::EDGetTokenT< reco::PhotonCollection > photonToken_
std::vector< double > diphoton_mass_binning_
edm::EDGetTokenT< reco::PFMETCollection > metToken_
unsigned int nphotons_
bool hltPathsAreValid_
StringCutObjectSelector< reco::GsfElectron, true > eleSelection_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::EDGetTokenT< reco::PFJetCollection > jetToken_
unsigned int njets_
edm::EDGetTokenT< reco::GsfElectronCollection > eleToken_
std::vector< double > photon_variable_binning_
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
PhotonMonitor::~PhotonMonitor ( )
throw (
)
override

Definition at line 139 of file PhotonMonitor.cc.

References den_genTriggerEventFlag_, and num_genTriggerEventFlag_.

139  {
141  num_genTriggerEventFlag_.reset();
142  }
144  den_genTriggerEventFlag_.reset();
145  }
146 }
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_

Member Function Documentation

void PhotonMonitor::analyze ( edm::Event const &  iEvent,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 279 of file PhotonMonitor.cc.

References funct::cos(), den_genTriggerEventFlag_, TriggerDQMBase::ObjME::denominator, diphotonMassME_, alignCSCRings::e, HI_PhotonSkim_cff::electrons, eleSelection_, eleToken_, PVValHelper::eta, dqm::impl::MonitorElement::Fill(), edm::Event::getByToken(), hltPathsAreValid_, edm::EventBase::id(), dqmiolumiharvest::j, fwrapper::jets, jetSelection_, jetToken_, eostools::ls(), edm::EventID::luminosityBlock(), metSelection_, metToken_, nelectrons_, njets_, nphotons_, num_genTriggerEventFlag_, TriggerDQMBase::ObjME::numerator, AlCaHLTBitMon_ParallelJobs::p, phi, photonEtaME_, photonEtaPhiME_, photonHoverEME_, photonME_, photonME_variableBinning_, photonPhiME_, photonr9ME_, interactiveExample::photons, photonSelection_, photonToken_, photonVsLS_, DiDispStaMuonMonitor_cfi::pt, requireValidHLTPaths_, mathSSE::sqrt(), subphotonEtaME_, subphotonEtaPhiME_, subphotonHoverEME_, subphotonME_, subphotonPhiME_, and subphotonr9ME_.

279  {
280  // if valid HLT paths are required,
281  // analyze event only if all paths are valid
283  return;
284  }
285 
286  // Filter out events if Trigger Filtering is requested
287  if (den_genTriggerEventFlag_->on() && !den_genTriggerEventFlag_->accept(iEvent, iSetup)) {
288  return;
289  }
290 
292  iEvent.getByToken(metToken_, metHandle);
293  reco::PFMET pfmet = metHandle->front();
294  if (!metSelection_(pfmet))
295  return;
296 
297  //float met = pfmet.pt();
298  // float phi = pfmet.phi();
299 
301  iEvent.getByToken(jetToken_, jetHandle);
302  std::vector<reco::PFJet> jets;
303  jets.clear();
304  if (jetHandle->size() < njets_)
305  return;
306  for (auto const& j : *jetHandle) {
307  if (jetSelection_(j))
308  jets.push_back(j);
309  }
310  if (jets.size() < njets_)
311  return;
312 
314  iEvent.getByToken(eleToken_, eleHandle);
315  std::vector<reco::GsfElectron> electrons;
316  if (eleHandle->size() < nelectrons_)
317  return;
318  for (auto const& e : *eleHandle) {
319  if (eleSelection_(e))
320  electrons.push_back(e);
321  }
322  if (electrons.size() < nelectrons_)
323  return;
324 
326  iEvent.getByToken(photonToken_, photonHandle);
327  std::vector<reco::Photon> photons;
328  photons.clear();
329 
330  if (photonHandle->size() < nphotons_)
331  return;
332  for (auto const& p : *photonHandle) {
333  if (photonSelection_(p))
334  photons.push_back(p);
335  }
336  if (photons.size() < nphotons_)
337  return;
338 
339  // filling histograms (denominator)
340  int ls = iEvent.id().luminosityBlock();
341  if (!(photons.empty()))
342 
343  {
344  photonME_.denominator->Fill(photons[0].pt());
346  photonPhiME_.denominator->Fill(photons[0].phi());
347  photonEtaME_.denominator->Fill(photons[0].eta());
348  photonVsLS_.denominator->Fill(ls, photons[0].pt());
349  photonEtaPhiME_.denominator->Fill(photons[0].eta(), photons[0].phi());
350  photonr9ME_.denominator->Fill(photons[0].r9());
351  photonHoverEME_.denominator->Fill(photons[0].hadTowOverEm());
352  }
353 
354  if (nphotons_ > 1)
355  //filling diphoton histograms
356  {
357  subphotonME_.denominator->Fill(photons[1].pt());
358  subphotonEtaME_.denominator->Fill(photons[1].eta());
359  subphotonPhiME_.denominator->Fill(photons[1].phi());
360  subphotonEtaPhiME_.denominator->Fill(photons[1].eta(), photons[1].phi());
361  subphotonr9ME_.denominator->Fill(photons[1].r9());
362  subphotonHoverEME_.denominator->Fill(photons[1].hadTowOverEm());
364  sqrt(2 * photons[0].pt() * photons[1].pt() *
365  (cosh(photons[0].eta() - photons[1].eta()) - cos(photons[0].phi() - photons[1].phi()))));
366  }
367 
368  // applying selection for numerator
369  if (num_genTriggerEventFlag_->on() && !num_genTriggerEventFlag_->accept(iEvent, iSetup))
370  return;
371 
372  // filling histograms (num_genTriggerEventFlag_)
373  if (!(photons.empty())) {
374  photonME_.numerator->Fill(photons[0].pt());
376  photonPhiME_.numerator->Fill(photons[0].phi());
377  photonEtaME_.numerator->Fill(photons[0].eta());
378  photonVsLS_.numerator->Fill(ls, photons[0].pt());
379  photonEtaPhiME_.numerator->Fill(photons[0].eta(), photons[0].phi());
380  photonr9ME_.numerator->Fill(photons[0].r9());
381  photonHoverEME_.numerator->Fill(photons[0].hadTowOverEm());
382  }
383  if (nphotons_ > 1)
384  //filling diphoton histograms
385  {
386  subphotonME_.numerator->Fill(photons[1].pt());
387  subphotonEtaME_.numerator->Fill(photons[1].eta());
388  subphotonPhiME_.numerator->Fill(photons[1].phi());
389  subphotonEtaPhiME_.numerator->Fill(photons[1].eta(), photons[1].phi());
390  subphotonr9ME_.numerator->Fill(photons[1].r9());
391  subphotonHoverEME_.numerator->Fill(photons[1].hadTowOverEm());
393  sqrt(2 * photons[0].pt() * photons[1].pt() *
394  (cosh(photons[0].eta() - photons[1].eta()) - cos(photons[0].phi() - photons[1].phi()))));
395  }
396 }
unsigned int nelectrons_
const bool requireValidHLTPaths_
StringCutObjectSelector< reco::Photon, true > photonSelection_
ObjME subphotonEtaPhiME_
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
StringCutObjectSelector< reco::PFJet, true > jetSelection_
def ls
Definition: eostools.py:349
ObjME photonEtaPhiME_
void Fill(long long x)
StringCutObjectSelector< reco::MET, true > metSelection_
int iEvent
Definition: GenABIO.cc:224
ObjME subphotonEtaME_
ObjME subphotonr9ME_
ObjME photonME_variableBinning_
edm::EDGetTokenT< reco::PhotonCollection > photonToken_
T sqrt(T t)
Definition: SSEVec.h:19
vector< PseudoJet > jets
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
MonitorElement * denominator
MonitorElement * numerator
edm::EDGetTokenT< reco::PFMETCollection > metToken_
unsigned int nphotons_
bool hltPathsAreValid_
ObjME diphotonMassME_
StringCutObjectSelector< reco::GsfElectron, true > eleSelection_
ObjME subphotonHoverEME_
edm::EDGetTokenT< reco::PFJetCollection > jetToken_
ObjME photonHoverEME_
unsigned int njets_
edm::EDGetTokenT< reco::GsfElectronCollection > eleToken_
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
ObjME subphotonPhiME_
void PhotonMonitor::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 148 of file PhotonMonitor.cc.

References TriggerDQMBase::bookME(), den_genTriggerEventFlag_, diphoton_mass_binning_, diphotonMassME_, eta_binning_, folderName_, hltPathsAreValid_, hoe_binning_, ls_binning_, TriggerDQMBase::MEbinning::nbins, nphotons_, num_genTriggerEventFlag_, phi_binning_1, photon_binning_, photon_variable_binning_, photonEtaME_, photonEtaPhiME_, photonHoverEME_, photonME_, photonME_variableBinning_, photonPhiME_, photonr9ME_, photonVsLS_, r9_binning_, requireValidHLTPaths_, dqm::implementation::NavigatorBase::setCurrentFolder(), TriggerDQMBase::setMETitle(), AlCaHLTBitMon_QueryRunRegistry::string, subphotonEtaME_, subphotonEtaPhiME_, subphotonHoverEME_, subphotonME_, subphotonPhiME_, subphotonr9ME_, TriggerDQMBase::MEbinning::xmax, and TriggerDQMBase::MEbinning::xmin.

148  {
149  // Initialize the GenericTriggerEventFlag
151  num_genTriggerEventFlag_->initRun(iRun, iSetup);
152  }
154  den_genTriggerEventFlag_->initRun(iRun, iSetup);
155  }
156 
157  // check if every HLT path specified in numerator and denominator has a valid match in the HLT Menu
159  den_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->allHLTPathsAreValid() &&
160  den_genTriggerEventFlag_->allHLTPathsAreValid());
161 
162  // if valid HLT paths are required,
163  // create DQM outputs only if all paths are valid
165  return;
166  }
167 
168  std::string histname, histtitle;
169 
170  std::string currentFolder = folderName_;
171  ibooker.setCurrentFolder(currentFolder);
172 
173  histname = "photon_pt";
174  histtitle = "photon PT";
175  bookME(ibooker, photonME_, histname, histtitle, photon_binning_.nbins, photon_binning_.xmin, photon_binning_.xmax);
176  setMETitle(photonME_, "Photon pT [GeV]", "events / [GeV]");
177 
178  histname = "photon_pt_variable";
179  histtitle = "photon PT";
180  bookME(ibooker, photonME_variableBinning_, histname, histtitle, photon_variable_binning_);
181  setMETitle(photonME_variableBinning_, "Photon pT [GeV]", "events / [GeV]");
182 
183  histname = "photonVsLS";
184  histtitle = "photon pt vs LS";
185  bookME(ibooker,
186  photonVsLS_,
187  histname,
188  histtitle,
194  setMETitle(photonVsLS_, "LS", "Photon pT [GeV]");
195 
196  histname = "photon_phi";
197  histtitle = "Photon phi";
198  bookME(ibooker, photonPhiME_, histname, histtitle, phi_binning_1.nbins, phi_binning_1.xmin, phi_binning_1.xmax);
199  setMETitle(photonPhiME_, "Photon #phi", "events / 0.1 rad");
200 
201  histname = "photon_eta";
202  histtitle = "Photon eta";
203  bookME(ibooker, photonEtaME_, histname, histtitle, eta_binning_.nbins, eta_binning_.xmin, eta_binning_.xmax);
204  setMETitle(photonEtaME_, "Photon #eta", "events");
205 
206  histname = "photon_r9";
207  histtitle = "Photon r9";
208  bookME(ibooker, photonr9ME_, histname, histtitle, r9_binning_.nbins, r9_binning_.xmin, r9_binning_.xmax);
209  setMETitle(photonr9ME_, "Photon r9", "events");
210 
211  histname = "photon_hoE";
212  histtitle = "Photon hoverE";
213  bookME(ibooker, photonHoverEME_, histname, histtitle, hoe_binning_.nbins, hoe_binning_.xmin, hoe_binning_.xmax);
214  setMETitle(photonHoverEME_, "Photon hoE", "events");
215 
216  histname = "photon_etaphi";
217  histtitle = "Photon eta-phi";
218  bookME(ibooker,
220  histname,
221  histtitle,
228  setMETitle(photonEtaPhiME_, "#eta", "#phi");
229 
230  // for diphotons
231  if (nphotons_ > 1) {
232  histname = "diphoton_mass";
233  histtitle = "Diphoton mass";
234  bookME(ibooker, diphotonMassME_, histname, histtitle, diphoton_mass_binning_);
235  setMETitle(diphotonMassME_, "Diphoton mass", "events / 0.1");
236 
237  histname = "subphoton_pt";
238  histtitle = "subphoton PT";
239  bookME(
240  ibooker, subphotonME_, histname, histtitle, photon_binning_.nbins, photon_binning_.xmin, photon_binning_.xmax);
241  setMETitle(subphotonME_, "subPhoton pT [GeV]", "events / [GeV]");
242 
243  histname = "subphoton_eta";
244  histtitle = "subPhoton eta";
245  bookME(ibooker, subphotonEtaME_, histname, histtitle, eta_binning_.nbins, eta_binning_.xmin, eta_binning_.xmax);
246  setMETitle(subphotonEtaME_, "subPhoton #eta", "events / 0.1");
247 
248  histname = "subphoton_phi";
249  histtitle = "subPhoton phi";
250  bookME(ibooker, subphotonPhiME_, histname, histtitle, phi_binning_1.nbins, phi_binning_1.xmin, phi_binning_1.xmax);
251  setMETitle(subphotonPhiME_, "subPhoton #phi", "events / 0.1 rad");
252 
253  histname = "subphoton_r9";
254  histtitle = "subPhoton r9";
255  bookME(ibooker, subphotonr9ME_, histname, histtitle, r9_binning_.nbins, r9_binning_.xmin, r9_binning_.xmax);
256  setMETitle(subphotonr9ME_, "subPhoton r9", "events");
257 
258  histname = "subphoton_hoE";
259  histtitle = "subPhoton hoverE";
260  bookME(ibooker, subphotonHoverEME_, histname, histtitle, hoe_binning_.nbins, hoe_binning_.xmin, hoe_binning_.xmax);
261  setMETitle(subphotonHoverEME_, "subPhoton hoE", "events");
262 
263  histname = "subphoton_etaphi";
264  histtitle = "subPhoton eta-phi";
265  bookME(ibooker,
267  histname,
268  histtitle,
275  setMETitle(subphotonEtaPhiME_, "#eta", "#phi");
276  }
277 }
const MEbinning r9_binning_
const bool requireValidHLTPaths_
ObjME subphotonEtaPhiME_
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
MEbinning ls_binning_
const std::string folderName_
void setMETitle(ObjME &me, const std::string &titleX, const std::string &titleY)
MEbinning photon_binning_
ObjME photonEtaPhiME_
ObjME subphotonEtaME_
ObjME subphotonr9ME_
ObjME photonME_variableBinning_
std::vector< double > diphoton_mass_binning_
unsigned int nphotons_
bool hltPathsAreValid_
ObjME diphotonMassME_
const MEbinning hoe_binning_
ObjME subphotonHoverEME_
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)
ObjME photonHoverEME_
std::vector< double > photon_variable_binning_
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
ObjME subphotonPhiME_
const MEbinning eta_binning_
const MEbinning phi_binning_1
void PhotonMonitor::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 398 of file PhotonMonitor.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), submitPVResolutionJobs::desc, TriggerDQMBase::fillHistoLSPSetDescription(), TriggerDQMBase::fillHistoPSetDescription(), GenericTriggerEventFlag::fillPSetDescription(), HLT_FULL_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

398  {
400  desc.add<std::string>("FolderName", "HLT/Photon");
401  desc.add<bool>("requireValidHLTPaths", true);
402 
403  desc.add<edm::InputTag>("met", edm::InputTag("pfMet"));
404  desc.add<edm::InputTag>("jets", edm::InputTag("ak4PFJetsCHS"));
405  desc.add<edm::InputTag>("electrons", edm::InputTag("gedGsfElectrons"));
406  desc.add<edm::InputTag>("photons", edm::InputTag("gedPhotons"));
407  desc.add<std::string>("metSelection", "pt > 0");
408  desc.add<std::string>("jetSelection", "pt > 0");
409  desc.add<std::string>("eleSelection", "pt > 0");
410  desc.add<std::string>(
411  "photonSelection",
412  "pt > 145 && eta<1.4442 && hadTowOverEm<0.0597 && full5x5_sigmaIetaIeta()<0.01031 && chargedHadronIso<1.295");
413  //desc.add<std::string>("photonSelection", "pt > 145");
414  desc.add<unsigned int>("njets", 0);
415  desc.add<unsigned int>("nelectrons", 0);
416  desc.add<unsigned int>("nphotons", 0);
417 
418  edm::ParameterSetDescription genericTriggerEventPSet;
419  GenericTriggerEventFlag::fillPSetDescription(genericTriggerEventPSet);
420  desc.add<edm::ParameterSetDescription>("numGenericTriggerEventPSet", genericTriggerEventPSet);
421  desc.add<edm::ParameterSetDescription>("denGenericTriggerEventPSet", genericTriggerEventPSet);
422 
425  fillHistoPSetDescription(metPSet);
426  histoPSet.add<edm::ParameterSetDescription>("photonPSet", metPSet);
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);
435  histoPSet.add<edm::ParameterSetDescription>("lsPSet", lsPSet);
436 
437  desc.add<edm::ParameterSetDescription>("histoPSet", histoPSet);
438 
439  descriptions.add("photonMonitoring", desc);
440 }
static void fillHistoLSPSetDescription(edm::ParameterSetDescription &pset)
static void fillHistoPSetDescription(edm::ParameterSetDescription &pset)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
static void fillPSetDescription(edm::ParameterSetDescription &desc)

Member Data Documentation

std::unique_ptr<GenericTriggerEventFlag> PhotonMonitor::den_genTriggerEventFlag_
private

Definition at line 100 of file PhotonMonitor.cc.

Referenced by analyze(), bookHistograms(), and ~PhotonMonitor().

std::vector<double> PhotonMonitor::diphoton_mass_binning_
private

Definition at line 59 of file PhotonMonitor.cc.

Referenced by bookHistograms().

ObjME PhotonMonitor::diphotonMassME_
private

Definition at line 71 of file PhotonMonitor.cc.

Referenced by analyze(), and bookHistograms().

StringCutObjectSelector<reco::GsfElectron, true> PhotonMonitor::eleSelection_
private

Definition at line 104 of file PhotonMonitor.cc.

Referenced by analyze().

edm::EDGetTokenT<reco::GsfElectronCollection> PhotonMonitor::eleToken_
private

Definition at line 55 of file PhotonMonitor.cc.

Referenced by analyze().

const MEbinning PhotonMonitor::eta_binning_ {N_ETA, -MAX_ETA, MAX_ETA}
private

Definition at line 88 of file PhotonMonitor.cc.

Referenced by bookHistograms().

const std::string PhotonMonitor::folderName_
private

Definition at line 48 of file PhotonMonitor.cc.

Referenced by bookHistograms().

bool PhotonMonitor::hltPathsAreValid_
private

Definition at line 51 of file PhotonMonitor.cc.

Referenced by analyze(), and bookHistograms().

const MEbinning PhotonMonitor::hoe_binning_ {N_r9, MIN_hoe, MAX_hoe}
private

Definition at line 97 of file PhotonMonitor.cc.

Referenced by bookHistograms().

StringCutObjectSelector<reco::PFJet, true> PhotonMonitor::jetSelection_
private

Definition at line 103 of file PhotonMonitor.cc.

Referenced by analyze().

edm::EDGetTokenT<reco::PFJetCollection> PhotonMonitor::jetToken_
private

Definition at line 54 of file PhotonMonitor.cc.

Referenced by analyze().

MEbinning PhotonMonitor::ls_binning_
private

Definition at line 62 of file PhotonMonitor.cc.

Referenced by bookHistograms().

double PhotonMonitor::MAX_ETA = 1.4442
private

Definition at line 86 of file PhotonMonitor.cc.

double PhotonMonitor::MAX_hoe = 0.02
private

Definition at line 95 of file PhotonMonitor.cc.

double PhotonMonitor::MAX_PHI1 = 3.2
private

Definition at line 82 of file PhotonMonitor.cc.

double PhotonMonitor::MAX_r9 = 1
private

Definition at line 90 of file PhotonMonitor.cc.

StringCutObjectSelector<reco::MET, true> PhotonMonitor::metSelection_
private

Definition at line 102 of file PhotonMonitor.cc.

Referenced by analyze().

edm::EDGetTokenT<reco::PFMETCollection> PhotonMonitor::metToken_
private

Definition at line 53 of file PhotonMonitor.cc.

Referenced by analyze().

double PhotonMonitor::MIN_hoe = 0
private

Definition at line 96 of file PhotonMonitor.cc.

double PhotonMonitor::MIN_r9 = 0
private

Definition at line 91 of file PhotonMonitor.cc.

unsigned int PhotonMonitor::N_ETA = 34
private

Definition at line 87 of file PhotonMonitor.cc.

unsigned int PhotonMonitor::N_PHI1 = 64
private

Definition at line 83 of file PhotonMonitor.cc.

unsigned int PhotonMonitor::N_r9 = 50
private

Definition at line 92 of file PhotonMonitor.cc.

unsigned int PhotonMonitor::nelectrons_
private

Definition at line 108 of file PhotonMonitor.cc.

Referenced by analyze().

unsigned int PhotonMonitor::njets_
private

Definition at line 106 of file PhotonMonitor.cc.

Referenced by analyze().

unsigned int PhotonMonitor::nphotons_
private

Definition at line 107 of file PhotonMonitor.cc.

Referenced by analyze(), and bookHistograms().

std::unique_ptr<GenericTriggerEventFlag> PhotonMonitor::num_genTriggerEventFlag_
private

Definition at line 99 of file PhotonMonitor.cc.

Referenced by analyze(), bookHistograms(), and ~PhotonMonitor().

const MEbinning PhotonMonitor::phi_binning_1 {N_PHI1, -MAX_PHI1, MAX_PHI1}
private

Definition at line 84 of file PhotonMonitor.cc.

Referenced by bookHistograms().

MEbinning PhotonMonitor::photon_binning_
private

Definition at line 61 of file PhotonMonitor.cc.

Referenced by bookHistograms().

std::vector<double> PhotonMonitor::photon_variable_binning_
private

Definition at line 58 of file PhotonMonitor.cc.

Referenced by bookHistograms().

ObjME PhotonMonitor::photonEtaME_
private

Definition at line 73 of file PhotonMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME PhotonMonitor::photonEtaPhiME_
private

Definition at line 78 of file PhotonMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME PhotonMonitor::photonHoverEME_
private

Definition at line 80 of file PhotonMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME PhotonMonitor::photonME_
private

Definition at line 74 of file PhotonMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME PhotonMonitor::photonME_variableBinning_
private

Definition at line 76 of file PhotonMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME PhotonMonitor::photonPhiME_
private

Definition at line 75 of file PhotonMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME PhotonMonitor::photonr9ME_
private

Definition at line 79 of file PhotonMonitor.cc.

Referenced by analyze(), and bookHistograms().

StringCutObjectSelector<reco::Photon, true> PhotonMonitor::photonSelection_
private

Definition at line 105 of file PhotonMonitor.cc.

Referenced by analyze().

edm::EDGetTokenT<reco::PhotonCollection> PhotonMonitor::photonToken_
private

Definition at line 56 of file PhotonMonitor.cc.

Referenced by analyze().

ObjME PhotonMonitor::photonVsLS_
private

Definition at line 77 of file PhotonMonitor.cc.

Referenced by analyze(), and bookHistograms().

const MEbinning PhotonMonitor::r9_binning_ {N_r9, MIN_r9, MAX_r9}
private

Definition at line 93 of file PhotonMonitor.cc.

Referenced by bookHistograms().

const bool PhotonMonitor::requireValidHLTPaths_
private

Definition at line 50 of file PhotonMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME PhotonMonitor::subphotonEtaME_
private

Definition at line 64 of file PhotonMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME PhotonMonitor::subphotonEtaPhiME_
private

Definition at line 68 of file PhotonMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME PhotonMonitor::subphotonHoverEME_
private

Definition at line 70 of file PhotonMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME PhotonMonitor::subphotonME_
private

Definition at line 65 of file PhotonMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME PhotonMonitor::subphotonME_variableBinning_
private

Definition at line 67 of file PhotonMonitor.cc.

ObjME PhotonMonitor::subphotonPhiME_
private

Definition at line 66 of file PhotonMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME PhotonMonitor::subphotonr9ME_
private

Definition at line 69 of file PhotonMonitor.cc.

Referenced by analyze(), and bookHistograms().