CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Private Member Functions | Private Attributes
PhotonMonitor Class Reference

#include <PhotonMonitor.h>

Inheritance diagram for PhotonMonitor:
one::DQMEDAnalyzer< T > one::dqmimplementation::DQMBaseClass< T... >

Public Member Functions

 PhotonMonitor (const edm::ParameterSet &)
 
 ~PhotonMonitor () override
 
- Public Member Functions inherited from one::DQMEDAnalyzer< T >
 DQMEDAnalyzer ()=default
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > &&)=delete
 
 ~DQMEDAnalyzer () override=default
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
static void fillHistoLSPSetDescription (edm::ParameterSetDescription &pset)
 
static void fillHistoPSetDescription (edm::ParameterSetDescription &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
 
void bookME (DQMStore::IBooker &, PhotonME &me, const std::string &histname, const std::string &histtitle, unsigned int nbins, double xmin, double xmax)
 
void bookME (DQMStore::IBooker &, PhotonME &me, const std::string &histname, const std::string &histtitle, const std::vector< double > &binningX)
 
void bookME (DQMStore::IBooker &, PhotonME &me, const std::string &histname, const std::string &histtitle, unsigned int nbinsX, double xmin, double xmax, double ymin, double ymax)
 
void bookME (DQMStore::IBooker &, PhotonME &me, const std::string &histname, const std::string &histtitle, unsigned int nbinsX, double xmin, double xmax, unsigned int nbinsY, double ymin, double ymax)
 
void bookME (DQMStore::IBooker &, PhotonME &me, const std::string &histname, const std::string &histtitle, const std::vector< double > &binningX, const std::vector< double > &binningY)
 
void setTitle (PhotonME &me, const std::string &titleX, const std::string &titleY)
 

Static Private Member Functions

static MEbinning getHistoLSPSet (edm::ParameterSet const &pset)
 
static MEbinning getHistoPSet (edm::ParameterSet const &pset)
 

Private Attributes

std::unique_ptr< GenericTriggerEventFlagden_genTriggerEventFlag_
 
std::vector< double > diphoton_mass_binning_
 
PhotonME diphotonMassME_
 
StringCutObjectSelector< reco::GsfElectron, true > eleSelection_
 
edm::EDGetTokenT< reco::GsfElectronCollectioneleToken_
 
const MEbinning eta_binning_
 
std::string folderName_
 
std::string histoSuffix_
 
const MEbinning hoe_binning_
 
StringCutObjectSelector< reco::PFJet, true > jetSelection_
 
edm::EDGetTokenT< reco::PFJetCollectionjetToken_
 
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::PFMETCollectionmetToken_
 
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< GenericTriggerEventFlagnum_genTriggerEventFlag_
 
const MEbinning phi_binning_1
 
MEbinning photon_binning_
 
std::vector< double > photon_variable_binning_
 
PhotonME photonEtaME_
 
PhotonME photonEtaPhiME_
 
PhotonME photonHoverEME_
 
PhotonME photonME_
 
PhotonME photonME_variableBinning_
 
PhotonME photonPhiME_
 
PhotonME photonr9ME_
 
StringCutObjectSelector< reco::Photon, true > photonSelection_
 
edm::EDGetTokenT< reco::PhotonCollectionphotonToken_
 
PhotonME photonVsLS_
 
const MEbinning r9_binning_
 
PhotonME subphotonEtaME_
 
PhotonME subphotonEtaPhiME_
 
PhotonME subphotonHoverEME_
 
PhotonME subphotonME_
 
PhotonME subphotonME_variableBinning_
 
PhotonME subphotonPhiME_
 
PhotonME subphotonr9ME_
 

Detailed Description

Definition at line 55 of file PhotonMonitor.h.

Constructor & Destructor Documentation

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

Definition at line 13 of file PhotonMonitor.cc.

References PhotonME::denominator, diphotonMassME_, PhotonME::numerator, photonEtaME_, photonEtaPhiME_, photonHoverEME_, photonME_, photonME_variableBinning_, photonPhiME_, photonr9ME_, photonVsLS_, subphotonEtaME_, subphotonEtaPhiME_, subphotonHoverEME_, subphotonME_, subphotonME_variableBinning_, subphotonPhiME_, subphotonr9ME_, and ~PhotonMonitor().

13  :
14  folderName_ ( iConfig.getParameter<std::string>("FolderName") )
15  , metToken_ ( consumes<reco::PFMETCollection> (iConfig.getParameter<edm::InputTag>("met") ) )
16  , jetToken_ ( mayConsume<reco::PFJetCollection> (iConfig.getParameter<edm::InputTag>("jets") ) )
17  , eleToken_ ( mayConsume<reco::GsfElectronCollection>(iConfig.getParameter<edm::InputTag>("electrons") ) )
18  , photonToken_ ( mayConsume<reco::PhotonCollection> (iConfig.getParameter<edm::InputTag>("photons") ) )
19  , photon_variable_binning_ ( iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<std::vector<double> >("photonBinning") )
20  , diphoton_mass_binning_ ( iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<std::vector<double> >("massBinning") )
21  , photon_binning_ ( getHistoPSet (iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet> ("photonPSet") ) )
22  , ls_binning_ ( getHistoPSet (iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet> ("lsPSet") ) )
23  , num_genTriggerEventFlag_(new GenericTriggerEventFlag(iConfig.getParameter<edm::ParameterSet>("numGenericTriggerEventPSet"),consumesCollector(), *this))
24  , den_genTriggerEventFlag_(new GenericTriggerEventFlag(iConfig.getParameter<edm::ParameterSet>("denGenericTriggerEventPSet"),consumesCollector(), *this))
25  , metSelection_ ( iConfig.getParameter<std::string>("metSelection") )
26  , jetSelection_ ( iConfig.getParameter<std::string>("jetSelection") )
27  , eleSelection_ ( iConfig.getParameter<std::string>("eleSelection") )
28  , photonSelection_ ( iConfig.getParameter<std::string>("photonSelection") )
29  , njets_ ( iConfig.getParameter<unsigned int>("njets" ) )
30  , nphotons_ ( iConfig.getParameter<unsigned int>("nphotons" ) )
31  , nelectrons_ ( iConfig.getParameter<unsigned int>("nelectrons" ) )
32 {
33 
34  photonME_.numerator = nullptr;
35  photonME_.denominator = nullptr;
38  photonVsLS_.numerator = nullptr;
39  photonVsLS_.denominator = nullptr;
40  photonEtaME_.numerator = nullptr;
41  photonEtaME_.denominator = nullptr;
42  photonPhiME_.numerator = nullptr;
43  photonPhiME_.denominator = nullptr;
44  photonEtaPhiME_.numerator = nullptr;
45  photonEtaPhiME_.denominator = nullptr;
46  photonr9ME_.numerator = nullptr;
47  photonr9ME_.denominator = nullptr;
48  photonHoverEME_.numerator = nullptr;
49  photonHoverEME_.denominator = nullptr;
50 
51  diphotonMassME_.numerator = nullptr;
52  diphotonMassME_.denominator = nullptr;
53 
54  subphotonME_.numerator = nullptr;
55  subphotonME_.denominator = nullptr;
58  subphotonEtaME_.numerator = nullptr;
59  subphotonEtaME_.denominator = nullptr;
60  subphotonPhiME_.numerator = nullptr;
61  subphotonPhiME_.denominator = nullptr;
62  subphotonEtaPhiME_.numerator = nullptr;
64  subphotonr9ME_.numerator = nullptr;
65  subphotonr9ME_.denominator = nullptr;
66  subphotonHoverEME_.numerator = nullptr;
68 
69 }
T getParameter(std::string const &) const
MonitorElement * denominator
Definition: PhotonMonitor.h:49
unsigned int nelectrons_
PhotonME photonEtaPhiME_
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
PhotonME subphotonME_variableBinning_
Definition: PhotonMonitor.h:99
MEbinning ls_binning_
Definition: PhotonMonitor.h:94
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
PhotonME photonVsLS_
StringCutObjectSelector< reco::PFJet, true > jetSelection_
PhotonME subphotonPhiME_
Definition: PhotonMonitor.h:98
PhotonME photonME_variableBinning_
PhotonME photonr9ME_
StringCutObjectSelector< reco::Photon, true > photonSelection_
MEbinning photon_binning_
Definition: PhotonMonitor.h:93
MonitorElement * numerator
Definition: PhotonMonitor.h:48
PhotonME diphotonMassME_
std::string folderName_
Definition: PhotonMonitor.h:79
StringCutObjectSelector< reco::MET, true > metSelection_
StringCutObjectSelector< reco::GsfElectron, true > eleSelection_
edm::EDGetTokenT< reco::PhotonCollection > photonToken_
Definition: PhotonMonitor.h:85
PhotonME photonHoverEME_
PhotonME photonPhiME_
std::vector< double > diphoton_mass_binning_
Definition: PhotonMonitor.h:91
edm::EDGetTokenT< reco::PFMETCollection > metToken_
Definition: PhotonMonitor.h:82
static MEbinning getHistoPSet(edm::ParameterSet const &pset)
PhotonME subphotonHoverEME_
PhotonME subphotonME_
Definition: PhotonMonitor.h:97
PhotonME photonEtaME_
PhotonME subphotonEtaME_
Definition: PhotonMonitor.h:96
unsigned int nphotons_
PhotonME subphotonr9ME_
PhotonME subphotonEtaPhiME_
edm::EDGetTokenT< reco::PFJetCollection > jetToken_
Definition: PhotonMonitor.h:83
unsigned int njets_
PhotonME photonME_
edm::EDGetTokenT< reco::GsfElectronCollection > eleToken_
Definition: PhotonMonitor.h:84
std::vector< double > photon_variable_binning_
Definition: PhotonMonitor.h:90
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
PhotonMonitor::~PhotonMonitor ( )
overridedefault

Referenced by PhotonMonitor().

Member Function Documentation

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

Definition at line 221 of file PhotonMonitor.cc.

References funct::cos(), den_genTriggerEventFlag_, PhotonME::denominator, diphotonMassME_, MillePedeFileConverter_cfg::e, nano_cff::electrons, eleSelection_, eleToken_, PVValHelper::eta, MonitorElement::Fill(), HcalObjRepresent::Fill(), edm::Event::getByToken(), edm::EventBase::id(), fwrapper::jets, jetSelection_, jetToken_, eostools::ls(), edm::EventID::luminosityBlock(), metSelection_, metToken_, nelectrons_, njets_, nphotons_, num_genTriggerEventFlag_, PhotonME::numerator, AlCaHLTBitMon_ParallelJobs::p, phi, photonEtaME_, photonEtaPhiME_, photonHoverEME_, photonME_, photonME_variableBinning_, photonPhiME_, photonr9ME_, muons_cff::photons, photonSelection_, photonToken_, photonVsLS_, EnergyCorrector::pt, electrons_cff::r9, mathSSE::sqrt(), subphotonEtaME_, subphotonEtaPhiME_, subphotonHoverEME_, subphotonME_, subphotonPhiME_, and subphotonr9ME_.

221  {
222 
223  // Filter out events if Trigger Filtering is requested
224  if (den_genTriggerEventFlag_->on() && ! den_genTriggerEventFlag_->accept( iEvent, iSetup) ) return;
225 
227  iEvent.getByToken( metToken_, metHandle );
228  reco::PFMET pfmet = metHandle->front();
229  if ( ! metSelection_( pfmet ) ) return;
230 
231  //float met = pfmet.pt();
232  // float phi = pfmet.phi();
233 
235  iEvent.getByToken( jetToken_, jetHandle );
236  std::vector<reco::PFJet> jets;
237  jets.clear();
238  if ( jetHandle->size() < njets_ ) return;
239  for ( auto const & j : *jetHandle ) {
240  if ( jetSelection_( j ) ) jets.push_back(j);
241  }
242  if ( jets.size() < njets_ ) return;
243 
245  iEvent.getByToken( eleToken_, eleHandle );
246  std::vector<reco::GsfElectron> electrons;
247  if ( eleHandle->size() < nelectrons_ ) return;
248  for ( auto const & e : *eleHandle ) {
249  if ( eleSelection_( e ) ) electrons.push_back(e);
250  }
251  if ( electrons.size() < nelectrons_ ) return;
252 
254  iEvent.getByToken( photonToken_, photonHandle );
255  std::vector<reco::Photon> photons;
256  photons.clear();
257 
258  if ( photonHandle->size() < nphotons_ ) return;
259  for ( auto const & p : *photonHandle ) {
260  if ( photonSelection_( p ) ) photons.push_back(p);
261  }
262  if ( photons.size() < nphotons_ ) return;
263 
264 
265  // filling histograms (denominator)
266  int ls = iEvent.id().luminosityBlock();
267  if(!(photons.empty()))
268 
269  {
270  photonME_.denominator -> Fill(photons[0].pt());
271  photonME_variableBinning_.denominator -> Fill(photons[0].pt());
272  photonPhiME_.denominator->Fill(photons[0].phi());
273  photonEtaME_.denominator->Fill(photons[0].eta());
274  photonVsLS_.denominator -> Fill(ls, photons[0].pt());
275  photonEtaPhiME_.denominator -> Fill(photons[0].eta(), photons[0].phi());
276  photonr9ME_.denominator->Fill(photons[0].r9());
277  photonHoverEME_.denominator->Fill(photons[0].hadTowOverEm());
278  }
279 
280  if(nphotons_>1)
281  //filling diphoton histograms
282  {
283  subphotonME_.denominator -> Fill(photons[1].pt());
284  subphotonEtaME_.denominator -> Fill(photons[1].eta());
285  subphotonPhiME_.denominator -> Fill(photons[1].phi());
286  subphotonEtaPhiME_.denominator -> Fill(photons[1].eta(), photons[1].phi());
287  subphotonr9ME_.denominator->Fill(photons[1].r9());
288  subphotonHoverEME_.denominator->Fill(photons[1].hadTowOverEm());
289  diphotonMassME_.denominator -> Fill(sqrt(2*photons[0].pt()*photons[1].pt()*(cosh(photons[0].eta()-photons[1].eta())-cos(photons[0].phi()-photons[1].phi()))));
290  }
291 
292  // applying selection for numerator
293  if (num_genTriggerEventFlag_->on() && ! num_genTriggerEventFlag_->accept( iEvent, iSetup) ) return;
294 
295  // filling histograms (num_genTriggerEventFlag_)
296  if(!(photons.empty()))
297  {
298  photonME_.numerator -> Fill(photons[0].pt());
299  photonME_variableBinning_.numerator -> Fill(photons[0].pt());
300  photonPhiME_.numerator->Fill(photons[0].phi());
301  photonEtaME_.numerator->Fill(photons[0].eta());
302  photonVsLS_.numerator -> Fill(ls, photons[0].pt());
303  photonEtaPhiME_.numerator -> Fill(photons[0].eta(), photons[0].phi());
304  photonr9ME_.numerator->Fill(photons[0].r9());
305  photonHoverEME_.numerator->Fill(photons[0].hadTowOverEm());
306  }
307  if(nphotons_>1)
308  //filling diphoton histograms
309  {
310  subphotonME_.numerator -> Fill(photons[1].pt());
311  subphotonEtaME_.numerator -> Fill(photons[1].eta());
312  subphotonPhiME_.numerator -> Fill(photons[1].phi());
313  subphotonEtaPhiME_.numerator -> Fill(photons[1].eta(), photons[1].phi());
314  subphotonr9ME_.numerator->Fill(photons[1].r9());
315  subphotonHoverEME_.numerator->Fill(photons[1].hadTowOverEm());
316  diphotonMassME_.numerator -> Fill(sqrt(2*photons[0].pt()*photons[1].pt()*(cosh(photons[0].eta()-photons[1].eta())-cos(photons[0].phi()-photons[1].phi()))));
317  }
318 }
MonitorElement * denominator
Definition: PhotonMonitor.h:49
unsigned int nelectrons_
PhotonME photonEtaPhiME_
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
PhotonME photonVsLS_
StringCutObjectSelector< reco::PFJet, true > jetSelection_
PhotonME subphotonPhiME_
Definition: PhotonMonitor.h:98
PhotonME photonME_variableBinning_
PhotonME photonr9ME_
StringCutObjectSelector< reco::Photon, true > photonSelection_
void Fill(long long x)
MonitorElement * numerator
Definition: PhotonMonitor.h:48
int iEvent
Definition: GenABIO.cc:224
PhotonME diphotonMassME_
StringCutObjectSelector< reco::MET, true > metSelection_
StringCutObjectSelector< reco::GsfElectron, true > eleSelection_
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
edm::EDGetTokenT< reco::PhotonCollection > photonToken_
Definition: PhotonMonitor.h:85
T sqrt(T t)
Definition: SSEVec.h:18
PhotonME photonHoverEME_
vector< PseudoJet > jets
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
PhotonME photonPhiME_
edm::EDGetTokenT< reco::PFMETCollection > metToken_
Definition: PhotonMonitor.h:82
PhotonME subphotonHoverEME_
PhotonME subphotonME_
Definition: PhotonMonitor.h:97
PhotonME photonEtaME_
PhotonME subphotonEtaME_
Definition: PhotonMonitor.h:96
unsigned int nphotons_
def ls(path, rec=False)
Definition: eostools.py:349
PhotonME subphotonr9ME_
PhotonME subphotonEtaPhiME_
edm::EDGetTokenT< reco::PFJetCollection > jetToken_
Definition: PhotonMonitor.h:83
unsigned int njets_
PhotonME photonME_
edm::EDGetTokenT< reco::GsfElectronCollection > eleToken_
Definition: PhotonMonitor.h:84
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
void PhotonMonitor::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprotected

Definition at line 136 of file PhotonMonitor.cc.

References bookME(), den_genTriggerEventFlag_, diphoton_mass_binning_, diphotonMassME_, eta_binning_, folderName_, hoe_binning_, ls_binning_, nphotons_, num_genTriggerEventFlag_, phi_binning_1, photon_binning_, photon_variable_binning_, photonEtaME_, photonEtaPhiME_, photonHoverEME_, photonME_, photonME_variableBinning_, photonPhiME_, photonr9ME_, photonVsLS_, r9_binning_, DQMStore::IBooker::setCurrentFolder(), setTitle(), AlCaHLTBitMon_QueryRunRegistry::string, subphotonEtaME_, subphotonEtaPhiME_, subphotonHoverEME_, subphotonME_, subphotonPhiME_, and subphotonr9ME_.

139 {
140 
141  std::string histname, histtitle;
142 
143  std::string currentFolder = folderName_ ;
144  ibooker.setCurrentFolder(currentFolder);
145 
146  histname = "photon_pt"; histtitle = "photon PT";
147  bookME(ibooker,photonME_,histname,histtitle,photon_binning_.nbins,photon_binning_.xmin, photon_binning_.xmax);
148  setTitle(photonME_,"Photon pT [GeV]","events / [GeV]");
149 
150  histname = "photon_pt_variable"; histtitle = "photon PT";
151  bookME(ibooker,photonME_variableBinning_,histname,histtitle,photon_variable_binning_);
152  setTitle(photonME_variableBinning_,"Photon pT [GeV]","events / [GeV]");
153 
154  histname = "photonVsLS"; histtitle = "photon pt vs LS";
155  bookME(ibooker,photonVsLS_,histname,histtitle,ls_binning_.nbins, ls_binning_.xmin, ls_binning_.xmax,photon_binning_.xmin, photon_binning_.xmax);
156  setTitle(photonVsLS_,"LS","Photon pT [GeV]");
157 
158  histname = "photon_phi"; histtitle = "Photon phi";
159  bookME(ibooker,photonPhiME_,histname,histtitle, phi_binning_1.nbins, phi_binning_1.xmin, phi_binning_1.xmax);
160  setTitle(photonPhiME_,"Photon #phi","events / 0.1 rad");
161 
162 
163  histname = "photon_eta"; histtitle = "Photon eta";
164  bookME(ibooker,photonEtaME_,histname,histtitle, eta_binning_.nbins, eta_binning_.xmin,eta_binning_.xmax);
165  setTitle(photonEtaME_,"Photon #eta","events");
166 
167  histname = "photon_r9"; histtitle = "Photon r9";
168  bookME(ibooker,photonr9ME_,histname,histtitle, r9_binning_.nbins, r9_binning_.xmin, r9_binning_.xmax);
169  setTitle(photonr9ME_,"Photon r9","events");
170 
171 
172  histname = "photon_hoE"; histtitle = "Photon hoverE";
173  bookME(ibooker,photonHoverEME_,histname,histtitle, hoe_binning_.nbins, hoe_binning_.xmin, hoe_binning_.xmax);
174  setTitle(photonHoverEME_,"Photon hoE","events");
175 
176  histname = "photon_etaphi"; histtitle = "Photon eta-phi";
177  bookME(ibooker,photonEtaPhiME_,histname,histtitle, eta_binning_.nbins, eta_binning_.xmin, eta_binning_.xmax,phi_binning_1.nbins, phi_binning_1.xmin, phi_binning_1.xmax);
178  setTitle(photonEtaPhiME_,"#eta","#phi");
179 
180  //for diphotons
181  if(nphotons_>1)
182  {
183  histname = "diphoton_mass"; histtitle = "Diphoton mass";
184  bookME(ibooker,diphotonMassME_,histname,histtitle, diphoton_mass_binning_);
185  setTitle(diphotonMassME_,"Diphoton mass","events / 0.1");
186 
187  histname = "subphoton_pt"; histtitle = "subphoton PT";
188  bookME(ibooker,subphotonME_,histname,histtitle,photon_binning_.nbins,photon_binning_.xmin, photon_binning_.xmax);
189  setTitle(subphotonME_,"subPhoton pT [GeV]","events / [GeV]");
190 
191  histname = "subphoton_eta"; histtitle = "subPhoton eta";
192  bookME(ibooker,subphotonEtaME_,histname,histtitle, eta_binning_.nbins, eta_binning_.xmin,eta_binning_.xmax);
193  setTitle(subphotonEtaME_,"subPhoton #eta","events / 0.1");
194 
195  histname = "subphoton_phi"; histtitle = "subPhoton phi";
196  bookME(ibooker,subphotonPhiME_,histname,histtitle, phi_binning_1.nbins, phi_binning_1.xmin, phi_binning_1.xmax);
197  setTitle(subphotonPhiME_,"subPhoton #phi","events / 0.1 rad");
198 
199  histname = "subphoton_r9"; histtitle = "subPhoton r9";
200  bookME(ibooker,subphotonr9ME_,histname,histtitle, r9_binning_.nbins, r9_binning_.xmin, r9_binning_.xmax);
201  setTitle(subphotonr9ME_,"subPhoton r9","events");
202 
203  histname = "subphoton_hoE"; histtitle = "subPhoton hoverE";
204  bookME(ibooker,subphotonHoverEME_,histname,histtitle, hoe_binning_.nbins, hoe_binning_.xmin, hoe_binning_.xmax);
205  setTitle(subphotonHoverEME_,"subPhoton hoE","events");
206 
207  histname = "subphoton_etaphi"; histtitle = "subPhoton eta-phi";
208  bookME(ibooker,subphotonEtaPhiME_,histname,histtitle, eta_binning_.nbins, eta_binning_.xmin, eta_binning_.xmax,phi_binning_1.nbins, phi_binning_1.xmin, phi_binning_1.xmax);
209  setTitle(subphotonEtaPhiME_,"#eta","#phi");
210  }
211  // Initialize the GenericTriggerEventFlag
212  if ( num_genTriggerEventFlag_ && num_genTriggerEventFlag_->on() ) num_genTriggerEventFlag_->initRun( iRun, iSetup );
213  if ( den_genTriggerEventFlag_ && den_genTriggerEventFlag_->on() ) den_genTriggerEventFlag_->initRun( iRun, iSetup );
214 
215 }
const MEbinning r9_binning_
PhotonME photonEtaPhiME_
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
MEbinning ls_binning_
Definition: PhotonMonitor.h:94
PhotonME photonVsLS_
PhotonME subphotonPhiME_
Definition: PhotonMonitor.h:98
PhotonME photonME_variableBinning_
PhotonME photonr9ME_
MEbinning photon_binning_
Definition: PhotonMonitor.h:93
PhotonME diphotonMassME_
std::string folderName_
Definition: PhotonMonitor.h:79
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:268
PhotonME photonHoverEME_
PhotonME photonPhiME_
std::vector< double > diphoton_mass_binning_
Definition: PhotonMonitor.h:91
void setTitle(PhotonME &me, const std::string &titleX, const std::string &titleY)
PhotonME subphotonHoverEME_
PhotonME subphotonME_
Definition: PhotonMonitor.h:97
PhotonME photonEtaME_
PhotonME subphotonEtaME_
Definition: PhotonMonitor.h:96
unsigned int nphotons_
PhotonME subphotonr9ME_
PhotonME subphotonEtaPhiME_
const MEbinning hoe_binning_
PhotonME photonME_
std::vector< double > photon_variable_binning_
Definition: PhotonMonitor.h:90
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
const MEbinning eta_binning_
const MEbinning phi_binning_1
void bookME(DQMStore::IBooker &, PhotonME &me, const std::string &histname, const std::string &histtitle, unsigned int nbins, double xmin, double xmax)
void PhotonMonitor::bookME ( DQMStore::IBooker ibooker,
PhotonME me,
const std::string &  histname,
const std::string &  histtitle,
unsigned int  nbins,
double  xmin,
double  xmax 
)
protected

Definition at line 99 of file PhotonMonitor.cc.

References DQMStore::IBooker::book1D(), PhotonME::denominator, and PhotonME::numerator.

Referenced by bookHistograms().

100 {
101  me.numerator = ibooker.book1D(histname+"_numerator", histtitle+" (numerator)", nbins, min, max);
102  me.denominator = ibooker.book1D(histname+"_denominator", histtitle+" (denominator)", nbins, min, max);
103 }
MonitorElement * denominator
Definition: PhotonMonitor.h:49
MonitorElement * numerator
Definition: PhotonMonitor.h:48
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
T min(T a, T b)
Definition: MathUtil.h:58
void PhotonMonitor::bookME ( DQMStore::IBooker ibooker,
PhotonME me,
const std::string &  histname,
const std::string &  histtitle,
const std::vector< double > &  binningX 
)
protected

Definition at line 104 of file PhotonMonitor.cc.

References DQMStore::IBooker::book1D(), PhotonME::denominator, pileupCalc::nbins, and PhotonME::numerator.

105 {
106  unsigned int nbins = binning.size()-1;
107  std::vector<float> fbinning(binning.begin(),binning.end());
108  // float* arr = &fbinning[0];
109  float* arr = fbinning.data();
110  me.numerator = ibooker.book1D(histname+"_numerator", histtitle+" (numerator)", nbins, arr);
111  me.denominator = ibooker.book1D(histname+"_denominator", histtitle+" (denominator)", nbins, arr);
112 }
MonitorElement * denominator
Definition: PhotonMonitor.h:49
MonitorElement * numerator
Definition: PhotonMonitor.h:48
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
void PhotonMonitor::bookME ( DQMStore::IBooker ibooker,
PhotonME me,
const std::string &  histname,
const std::string &  histtitle,
unsigned int  nbinsX,
double  xmin,
double  xmax,
double  ymin,
double  ymax 
)
protected

Definition at line 113 of file PhotonMonitor.cc.

References DQMStore::IBooker::bookProfile(), PhotonME::denominator, and PhotonME::numerator.

114 {
115  me.numerator = ibooker.bookProfile(histname+"_numerator", histtitle+" (numerator)", nbinsX, xmin, xmax, ymin, ymax);
116  me.denominator = ibooker.bookProfile(histname+"_denominator", histtitle+" (denominator)", nbinsX, xmin, xmax, ymin, ymax);
117 }
MonitorElement * denominator
Definition: PhotonMonitor.h:49
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:113
MonitorElement * numerator
Definition: PhotonMonitor.h:48
void PhotonMonitor::bookME ( DQMStore::IBooker ibooker,
PhotonME me,
const std::string &  histname,
const std::string &  histtitle,
unsigned int  nbinsX,
double  xmin,
double  xmax,
unsigned int  nbinsY,
double  ymin,
double  ymax 
)
protected

Definition at line 118 of file PhotonMonitor.cc.

References DQMStore::IBooker::book2D(), PhotonME::denominator, and PhotonME::numerator.

119 {
120  me.numerator = ibooker.book2D(histname+"_numerator", histtitle+" (numerator)", nbinsX, xmin, xmax, nbinsY, ymin, ymax);
121  me.denominator = ibooker.book2D(histname+"_denominator", histtitle+" (denominator)", nbinsX, xmin, xmax, nbinsY, ymin, ymax);
122 }
MonitorElement * denominator
Definition: PhotonMonitor.h:49
MonitorElement * numerator
Definition: PhotonMonitor.h:48
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:109
void PhotonMonitor::bookME ( DQMStore::IBooker ibooker,
PhotonME me,
const std::string &  histname,
const std::string &  histtitle,
const std::vector< double > &  binningX,
const std::vector< double > &  binningY 
)
protected

Definition at line 123 of file PhotonMonitor.cc.

References DQMStore::IBooker::book2D(), PhotonME::denominator, and PhotonME::numerator.

124 {
125  unsigned int nbinsX = binningX.size()-1;
126  std::vector<float> fbinningX(binningX.begin(),binningX.end());
127  float* arrX = &fbinningX[0];
128  unsigned int nbinsY = binningY.size()-1;
129  std::vector<float> fbinningY(binningY.begin(),binningY.end());
130  float* arrY = &fbinningY[0];
131 
132  me.numerator = ibooker.book2D(histname+"_numerator", histtitle+" (numerator)", nbinsX, arrX, nbinsY, arrY);
133  me.denominator = ibooker.book2D(histname+"_denominator", histtitle+" (denominator)", nbinsX, arrX, nbinsY, arrY);
134 }
MonitorElement * denominator
Definition: PhotonMonitor.h:49
MonitorElement * numerator
Definition: PhotonMonitor.h:48
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:109
void PhotonMonitor::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 334 of file PhotonMonitor.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), create_public_pileup_plots::bins, DEFINE_FWK_MODULE, fillHistoLSPSetDescription(), fillHistoPSetDescription(), and AlCaHLTBitMon_QueryRunRegistry::string.

335 {
337  desc.add<std::string> ( "FolderName", "HLT/Photon" );
338  desc.add<edm::InputTag>( "met", edm::InputTag("pfMet") );
339  desc.add<edm::InputTag>( "jets", edm::InputTag("ak4PFJetsCHS") );
340  desc.add<edm::InputTag>( "electrons",edm::InputTag("gedGsfElectrons") );
341  desc.add<edm::InputTag>( "photons",edm::InputTag("gedPhotons") );
342  desc.add<std::string>("metSelection", "pt > 0");
343  desc.add<std::string>("jetSelection", "pt > 0");
344  desc.add<std::string>("eleSelection", "pt > 0");
345  desc.add<std::string>("photonSelection", "pt > 145 && eta<1.4442 && hadTowOverEm<0.0597 && full5x5_sigmaIetaIeta()<0.01031 && chargedHadronIso<1.295");
346  //desc.add<std::string>("photonSelection", "pt > 145");
347  desc.add<unsigned int>("njets", 0);
348  desc.add<unsigned int>("nelectrons", 0);
349  desc.add<unsigned int>("nphotons", 0);
350 
351  edm::ParameterSetDescription genericTriggerEventPSet;
352  genericTriggerEventPSet.add<bool>("andOr");
353  genericTriggerEventPSet.add<edm::InputTag>("dcsInputTag", edm::InputTag("scalersRawToDigi") );
354  genericTriggerEventPSet.add<std::vector<int> >("dcsPartitions",{});
355  genericTriggerEventPSet.add<bool>("andOrDcs", false);
356  genericTriggerEventPSet.add<bool>("errorReplyDcs", true);
357  genericTriggerEventPSet.add<std::string>("dbLabel","");
358  genericTriggerEventPSet.add<bool>("andOrHlt", true);
359  genericTriggerEventPSet.add<edm::InputTag>("hltInputTag", edm::InputTag("TriggerResults::HLT") );
360  genericTriggerEventPSet.add<std::vector<std::string> >("hltPaths",{});
361  genericTriggerEventPSet.add<std::string>("hltDBKey","");
362  genericTriggerEventPSet.add<bool>("errorReplyHlt",false);
363  genericTriggerEventPSet.add<unsigned int>("verbosityLevel",1);
364 
365  desc.add<edm::ParameterSetDescription>("numGenericTriggerEventPSet", genericTriggerEventPSet);
366  desc.add<edm::ParameterSetDescription>("denGenericTriggerEventPSet", genericTriggerEventPSet);
367 
370  fillHistoPSetDescription(metPSet);
371  histoPSet.add<edm::ParameterSetDescription>("photonPSet", metPSet);
372  std::vector<double> bins = {0.,20.,40.,60.,80.,90.,100.,110.,120.,130.,140.,150.,160.,170.,180.,190.,200.,220.,240.,260.,280.,300.,350.,400.,450.,1000.};
373  histoPSet.add<std::vector<double> >("photonBinning", bins);
374  std::vector<double> massbins = {90.,91.,92.,93.,94.,95.,96.,97.,98.,99.,100.,101.,102.,103.,104.,105.,106.,107.,108.,109.,110.,115.,120.,130.,150.,200.};
375  histoPSet.add<std::vector<double> >("massBinning", massbins);
378  histoPSet.add<edm::ParameterSetDescription>("lsPSet", lsPSet);
379 
380  desc.add<edm::ParameterSetDescription>("histoPSet",histoPSet);
381 
382  descriptions.add("photonMonitoring", desc);
383 }
static void fillHistoLSPSetDescription(edm::ParameterSetDescription &pset)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
static void fillHistoPSetDescription(edm::ParameterSetDescription &pset)
void PhotonMonitor::fillHistoLSPSetDescription ( edm::ParameterSetDescription pset)
static

Definition at line 327 of file PhotonMonitor.cc.

References edm::ParameterSetDescription::add().

Referenced by fillDescriptions().

328 {
329  pset.add<unsigned int> ( "nbins", 2500 );
330  pset.add<double> ( "xmin", 0.);
331  pset.add<double> ( "xmax", 2500.);
332 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void PhotonMonitor::fillHistoPSetDescription ( edm::ParameterSetDescription pset)
static

Definition at line 320 of file PhotonMonitor.cc.

References edm::ParameterSetDescription::add().

Referenced by fillDescriptions().

321 {
322  pset.add<unsigned int> ( "nbins");
323  pset.add<double>( "xmin" );
324  pset.add<double>( "xmax" );
325 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
MEbinning PhotonMonitor::getHistoLSPSet ( edm::ParameterSet const &  pset)
staticprivate

Definition at line 81 of file PhotonMonitor.cc.

References edm::ParameterSet::getParameter().

82 {
83  return MEbinning{
84  pset.getParameter<unsigned int>("nbins"),
85  0.,
86  double(pset.getParameter<unsigned int>("nbins"))
87  };
88 }
MEbinning PhotonMonitor::getHistoPSet ( edm::ParameterSet const &  pset)
staticprivate

Definition at line 72 of file PhotonMonitor.cc.

References edm::ParameterSet::getParameter().

73 {
74  return MEbinning{
75  pset.getParameter<unsigned int>("nbins"),
76  pset.getParameter<double>("xmin"),
77  pset.getParameter<double>("xmax"),
78  };
79 }
void PhotonMonitor::setTitle ( PhotonME me,
const std::string &  titleX,
const std::string &  titleY 
)
protected

Definition at line 90 of file PhotonMonitor.cc.

References PhotonME::denominator, PhotonME::numerator, and MonitorElement::setAxisTitle().

Referenced by bookHistograms(), Vispa.Gui.PortWidget.PortWidget::setName(), and Vispa.Views.LineDecayView.LineDecayContainer::setPxlObject().

91 {
92  me.numerator->setAxisTitle(titleX,1);
93  me.numerator->setAxisTitle(titleY,2);
94  me.denominator->setAxisTitle(titleX,1);
95  me.denominator->setAxisTitle(titleY,2);
96 
97 }
MonitorElement * denominator
Definition: PhotonMonitor.h:49
MonitorElement * numerator
Definition: PhotonMonitor.h:48
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)

Member Data Documentation

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

Definition at line 152 of file PhotonMonitor.h.

Referenced by analyze(), and bookHistograms().

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

Definition at line 91 of file PhotonMonitor.h.

Referenced by bookHistograms().

PhotonME PhotonMonitor::diphotonMassME_
private

Definition at line 103 of file PhotonMonitor.h.

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

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

Definition at line 156 of file PhotonMonitor.h.

Referenced by analyze().

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

Definition at line 84 of file PhotonMonitor.h.

Referenced by analyze().

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

Definition at line 123 of file PhotonMonitor.h.

Referenced by bookHistograms().

std::string PhotonMonitor::folderName_
private

Definition at line 79 of file PhotonMonitor.h.

Referenced by bookHistograms().

std::string PhotonMonitor::histoSuffix_
private

Definition at line 80 of file PhotonMonitor.h.

const MEbinning PhotonMonitor::hoe_binning_
private
Initial value:

Definition at line 140 of file PhotonMonitor.h.

Referenced by bookHistograms().

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

Definition at line 155 of file PhotonMonitor.h.

Referenced by analyze().

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

Definition at line 83 of file PhotonMonitor.h.

Referenced by analyze().

MEbinning PhotonMonitor::ls_binning_
private

Definition at line 94 of file PhotonMonitor.h.

Referenced by bookHistograms().

double PhotonMonitor::MAX_ETA = 1.4442
private

Definition at line 121 of file PhotonMonitor.h.

double PhotonMonitor::MAX_hoe = 0.02
private

Definition at line 138 of file PhotonMonitor.h.

double PhotonMonitor::MAX_PHI1 = 3.2
private

Definition at line 114 of file PhotonMonitor.h.

double PhotonMonitor::MAX_r9 = 1
private

Definition at line 129 of file PhotonMonitor.h.

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

Definition at line 154 of file PhotonMonitor.h.

Referenced by analyze().

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

Definition at line 82 of file PhotonMonitor.h.

Referenced by analyze().

double PhotonMonitor::MIN_hoe = 0
private

Definition at line 139 of file PhotonMonitor.h.

double PhotonMonitor::MIN_r9 = 0
private

Definition at line 130 of file PhotonMonitor.h.

unsigned int PhotonMonitor::N_ETA = 34
private

Definition at line 122 of file PhotonMonitor.h.

unsigned int PhotonMonitor::N_PHI1 = 64
private

Definition at line 115 of file PhotonMonitor.h.

unsigned int PhotonMonitor::N_r9 = 50
private

Definition at line 131 of file PhotonMonitor.h.

unsigned int PhotonMonitor::nelectrons_
private

Definition at line 160 of file PhotonMonitor.h.

Referenced by analyze().

unsigned int PhotonMonitor::njets_
private

Definition at line 158 of file PhotonMonitor.h.

Referenced by analyze().

unsigned int PhotonMonitor::nphotons_
private

Definition at line 159 of file PhotonMonitor.h.

Referenced by analyze(), and bookHistograms().

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

Definition at line 151 of file PhotonMonitor.h.

Referenced by analyze(), and bookHistograms().

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

Definition at line 116 of file PhotonMonitor.h.

Referenced by bookHistograms().

MEbinning PhotonMonitor::photon_binning_
private

Definition at line 93 of file PhotonMonitor.h.

Referenced by bookHistograms().

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

Definition at line 90 of file PhotonMonitor.h.

Referenced by bookHistograms().

PhotonME PhotonMonitor::photonEtaME_
private

Definition at line 105 of file PhotonMonitor.h.

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

PhotonME PhotonMonitor::photonEtaPhiME_
private

Definition at line 110 of file PhotonMonitor.h.

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

PhotonME PhotonMonitor::photonHoverEME_
private

Definition at line 112 of file PhotonMonitor.h.

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

PhotonME PhotonMonitor::photonME_
private

Definition at line 106 of file PhotonMonitor.h.

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

PhotonME PhotonMonitor::photonME_variableBinning_
private

Definition at line 108 of file PhotonMonitor.h.

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

PhotonME PhotonMonitor::photonPhiME_
private

Definition at line 107 of file PhotonMonitor.h.

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

PhotonME PhotonMonitor::photonr9ME_
private

Definition at line 111 of file PhotonMonitor.h.

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

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

Definition at line 157 of file PhotonMonitor.h.

Referenced by analyze().

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

Definition at line 85 of file PhotonMonitor.h.

Referenced by analyze().

PhotonME PhotonMonitor::photonVsLS_
private

Definition at line 109 of file PhotonMonitor.h.

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

const MEbinning PhotonMonitor::r9_binning_
private
Initial value:

Definition at line 132 of file PhotonMonitor.h.

Referenced by bookHistograms().

PhotonME PhotonMonitor::subphotonEtaME_
private

Definition at line 96 of file PhotonMonitor.h.

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

PhotonME PhotonMonitor::subphotonEtaPhiME_
private

Definition at line 100 of file PhotonMonitor.h.

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

PhotonME PhotonMonitor::subphotonHoverEME_
private

Definition at line 102 of file PhotonMonitor.h.

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

PhotonME PhotonMonitor::subphotonME_
private

Definition at line 97 of file PhotonMonitor.h.

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

PhotonME PhotonMonitor::subphotonME_variableBinning_
private

Definition at line 99 of file PhotonMonitor.h.

Referenced by PhotonMonitor().

PhotonME PhotonMonitor::subphotonPhiME_
private

Definition at line 98 of file PhotonMonitor.h.

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

PhotonME PhotonMonitor::subphotonr9ME_
private

Definition at line 101 of file PhotonMonitor.h.

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