CMS 3D CMS Logo

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

#include <MuonMonitor.h>

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

Public Member Functions

 MuonMonitor (const edm::ParameterSet &)
 
 ~MuonMonitor () 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 &, MuonME &me, const std::string &histname, const std::string &histtitle, int nbins, double xmin, double xmax)
 
void bookME (DQMStore::IBooker &, MuonME &me, const std::string &histname, const std::string &histtitle, const std::vector< double > &binningX)
 
void bookME (DQMStore::IBooker &, MuonME &me, const std::string &histname, const std::string &histtitle, int nbinsX, double xmin, double xmax, double ymin, double ymax)
 
void bookME (DQMStore::IBooker &, MuonME &me, const std::string &histname, const std::string &histtitle, int nbinsX, double xmin, double xmax, int nbinsY, double ymin, double ymax)
 
void bookME (DQMStore::IBooker &, MuonME &me, const std::string &histname, const std::string &histtitle, const std::vector< double > &binningX, const std::vector< double > &binningY)
 
void setTitle (MuonME &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_
 
const MEbinning dxy_binning_
 
MuonME eleEta_muEta_
 
std::vector< double > eleEta_variable_binning_2D_
 
MuonME eleEtaME_
 
MuonME eleME_variableBinning_
 
MuonME elePt_muPt_
 
std::vector< double > elePt_variable_binning_2D_
 
StringCutObjectSelector< reco::GsfElectron, true > eleSelection_
 
edm::EDGetTokenT< edm::View< reco::GsfElectron > > eleToken_
 
const MEbinning eta_binning_
 
std::string folderName_
 
std::string histoSuffix_
 
MEbinning ls_binning_
 
StringCutObjectSelector< reco::MET, true > metSelection_
 
edm::EDGetTokenT< reco::PFMETCollectionmetToken_
 
std::vector< double > muEta_variable_binning_2D_
 
MEbinning muon_binning_
 
std::vector< double > muon_variable_binning_
 
MuonME muondxy_
 
MuonME muondz_
 
std::vector< double > muoneta_variable_binning_
 
MuonME muonEtaME_
 
MuonME muonEtaME_variableBinning_
 
MuonME muonEtaPhiME_
 
MuonME muonME_
 
MuonME muonME_variableBinning_
 
MuonME muonPhiME_
 
StringCutObjectSelector< reco::Muon, true > muonSelection_
 
edm::EDGetTokenT< reco::MuonCollectionmuonToken_
 
MuonME muonVsLS_
 
std::vector< double > muPt_variable_binning_2D_
 
unsigned int nelectrons_
 
unsigned int njets_
 
unsigned int nmuons_
 
std::unique_ptr< GenericTriggerEventFlagnum_genTriggerEventFlag_
 
const MEbinning phi_binning_
 
edm::EDGetTokenT< reco::VertexCollectionvtxToken_
 

Static Private Attributes

static double MAX_dxy = 2.5
 
static double MAX_ETA = 2.4
 
static double MAX_PHI = 3.2
 
static int N_dxy = 50
 
static int N_ETA = 68
 
static int N_PHI = 64
 

Detailed Description

Definition at line 58 of file MuonMonitor.h.

Constructor & Destructor Documentation

MuonMonitor::MuonMonitor ( const edm::ParameterSet iConfig)

Definition at line 12 of file MuonMonitor.cc.

References MuonME::denominator, eleEta_muEta_, eleEtaME_, eleME_variableBinning_, elePt_muPt_, muondxy_, muondz_, muonEtaME_, muonEtaME_variableBinning_, muonEtaPhiME_, muonME_, muonME_variableBinning_, muonPhiME_, muonVsLS_, MuonME::numerator, and ~MuonMonitor().

12  :
13  folderName_ ( iConfig.getParameter<std::string>("FolderName") )
14  , metToken_ ( consumes<reco::PFMETCollection> (iConfig.getParameter<edm::InputTag>("met") ) )
15  , muonToken_ ( mayConsume<reco::MuonCollection> (iConfig.getParameter<edm::InputTag>("muons") ) )
16  , vtxToken_ ( mayConsume<reco::VertexCollection> (iConfig.getParameter<edm::InputTag>("vertices") ) )
17  , eleToken_ ( mayConsume<edm::View<reco::GsfElectron> > (iConfig.getParameter<edm::InputTag>("electrons") ) )
18  , muon_variable_binning_ ( iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<std::vector<double> >("muonBinning") )
19  , muoneta_variable_binning_ ( iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<std::vector<double> >("muonetaBinning") )
20  , muon_binning_ ( getHistoPSet (iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet> ("muonPSet") ) )
21  , ls_binning_ ( getHistoPSet (iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet> ("lsPSet") ) )
22  , muPt_variable_binning_2D_ ( iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<std::vector<double> >("muPtBinning2D") )
23  , elePt_variable_binning_2D_ ( iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<std::vector<double> >("elePtBinning2D") )
24  , muEta_variable_binning_2D_ ( iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<std::vector<double> >("muEtaBinning2D") )
25  , eleEta_variable_binning_2D_ ( iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<std::vector<double> >("eleEtaBinning2D") )
26  , num_genTriggerEventFlag_(new GenericTriggerEventFlag(iConfig.getParameter<edm::ParameterSet>("numGenericTriggerEventPSet"), consumesCollector(), *this))
27  , den_genTriggerEventFlag_(new GenericTriggerEventFlag(iConfig.getParameter<edm::ParameterSet>("denGenericTriggerEventPSet"), consumesCollector(), *this))
28  , metSelection_ ( iConfig.getParameter<std::string>("metSelection") )
29  , muonSelection_ ( iConfig.getParameter<std::string>("muonSelection") )
30  , eleSelection_ ( iConfig.getParameter<std::string>("eleSelection") )
31  , nmuons_ ( iConfig.getParameter<unsigned int>("nmuons" ) )
32  , nelectrons_ ( iConfig.getParameter<unsigned int>("nelectrons" ) )
33 {
34 
35  muonME_.numerator = nullptr;
36  muonME_.denominator = nullptr;
39  muonVsLS_.numerator = nullptr;
40  muonVsLS_.denominator = nullptr;
41  muonEtaME_.numerator = nullptr;
42  muonEtaME_.denominator = nullptr;
45  muonPhiME_.numerator = nullptr;
46  muonPhiME_.denominator = nullptr;
47  muonEtaPhiME_.numerator = nullptr;
48  muonEtaPhiME_.denominator = nullptr;
49  muondxy_.denominator = nullptr;
50  muondxy_.numerator = nullptr;
51  muondz_.denominator = nullptr;
52  muondz_.numerator = nullptr;
55  eleEtaME_.numerator = nullptr;
56  eleEtaME_.denominator = nullptr;
57  elePt_muPt_.numerator = nullptr;
58  elePt_muPt_.denominator = nullptr;
59  eleEta_muEta_.numerator = nullptr;
60  eleEta_muEta_.denominator = nullptr;
61 
62 }
std::vector< double > muPt_variable_binning_2D_
Definition: MuonMonitor.h:113
T getParameter(std::string const &) const
edm::EDGetTokenT< reco::PFMETCollection > metToken_
Definition: MuonMonitor.h:86
MuonME elePt_muPt_
Definition: MuonMonitor.h:130
StringCutObjectSelector< reco::MET, true > metSelection_
Definition: MuonMonitor.h:135
MuonME muonEtaPhiME_
Definition: MuonMonitor.h:123
unsigned int nelectrons_
Definition: MuonMonitor.h:140
MuonME muonEtaME_variableBinning_
Definition: MuonMonitor.h:126
MuonME muonPhiME_
Definition: MuonMonitor.h:120
MuonME muonME_
Definition: MuonMonitor.h:118
std::vector< double > muoneta_variable_binning_
Definition: MuonMonitor.h:110
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: MuonMonitor.h:132
edm::EDGetTokenT< reco::VertexCollection > vtxToken_
Definition: MuonMonitor.h:88
MonitorElement * denominator
Definition: MuonMonitor.h:52
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
MuonME muondz_
Definition: MuonMonitor.h:125
std::vector< double > muEta_variable_binning_2D_
Definition: MuonMonitor.h:115
MEbinning ls_binning_
Definition: MuonMonitor.h:112
StringCutObjectSelector< reco::GsfElectron, true > eleSelection_
Definition: MuonMonitor.h:137
MuonME muonVsLS_
Definition: MuonMonitor.h:122
MuonME eleEta_muEta_
Definition: MuonMonitor.h:129
MEbinning muon_binning_
Definition: MuonMonitor.h:111
edm::EDGetTokenT< edm::View< reco::GsfElectron > > eleToken_
Definition: MuonMonitor.h:89
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: MuonMonitor.h:133
MuonME muondxy_
Definition: MuonMonitor.h:124
static MEbinning getHistoPSet(edm::ParameterSet const &pset)
Definition: MuonMonitor.cc:66
edm::EDGetTokenT< reco::MuonCollection > muonToken_
Definition: MuonMonitor.h:87
std::vector< double > elePt_variable_binning_2D_
Definition: MuonMonitor.h:114
std::vector< double > muon_variable_binning_
Definition: MuonMonitor.h:109
unsigned int nmuons_
Definition: MuonMonitor.h:139
MuonME muonME_variableBinning_
Definition: MuonMonitor.h:121
MuonME muonEtaME_
Definition: MuonMonitor.h:119
MuonME eleME_variableBinning_
Definition: MuonMonitor.h:127
StringCutObjectSelector< reco::Muon, true > muonSelection_
Definition: MuonMonitor.h:136
std::string folderName_
Definition: MuonMonitor.h:83
MonitorElement * numerator
Definition: MuonMonitor.h:51
std::vector< double > eleEta_variable_binning_2D_
Definition: MuonMonitor.h:116
MuonME eleEtaME_
Definition: MuonMonitor.h:128
MuonMonitor::~MuonMonitor ( )
overridedefault

Referenced by MuonMonitor().

Member Function Documentation

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

Definition at line 209 of file MuonMonitor.cc.

References den_genTriggerEventFlag_, MuonME::denominator, PVValHelper::dxy, PVValHelper::dz, MillePedeFileConverter_cfg::e, nano_cff::electrons, eleEta_muEta_, eleEtaME_, eleME_variableBinning_, elePt_muPt_, eleSelection_, eleToken_, PVValHelper::eta, MonitorElement::Fill(), HcalObjRepresent::Fill(), edm::Event::getByToken(), edm::EventBase::id(), eostools::ls(), edm::EventID::luminosityBlock(), metSelection_, metToken_, muondxy_, muondz_, muonEtaME_, muonEtaPhiME_, muonME_, muonME_variableBinning_, muonPhiME_, extraflags_cff::muons, muonSelection_, muonToken_, muonVsLS_, nelectrons_, nmuons_, num_genTriggerEventFlag_, MuonME::numerator, AlCaHLTBitMon_ParallelJobs::p, phi, EnergyCorrector::pt, MetAnalyzer::pv(), findQualityFiles::v, and vtxToken_.

209  {
210 
211  // Filter out events if Trigger Filtering is requested
212  if (den_genTriggerEventFlag_->on() && ! den_genTriggerEventFlag_->accept( iEvent, iSetup) ) return;
213 
215  iEvent.getByToken( metToken_, metHandle );
216  reco::PFMET pfmet = metHandle->front();
217  if ( ! metSelection_( pfmet ) ) return;
218 
220  iEvent.getByToken(vtxToken_, vtxHandle);
221 
222  math::XYZPoint pv(0, 0, 0);
223  for (reco::Vertex const & v: *vtxHandle) {
224  if (not v.isFake()) {
225  pv.SetXYZ(v.x(), v.y(), v.z());
226  break;
227  }
228  }
229 
231  iEvent.getByToken( muonToken_, muonHandle );
232  std::vector<reco::Muon> muons;
233  if ( muonHandle->size() < nmuons_ ) return;
234  for ( auto const & p : *muonHandle ) {
235  if ( muonSelection_( p ) ) muons.push_back(p);
236  }
237  if ( muons.size() < nmuons_ ) return;
238 
240  iEvent.getByToken( eleToken_, eleHandle );
241  std::vector<reco::GsfElectron> electrons;
242  if ( eleHandle->size() < nelectrons_ ) return;
243  for ( auto const & e : *eleHandle ) {
244  if ( eleSelection_( e )) electrons.push_back(e);
245  }
246  if ( electrons.size() < nelectrons_ ) return;
247 
248  // filling histograms (denominator)
249  int ls = iEvent.id().luminosityBlock();
250  if(!muons.empty())
251 
252  {
253  muonME_.denominator -> Fill(muons[0].pt());
255  muonPhiME_.denominator->Fill(muons[0].phi());
256  muonEtaME_.denominator->Fill(muons[0].eta());
257  muonVsLS_.denominator -> Fill(ls, muons[0].pt());
258  muonEtaPhiME_.denominator -> Fill(muons[0].eta(), muons[0].phi());
259  muondxy_.denominator -> Fill(muons[0].muonBestTrack()->dxy(pv));
260  muondz_.denominator -> Fill(muons[0].muonBestTrack()->dz(pv));
261  if(!electrons.empty())
262  {
263  eleME_variableBinning_.denominator -> Fill(electrons[0].pt());
264  eleEtaME_.denominator->Fill(electrons[0].eta());
265  eleEta_muEta_.denominator->Fill(electrons[0].eta(), muons[0].eta());
266  elePt_muPt_.denominator->Fill(electrons[0].pt(), muons[0].pt());
267  }
268 
269  }
270 
271  // applying selection for numerator
272  if (num_genTriggerEventFlag_->on() && ! num_genTriggerEventFlag_->accept( iEvent, iSetup) ) return;
273 
274  // filling histograms (num_genTriggerEventFlag_)
275  if(!muons.empty())
276  {
277  muonME_.numerator -> Fill(muons[0].pt());
278  muonME_variableBinning_.numerator -> Fill(muons[0].pt());
279  muonPhiME_.numerator->Fill(muons[0].phi());
280  muonEtaME_.numerator->Fill(muons[0].eta());
281  muonVsLS_.numerator -> Fill(ls, muons[0].pt());
282  muonEtaPhiME_.numerator -> Fill(muons[0].eta(), muons[0].phi());
283  muondxy_.numerator -> Fill(muons[0].muonBestTrack()->dxy(pv));
284  muondz_.numerator -> Fill(muons[0].muonBestTrack()->dz(pv));
285  if(!electrons.empty())
286  {
287  eleME_variableBinning_.numerator -> Fill(electrons[0].pt());
288  eleEtaME_.numerator->Fill(electrons[0].eta());
289  eleEta_muEta_.numerator->Fill(electrons[0].eta(), muons[0].eta());
290  elePt_muPt_.numerator->Fill(electrons[0].pt(), muons[0].pt());
291  }
292 
293  }
294 
295 }
edm::EDGetTokenT< reco::PFMETCollection > metToken_
Definition: MuonMonitor.h:86
MuonME elePt_muPt_
Definition: MuonMonitor.h:130
StringCutObjectSelector< reco::MET, true > metSelection_
Definition: MuonMonitor.h:135
MuonME muonEtaPhiME_
Definition: MuonMonitor.h:123
unsigned int nelectrons_
Definition: MuonMonitor.h:140
MuonME muonPhiME_
Definition: MuonMonitor.h:120
MuonME muonME_
Definition: MuonMonitor.h:118
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: MuonMonitor.h:132
edm::EDGetTokenT< reco::VertexCollection > vtxToken_
Definition: MuonMonitor.h:88
MonitorElement * denominator
Definition: MuonMonitor.h:52
MuonME muondz_
Definition: MuonMonitor.h:125
void Fill(long long x)
StringCutObjectSelector< reco::GsfElectron, true > eleSelection_
Definition: MuonMonitor.h:137
MuonME muonVsLS_
Definition: MuonMonitor.h:122
MuonME eleEta_muEta_
Definition: MuonMonitor.h:129
edm::EDGetTokenT< edm::View< reco::GsfElectron > > eleToken_
Definition: MuonMonitor.h:89
int iEvent
Definition: GenABIO.cc:224
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: MuonMonitor.h:133
MuonME muondxy_
Definition: MuonMonitor.h:124
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
def pv(vc)
Definition: MetAnalyzer.py:7
edm::EDGetTokenT< reco::MuonCollection > muonToken_
Definition: MuonMonitor.h:87
def ls(path, rec=False)
Definition: eostools.py:349
unsigned int nmuons_
Definition: MuonMonitor.h:139
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
MuonME muonME_variableBinning_
Definition: MuonMonitor.h:121
MuonME muonEtaME_
Definition: MuonMonitor.h:119
MuonME eleME_variableBinning_
Definition: MuonMonitor.h:127
StringCutObjectSelector< reco::Muon, true > muonSelection_
Definition: MuonMonitor.h:136
MonitorElement * numerator
Definition: MuonMonitor.h:51
MuonME eleEtaME_
Definition: MuonMonitor.h:128
void MuonMonitor::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprotected

Definition at line 132 of file MuonMonitor.cc.

References bookME(), den_genTriggerEventFlag_, dxy_binning_, eleEta_muEta_, eleEta_variable_binning_2D_, eleEtaME_, eleME_variableBinning_, elePt_muPt_, elePt_variable_binning_2D_, eta_binning_, folderName_, ls_binning_, muEta_variable_binning_2D_, muon_binning_, muon_variable_binning_, muondxy_, muondz_, muoneta_variable_binning_, muonEtaME_, muonEtaME_variableBinning_, muonEtaPhiME_, muonME_, muonME_variableBinning_, muonPhiME_, muonVsLS_, muPt_variable_binning_2D_, num_genTriggerEventFlag_, phi_binning_, DQMStore::IBooker::setCurrentFolder(), setTitle(), and AlCaHLTBitMon_QueryRunRegistry::string.

135 {
136  std::string histname, histtitle;
137 
138  ibooker.setCurrentFolder(folderName_);
139 
140  histname = "muon_pt"; histtitle = "muon PT";
141  bookME(ibooker, muonME_, histname, histtitle, muon_binning_.nbins, muon_binning_.xmin, muon_binning_.xmax);
142  setTitle(muonME_,"Muon pT [GeV]","events / [GeV]");
143 
144  histname = "muon_pt_variable"; histtitle = "muon PT";
145  bookME(ibooker, muonME_variableBinning_, histname, histtitle, muon_variable_binning_);
146  setTitle(muonME_variableBinning_,"Muon pT [GeV]","events / [GeV]");
147 
148  histname = "muonVsLS"; histtitle = "muon pt vs LS";
149  bookME(ibooker, muonVsLS_, histname, histtitle, ls_binning_.nbins, ls_binning_.xmin, ls_binning_.xmax, muon_binning_.xmin, muon_binning_.xmax);
150  setTitle(muonVsLS_,"LS","Muon pT [GeV]");
151 
152  histname = "muon_phi"; histtitle = "Muon phi";
153  bookME(ibooker, muonPhiME_, histname, histtitle, phi_binning_.nbins, phi_binning_.xmin, phi_binning_.xmax);
154  setTitle(muonPhiME_,"Muon #phi","events / 0.1 rad");
155 
156 
157  histname = "muon_eta"; histtitle = "Muon eta";
158  bookME(ibooker, muonEtaME_, histname, histtitle, eta_binning_.nbins, eta_binning_.xmin, eta_binning_.xmax);
159  setTitle(muonEtaME_,"Muon #eta","events");
160 
161 
162  histname = "muon_eta_variablebinning"; histtitle = "Muon eta";
163  bookME(ibooker, muonEtaME_variableBinning_, histname, histtitle, muoneta_variable_binning_);
164  setTitle(muonEtaME_variableBinning_,"Muon #eta","events");
165 
166  histname = "muon_dxy"; histtitle = "Muon dxy";
167  bookME(ibooker, muondxy_, histname, histtitle, dxy_binning_.nbins, dxy_binning_.xmin, dxy_binning_.xmax);
168  setTitle(muondxy_,"Muon #dxy","events");
169 
170  histname = "muon_dz"; histtitle = "Muon dz";
171  bookME(ibooker, muondz_, histname, histtitle, dxy_binning_.nbins, dxy_binning_.xmin, dxy_binning_.xmax);
172  setTitle(muondz_,"Muon #dz","events");
173 
174 
175  histname = "muon_etaphi"; histtitle = "Muon eta-phi";
176  bookME(ibooker, muonEtaPhiME_, histname, histtitle, eta_binning_.nbins, eta_binning_.xmin, eta_binning_.xmax, phi_binning_.nbins, phi_binning_.xmin, phi_binning_.xmax);
177  setTitle(muonEtaPhiME_,"#eta","#phi");
178 
179  histname = "electron_pt_variable"; histtitle = "electron PT";
180  bookME(ibooker, eleME_variableBinning_, histname, histtitle, muon_variable_binning_);
181  setTitle(eleME_variableBinning_,"Electron pT [GeV]","events / [GeV]");
182 
183  histname = "electron_eta"; histtitle = "electron eta";
184  bookME(ibooker, eleEtaME_, histname, histtitle, eta_binning_.nbins, eta_binning_.xmin, eta_binning_.xmax);
185  setTitle(eleEtaME_,"Electron #eta","events");
186 
187  histname = "elePt_muPt"; histtitle = "electron pt vs muon pt";
189  setTitle(elePt_muPt_,"electron pt [GeV]","muon pt [GeV]");
190 
191  histname = "eleEta_muEta"; histtitle = "electron #eta vs muon #eta";
193  setTitle(eleEta_muEta_,"electron #eta","muon #eta");
194 
195 
196 
197 
198 
199  // Initialize the GenericTriggerEventFlag
200  if ( num_genTriggerEventFlag_ && num_genTriggerEventFlag_->on() ) num_genTriggerEventFlag_->initRun( iRun, iSetup );
201  if ( den_genTriggerEventFlag_ && den_genTriggerEventFlag_->on() ) den_genTriggerEventFlag_->initRun( iRun, iSetup );
202 
203 }
std::vector< double > muPt_variable_binning_2D_
Definition: MuonMonitor.h:113
MuonME elePt_muPt_
Definition: MuonMonitor.h:130
void setTitle(MuonME &me, const std::string &titleX, const std::string &titleY)
Definition: MuonMonitor.cc:84
MuonME muonEtaPhiME_
Definition: MuonMonitor.h:123
MuonME muonEtaME_variableBinning_
Definition: MuonMonitor.h:126
MuonME muonPhiME_
Definition: MuonMonitor.h:120
MuonME muonME_
Definition: MuonMonitor.h:118
std::vector< double > muoneta_variable_binning_
Definition: MuonMonitor.h:110
const MEbinning dxy_binning_
Definition: MuonMonitor.h:99
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: MuonMonitor.h:132
MuonME muondz_
Definition: MuonMonitor.h:125
const MEbinning phi_binning_
Definition: MuonMonitor.h:93
std::vector< double > muEta_variable_binning_2D_
Definition: MuonMonitor.h:115
MEbinning ls_binning_
Definition: MuonMonitor.h:112
MuonME muonVsLS_
Definition: MuonMonitor.h:122
MuonME eleEta_muEta_
Definition: MuonMonitor.h:129
MEbinning muon_binning_
Definition: MuonMonitor.h:111
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:268
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: MuonMonitor.h:133
MuonME muondxy_
Definition: MuonMonitor.h:124
std::vector< double > elePt_variable_binning_2D_
Definition: MuonMonitor.h:114
std::vector< double > muon_variable_binning_
Definition: MuonMonitor.h:109
MuonME muonME_variableBinning_
Definition: MuonMonitor.h:121
MuonME muonEtaME_
Definition: MuonMonitor.h:119
void bookME(DQMStore::IBooker &, MuonME &me, const std::string &histname, const std::string &histtitle, int nbins, double xmin, double xmax)
Definition: MuonMonitor.cc:92
MuonME eleME_variableBinning_
Definition: MuonMonitor.h:127
std::string folderName_
Definition: MuonMonitor.h:83
const MEbinning eta_binning_
Definition: MuonMonitor.h:105
std::vector< double > eleEta_variable_binning_2D_
Definition: MuonMonitor.h:116
MuonME eleEtaME_
Definition: MuonMonitor.h:128
void MuonMonitor::bookME ( DQMStore::IBooker ibooker,
MuonME me,
const std::string &  histname,
const std::string &  histtitle,
int  nbins,
double  xmin,
double  xmax 
)
protected

Definition at line 92 of file MuonMonitor.cc.

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

Referenced by bookHistograms().

93 {
94  me.numerator = ibooker.book1D(histname+"_numerator", histtitle+" (numerator)", nbins, min, max);
95  me.denominator = ibooker.book1D(histname+"_denominator", histtitle+" (denominator)", nbins, min, max);
96 }
MonitorElement * denominator
Definition: MuonMonitor.h:52
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
T min(T a, T b)
Definition: MathUtil.h:58
MonitorElement * numerator
Definition: MuonMonitor.h:51
void MuonMonitor::bookME ( DQMStore::IBooker ibooker,
MuonME me,
const std::string &  histname,
const std::string &  histtitle,
const std::vector< double > &  binningX 
)
protected

Definition at line 98 of file MuonMonitor.cc.

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

99 {
100  int nbins = binning.size()-1;
101  std::vector<float> fbinning(binning.begin(), binning.end());
102  float* arr = &fbinning[0];
103  me.numerator = ibooker.book1D(histname+"_numerator", histtitle+" (numerator)", nbins, arr);
104  me.denominator = ibooker.book1D(histname+"_denominator", histtitle+" (denominator)", nbins, arr);
105 }
MonitorElement * denominator
Definition: MuonMonitor.h:52
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
MonitorElement * numerator
Definition: MuonMonitor.h:51
void MuonMonitor::bookME ( DQMStore::IBooker ibooker,
MuonME me,
const std::string &  histname,
const std::string &  histtitle,
int  nbinsX,
double  xmin,
double  xmax,
double  ymin,
double  ymax 
)
protected

Definition at line 107 of file MuonMonitor.cc.

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

108 {
109  me.numerator = ibooker.bookProfile(histname+"_numerator", histtitle+" (numerator)", nbinsX, xmin, xmax, ymin, ymax);
110  me.denominator = ibooker.bookProfile(histname+"_denominator", histtitle+" (denominator)", nbinsX, xmin, xmax, ymin, ymax);
111 }
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:113
MonitorElement * denominator
Definition: MuonMonitor.h:52
MonitorElement * numerator
Definition: MuonMonitor.h:51
void MuonMonitor::bookME ( DQMStore::IBooker ibooker,
MuonME me,
const std::string &  histname,
const std::string &  histtitle,
int  nbinsX,
double  xmin,
double  xmax,
int  nbinsY,
double  ymin,
double  ymax 
)
protected

Definition at line 113 of file MuonMonitor.cc.

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

114 {
115  me.numerator = ibooker.book2D(histname+"_numerator", histtitle+" (numerator)", nbinsX, xmin, xmax, nbinsY, ymin, ymax);
116  me.denominator = ibooker.book2D(histname+"_denominator", histtitle+" (denominator)", nbinsX, xmin, xmax, nbinsY, ymin, ymax);
117 }
MonitorElement * denominator
Definition: MuonMonitor.h:52
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:109
MonitorElement * numerator
Definition: MuonMonitor.h:51
void MuonMonitor::bookME ( DQMStore::IBooker ibooker,
MuonME me,
const std::string &  histname,
const std::string &  histtitle,
const std::vector< double > &  binningX,
const std::vector< double > &  binningY 
)
protected

Definition at line 119 of file MuonMonitor.cc.

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

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

Definition at line 311 of file MuonMonitor.cc.

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

312 {
314  desc.add<std::string> ( "FolderName", "HLT/Muon" );
315  desc.add<edm::InputTag>( "met", edm::InputTag("pfMet") );
316  desc.add<edm::InputTag>( "muons", edm::InputTag("muons") );
317  desc.add<edm::InputTag>( "vertices", edm::InputTag("offlinePrimaryVertices") );
318  desc.add<edm::InputTag>( "electrons", edm::InputTag("gedGsfElectrons") );
319  desc.add<std::string>("metSelection", "pt > 0");
320  desc.add<std::string>("muonSelection", "pt > 6 && eta<2.4 ");
321  desc.add<std::string>("eleSelection", "pt > 0");
322  //desc.add<std::string>("muonSelection", "pt > 145");
323  desc.add<unsigned int>("nmuons", 0);
324  desc.add<unsigned int>("nelectrons", 0);
325 
326  edm::ParameterSetDescription genericTriggerEventPSet;
327  genericTriggerEventPSet.add<bool>("andOr");
328  genericTriggerEventPSet.add<edm::InputTag>("dcsInputTag", edm::InputTag("scalersRawToDigi") );
329  genericTriggerEventPSet.add<std::vector<int> >("dcsPartitions",{});
330  genericTriggerEventPSet.add<bool>("andOrDcs", false);
331  genericTriggerEventPSet.add<bool>("errorReplyDcs", true);
332  genericTriggerEventPSet.add<std::string>("dbLabel","");
333  genericTriggerEventPSet.add<bool>("andOrHlt", true);
334  genericTriggerEventPSet.add<edm::InputTag>("hltInputTag", edm::InputTag("TriggerResults::HLT") );
335  genericTriggerEventPSet.add<std::vector<std::string> >("hltPaths",{});
336  genericTriggerEventPSet.add<std::string>("hltDBKey","");
337  genericTriggerEventPSet.add<bool>("errorReplyHlt", false);
338  genericTriggerEventPSet.add<bool>("errorReplyL1", false);
339  genericTriggerEventPSet.add<unsigned int>("verbosityLevel", 1);
340  genericTriggerEventPSet.add<bool>("andOrL1", false);
341  genericTriggerEventPSet.add<bool>("l1BeforeMask", false);
342  genericTriggerEventPSet.add<std::vector<std::string> >("l1Algorithms",{});
343 
344  desc.add<edm::ParameterSetDescription>("numGenericTriggerEventPSet", genericTriggerEventPSet);
345  desc.add<edm::ParameterSetDescription>("denGenericTriggerEventPSet", genericTriggerEventPSet);
346 
349  fillHistoPSetDescription(metPSet);
350  histoPSet.add<edm::ParameterSetDescription>("muonPSet", metPSet);
351  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.};
352  histoPSet.add<std::vector<double> >("muonBinning", bins);
353 
354  std::vector<double> etabins = {-3.,-2.5,-2.,-1.5,-1.,-.5, 0.,.5, 1., 1.5, 2., 2.5, 3.};
355  histoPSet.add<std::vector<double> >("muonetaBinning", etabins);
356 
357  std::vector<double> bins_2D = {0., 40., 80., 100., 120., 140., 160., 180., 200., 240., 280., 350., 450., 1000.};
358  std::vector<double> eta_bins_2D = {-3.,-2.,-1., 0., 1., 2., 3.};
359  std::vector<double> phi_bins_2D = {-3.1415,-2.5132,-1.8849,-1.2566,-0.6283, 0, 0.6283, 1.2566, 1.8849, 2.5132, 3.1415};
360  histoPSet.add<std::vector<double> >("elePtBinning2D", bins_2D);
361  histoPSet.add<std::vector<double> >("muPtBinning2D", bins_2D);
362  histoPSet.add<std::vector<double> >("eleEtaBinning2D", eta_bins_2D);
363  histoPSet.add<std::vector<double> >("muEtaBinning2D", eta_bins_2D);
364 
367  histoPSet.add<edm::ParameterSetDescription>("lsPSet", lsPSet);
368 
369  desc.add<edm::ParameterSetDescription>("histoPSet", histoPSet);
370 
371  descriptions.add("muonMonitoring", desc);
372 }
static void fillHistoPSetDescription(edm::ParameterSetDescription &pset)
Definition: MuonMonitor.cc:297
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
static void fillHistoLSPSetDescription(edm::ParameterSetDescription &pset)
Definition: MuonMonitor.cc:304
void MuonMonitor::fillHistoLSPSetDescription ( edm::ParameterSetDescription pset)
static

Definition at line 304 of file MuonMonitor.cc.

References edm::ParameterSetDescription::add().

Referenced by fillDescriptions().

305 {
306  pset.add<unsigned int> ( "nbins", 2500 );
307  pset.add<double> ( "xmin", 0.);
308  pset.add<double> ( "xmax", 2500.);
309 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void MuonMonitor::fillHistoPSetDescription ( edm::ParameterSetDescription pset)
static

Definition at line 297 of file MuonMonitor.cc.

References edm::ParameterSetDescription::add().

Referenced by fillDescriptions().

298 {
299  pset.add<unsigned int> ( "nbins");
300  pset.add<double> ( "xmin" );
301  pset.add<double> ( "xmax" );
302 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
MEbinning MuonMonitor::getHistoLSPSet ( edm::ParameterSet const &  pset)
staticprivate

Definition at line 75 of file MuonMonitor.cc.

References edm::ParameterSet::getParameter().

76 {
77  return MEbinning{
78  pset.getParameter<unsigned>("nbins"),
79  0.,
80  double(pset.getParameter<int32_t>("nbins"))
81  };
82 }
MEbinning MuonMonitor::getHistoPSet ( edm::ParameterSet const &  pset)
staticprivate

Definition at line 66 of file MuonMonitor.cc.

References edm::ParameterSet::getParameter().

67 {
68  return MEbinning{
69  pset.getParameter<unsigned>("nbins"),
70  pset.getParameter<double>("xmin"),
71  pset.getParameter<double>("xmax"),
72  };
73 }
void MuonMonitor::setTitle ( MuonME me,
const std::string &  titleX,
const std::string &  titleY 
)
protected

Definition at line 84 of file MuonMonitor.cc.

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

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

85 {
86  me.numerator->setAxisTitle(titleX, 1);
87  me.numerator->setAxisTitle(titleY, 2);
88  me.denominator->setAxisTitle(titleX, 1);
89  me.denominator->setAxisTitle(titleY, 2);
90 }
MonitorElement * denominator
Definition: MuonMonitor.h:52
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * numerator
Definition: MuonMonitor.h:51

Member Data Documentation

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

Definition at line 133 of file MuonMonitor.h.

Referenced by analyze(), and bookHistograms().

const MEbinning MuonMonitor::dxy_binning_
private
Initial value:
{
N_dxy, -MAX_dxy, MAX_dxy
}

Definition at line 99 of file MuonMonitor.h.

Referenced by bookHistograms().

MuonME MuonMonitor::eleEta_muEta_
private

Definition at line 129 of file MuonMonitor.h.

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

std::vector<double> MuonMonitor::eleEta_variable_binning_2D_
private

Definition at line 116 of file MuonMonitor.h.

Referenced by bookHistograms().

MuonME MuonMonitor::eleEtaME_
private

Definition at line 128 of file MuonMonitor.h.

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

MuonME MuonMonitor::eleME_variableBinning_
private

Definition at line 127 of file MuonMonitor.h.

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

MuonME MuonMonitor::elePt_muPt_
private

Definition at line 130 of file MuonMonitor.h.

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

std::vector<double> MuonMonitor::elePt_variable_binning_2D_
private

Definition at line 114 of file MuonMonitor.h.

Referenced by bookHistograms().

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

Definition at line 137 of file MuonMonitor.h.

Referenced by analyze().

edm::EDGetTokenT<edm::View<reco::GsfElectron> > MuonMonitor::eleToken_
private

Definition at line 89 of file MuonMonitor.h.

Referenced by analyze().

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

Definition at line 105 of file MuonMonitor.h.

Referenced by bookHistograms().

std::string MuonMonitor::folderName_
private

Definition at line 83 of file MuonMonitor.h.

Referenced by bookHistograms().

std::string MuonMonitor::histoSuffix_
private

Definition at line 84 of file MuonMonitor.h.

MEbinning MuonMonitor::ls_binning_
private

Definition at line 112 of file MuonMonitor.h.

Referenced by bookHistograms().

double MuonMonitor::MAX_dxy = 2.5
staticprivate

Definition at line 97 of file MuonMonitor.h.

double MuonMonitor::MAX_ETA = 2.4
staticprivate

Definition at line 103 of file MuonMonitor.h.

double MuonMonitor::MAX_PHI = 3.2
staticprivate

Definition at line 91 of file MuonMonitor.h.

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

Definition at line 135 of file MuonMonitor.h.

Referenced by analyze().

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

Definition at line 86 of file MuonMonitor.h.

Referenced by analyze().

std::vector<double> MuonMonitor::muEta_variable_binning_2D_
private

Definition at line 115 of file MuonMonitor.h.

Referenced by bookHistograms().

MEbinning MuonMonitor::muon_binning_
private

Definition at line 111 of file MuonMonitor.h.

Referenced by bookHistograms().

std::vector<double> MuonMonitor::muon_variable_binning_
private

Definition at line 109 of file MuonMonitor.h.

Referenced by bookHistograms().

MuonME MuonMonitor::muondxy_
private

Definition at line 124 of file MuonMonitor.h.

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

MuonME MuonMonitor::muondz_
private

Definition at line 125 of file MuonMonitor.h.

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

std::vector<double> MuonMonitor::muoneta_variable_binning_
private

Definition at line 110 of file MuonMonitor.h.

Referenced by bookHistograms().

MuonME MuonMonitor::muonEtaME_
private

Definition at line 119 of file MuonMonitor.h.

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

MuonME MuonMonitor::muonEtaME_variableBinning_
private

Definition at line 126 of file MuonMonitor.h.

Referenced by bookHistograms(), and MuonMonitor().

MuonME MuonMonitor::muonEtaPhiME_
private

Definition at line 123 of file MuonMonitor.h.

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

MuonME MuonMonitor::muonME_
private

Definition at line 118 of file MuonMonitor.h.

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

MuonME MuonMonitor::muonME_variableBinning_
private

Definition at line 121 of file MuonMonitor.h.

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

MuonME MuonMonitor::muonPhiME_
private

Definition at line 120 of file MuonMonitor.h.

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

StringCutObjectSelector<reco::Muon,true> MuonMonitor::muonSelection_
private

Definition at line 136 of file MuonMonitor.h.

Referenced by analyze().

edm::EDGetTokenT<reco::MuonCollection> MuonMonitor::muonToken_
private

Definition at line 87 of file MuonMonitor.h.

Referenced by analyze().

MuonME MuonMonitor::muonVsLS_
private

Definition at line 122 of file MuonMonitor.h.

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

std::vector<double> MuonMonitor::muPt_variable_binning_2D_
private

Definition at line 113 of file MuonMonitor.h.

Referenced by bookHistograms().

int MuonMonitor::N_dxy = 50
staticprivate

Definition at line 98 of file MuonMonitor.h.

int MuonMonitor::N_ETA = 68
staticprivate

Definition at line 104 of file MuonMonitor.h.

int MuonMonitor::N_PHI = 64
staticprivate

Definition at line 92 of file MuonMonitor.h.

unsigned int MuonMonitor::nelectrons_
private

Definition at line 140 of file MuonMonitor.h.

Referenced by analyze().

unsigned int MuonMonitor::njets_
private

Definition at line 138 of file MuonMonitor.h.

unsigned int MuonMonitor::nmuons_
private

Definition at line 139 of file MuonMonitor.h.

Referenced by analyze().

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

Definition at line 132 of file MuonMonitor.h.

Referenced by analyze(), and bookHistograms().

const MEbinning MuonMonitor::phi_binning_
private
Initial value:
{
N_PHI, -MAX_PHI, MAX_PHI
}

Definition at line 93 of file MuonMonitor.h.

Referenced by bookHistograms().

edm::EDGetTokenT<reco::VertexCollection> MuonMonitor::vtxToken_
private

Definition at line 88 of file MuonMonitor.h.

Referenced by analyze().