CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
TopDiLeptonDQM Class Reference

#include <TopDiLeptonDQM.h>

Inheritance diagram for TopDiLeptonDQM:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 TopDiLeptonDQM (const edm::ParameterSet &)
 
 ~TopDiLeptonDQM ()
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Protected Member Functions

void beginRun (const edm::Run &, const edm::EventSetup &)
 
void endRun (const edm::Run &, const edm::EventSetup &)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob ()
 
virtual void endJob ()
 
void initialize ()
 

Private Attributes

MonitorElementD_eta_elecs_
 
MonitorElementD_eta_lepts_
 
MonitorElementD_eta_muons_
 
MonitorElementD_phi_elecs_
 
MonitorElementD_phi_lepts_
 
MonitorElementD_phi_muons_
 
DQMStoredbe_
 
MonitorElementdimassRC_
 
MonitorElementdimassRC_LOG10_
 
MonitorElementdimassRC_LOGX_
 
MonitorElementdimassWC_
 
MonitorElementdimassWC_LOG10_
 
MonitorElementdimassWC_LOGX_
 
float Eff [100]
 
double elec_emf_cut_
 
double elec_eta_cut_
 
double elec_iso_cut_
 
double elec_pT_cut_
 
MonitorElementElecIso_cal_
 
MonitorElementElecIso_CombRelIso_
 
MonitorElementElecIso_trk_
 
edm::EDGetTokenT
< reco::GsfElectronCollection
elecs_
 
MonitorElementeta_elecs_
 
MonitorElementeta_muons_
 
MonitorElementEvents_
 
bool fileOutput_
 
std::vector< std::string > hltPaths_
 
std::vector< std::string > hltPaths_sig_
 
std::vector< std::string > hltPaths_trig_
 
MonitorElementHoverE_elecs_
 
double MassWindow_down_
 
double MassWindow_up_
 
std::string moduleName_
 
MonitorElementMuIso_CombRelIso03_
 
MonitorElementMuIso_emEt03_
 
MonitorElementMuIso_hadEt03_
 
MonitorElementMuIso_hoEt03_
 
MonitorElementMuIso_nJets03_
 
MonitorElementMuIso_nTracks03_
 
MonitorElementMuIso_sumPt03_
 
double muon_eta_cut_
 
double muon_iso_cut_
 
double muon_pT_cut_
 
edm::EDGetTokenT
< reco::MuonCollection
muons_
 
int N_elel
 
int N_muel
 
int N_mumu
 
int N_sig [100]
 
int N_trig [100]
 
MonitorElementNelecs_
 
MonitorElementNelecs_charge_
 
MonitorElementNelecs_iso_
 
MonitorElementNmuons_
 
MonitorElementNmuons_charge_
 
MonitorElementNmuons_iso_
 
MonitorElementNtracks_
 
std::ofstream outfile
 
std::string outputFile_
 
MonitorElementphi_elecs_
 
MonitorElementphi_muons_
 
MonitorElementpT_elecs_
 
MonitorElementpT_muons_
 
MonitorElementTriggerEff_
 
edm::EDGetTokenT
< edm::TriggerResults
triggerResults_
 
MonitorElementTrigs_
 
edm::EDGetTokenT
< reco::VertexCollection
vertex_
 
double vertex_X_cut_
 
double vertex_Y_cut_
 
double vertex_Z_cut_
 
MonitorElementVxVy_muons_
 
MonitorElementVz_muons_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Detailed Description

Definition at line 38 of file TopDiLeptonDQM.h.

Constructor & Destructor Documentation

TopDiLeptonDQM::TopDiLeptonDQM ( const edm::ParameterSet ps)
explicit

Definition at line 15 of file TopDiLeptonDQM.cc.

References dbe_, convertXMLtoSQLite_cfg::fileName, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), i, initialize(), cppFunctionSkipper::operator, and getDQMSummary::outfile.

15  {
16 
17  initialize();
18 
19  moduleName_ = ps.getUntrackedParameter<string>("moduleName");
20  fileOutput_ = ps.getParameter<bool>("fileOutput");
21  outputFile_ = ps.getUntrackedParameter<string>("outputFile");
22  triggerResults_ = consumes<TriggerResults>(
23  ps.getParameter<edm::InputTag>("TriggerResults"));
24  hltPaths_ = ps.getParameter<vector<string> >("hltPaths");
25  hltPaths_sig_ = ps.getParameter<vector<string> >("hltPaths_sig");
26  hltPaths_trig_ = ps.getParameter<vector<string> >("hltPaths_trig");
27 
28  vertex_ = consumes<reco::VertexCollection>(
29  ps.getParameter<edm::InputTag>("vertexCollection"));
30  vertex_X_cut_ = ps.getParameter<double>("vertex_X_cut");
31  vertex_Y_cut_ = ps.getParameter<double>("vertex_Y_cut");
32  vertex_Z_cut_ = ps.getParameter<double>("vertex_Z_cut");
33 
34  muons_ = consumes<reco::MuonCollection>(
35  ps.getParameter<edm::InputTag>("muonCollection"));
36  muon_pT_cut_ = ps.getParameter<double>("muon_pT_cut");
37  muon_eta_cut_ = ps.getParameter<double>("muon_eta_cut");
38  muon_iso_cut_ = ps.getParameter<double>("muon_iso_cut");
39 
40  elecs_ = consumes<reco::GsfElectronCollection>(
41  ps.getParameter<edm::InputTag>("elecCollection"));
42  elec_pT_cut_ = ps.getParameter<double>("elec_pT_cut");
43  elec_eta_cut_ = ps.getParameter<double>("elec_eta_cut");
44  elec_iso_cut_ = ps.getParameter<double>("elec_iso_cut");
45  elec_emf_cut_ = ps.getParameter<double>("elec_emf_cut");
46 
47  MassWindow_up_ = ps.getParameter<double>("MassWindow_up");
48  MassWindow_down_ = ps.getParameter<double>("MassWindow_down");
49 
50  for (int i = 0; i < 100; ++i) {
51  N_sig[i] = 0;
52  N_trig[i] = 0;
53  Eff[i] = 0.;
54  }
55 
56  N_mumu = 0;
57  N_muel = 0;
58  N_elel = 0;
59 
60  if (fileOutput_) {
61  const char* fileName = outputFile_.c_str();
62  outfile.open(fileName);
63  }
64 
66 
67  Events_ = 0;
68  Trigs_ = 0;
69  TriggerEff_ = 0;
70  Ntracks_ = 0;
71  Nmuons_ = 0;
72  Nmuons_iso_ = 0;
73  Nmuons_charge_ = 0;
74  VxVy_muons_ = 0;
75  Vz_muons_ = 0;
76  pT_muons_ = 0;
77  eta_muons_ = 0;
78  phi_muons_ = 0;
79  Nelecs_ = 0;
80  Nelecs_iso_ = 0;
81  Nelecs_charge_ = 0;
82  HoverE_elecs_ = 0;
83  pT_elecs_ = 0;
84  eta_elecs_ = 0;
85  phi_elecs_ = 0;
86  MuIso_emEt03_ = 0;
87  MuIso_hadEt03_ = 0;
88  MuIso_hoEt03_ = 0;
89  MuIso_nJets03_ = 0;
90  MuIso_nTracks03_ = 0;
91  MuIso_sumPt03_ = 0;
93  ElecIso_cal_ = 0;
94  ElecIso_trk_ = 0;
96  dimassRC_ = 0;
97  dimassWC_ = 0;
98  dimassRC_LOGX_ = 0;
99  dimassWC_LOGX_ = 0;
100  dimassRC_LOG10_ = 0;
101  dimassWC_LOG10_ = 0;
102  D_eta_muons_ = 0;
103  D_phi_muons_ = 0;
104  D_eta_elecs_ = 0;
105  D_phi_elecs_ = 0;
106  D_eta_lepts_ = 0;
107  D_phi_lepts_ = 0;
108 }
double muon_iso_cut_
T getParameter(std::string const &) const
double vertex_Y_cut_
MonitorElement * Nelecs_charge_
T getUntrackedParameter(std::string const &, T const &) const
int i
Definition: DBlmapReader.cc:9
MonitorElement * dimassRC_
MonitorElement * D_phi_muons_
MonitorElement * D_phi_lepts_
std::string outputFile_
MonitorElement * dimassWC_LOG10_
double vertex_Z_cut_
MonitorElement * HoverE_elecs_
MonitorElement * D_eta_muons_
MonitorElement * D_phi_elecs_
std::vector< std::string > hltPaths_trig_
edm::EDGetTokenT< reco::GsfElectronCollection > elecs_
MonitorElement * phi_elecs_
MonitorElement * Nmuons_charge_
edm::EDGetTokenT< reco::VertexCollection > vertex_
MonitorElement * MuIso_sumPt03_
MonitorElement * eta_muons_
MonitorElement * ElecIso_cal_
DQMStore * dbe_
double muon_eta_cut_
MonitorElement * MuIso_nTracks03_
MonitorElement * eta_elecs_
edm::EDGetTokenT< reco::MuonCollection > muons_
MonitorElement * dimassRC_LOGX_
MonitorElement * D_eta_elecs_
MonitorElement * TriggerEff_
MonitorElement * MuIso_hoEt03_
double MassWindow_up_
MonitorElement * Ntracks_
double elec_emf_cut_
std::ofstream outfile
MonitorElement * Nmuons_
MonitorElement * phi_muons_
MonitorElement * D_eta_lepts_
MonitorElement * Nmuons_iso_
MonitorElement * VxVy_muons_
float Eff[100]
double MassWindow_down_
MonitorElement * ElecIso_trk_
MonitorElement * pT_elecs_
MonitorElement * Vz_muons_
double elec_eta_cut_
MonitorElement * ElecIso_CombRelIso_
MonitorElement * Events_
std::vector< std::string > hltPaths_
double elec_iso_cut_
MonitorElement * dimassWC_
MonitorElement * dimassWC_LOGX_
std::string moduleName_
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
MonitorElement * MuIso_nJets03_
std::vector< std::string > hltPaths_sig_
MonitorElement * Trigs_
MonitorElement * dimassRC_LOG10_
MonitorElement * MuIso_emEt03_
MonitorElement * pT_muons_
MonitorElement * Nelecs_iso_
MonitorElement * Nelecs_
double vertex_X_cut_
MonitorElement * MuIso_hadEt03_
MonitorElement * MuIso_CombRelIso03_
TopDiLeptonDQM::~TopDiLeptonDQM ( )

Definition at line 110 of file TopDiLeptonDQM.cc.

110 {}

Member Function Documentation

void TopDiLeptonDQM::analyze ( const edm::Event evt,
const edm::EventSetup context 
)
privatevirtual

Implements edm::EDAnalyzer.

Definition at line 208 of file TopDiLeptonDQM.cc.

References funct::abs(), reco::GsfElectron::IsolationVariables::ecalRecHitSumEt, reco::MuonIsolation::emEt, event(), edm::HandleBase::failedToGet(), edm::Event::getByToken(), reco::MuonIsolation::hadEt, reco::GsfElectron::IsolationVariables::hcalDepth1TowerSumEt, reco::MuonIsolation::hoEt, i, edm::EventBase::id(), reco::Vertex::isFake(), j, gen::k, edm::EventBase::luminosityBlock(), trackingTruthProducerFastSim_cfi::muon, patZpeak::muons, reco::MuonIsolation::nJets, reco::MuonIsolation::nTracks, getDQMSummary::outfile, HWWFunctions::primaryVertex(), edm::Handle< T >::product(), DTTTrigCorrFirst::run, mathSSE::sqrt(), reco::MuonIsolation::sumPt, reco::GsfElectron::IsolationVariables::tkSumPt, reco::Vertex::tracksSize(), edm::TriggerNames::triggerName(), edm::Event::triggerNames(), reco::Vertex::x(), reco::Vertex::y(), and reco::Vertex::z().

209  {
210 
211  // ------------------------
212  // Global Event Variables
213  // ------------------------
214 
215  const int N_TriggerPaths = hltPaths_.size();
216  const int N_SignalPaths = hltPaths_sig_.size();
217  const int N_ControlPaths = hltPaths_trig_.size();
218 
219  bool Fired_Signal_Trigger[100] = {false};
220  bool Fired_Control_Trigger[100] = {false};
221 
222  int N_run = (evt.id()).run();
223  int N_event = (evt.id()).event();
224  int N_lumi = evt.luminosityBlock();
225 
226  int N_leptons = 0;
227  int N_iso_mu = 0;
228  int N_iso_el = 0;
229  // int N_iso_lep = 0; // UNUSED
230 
231  double DilepMass = 0.;
232 
233  double vertex_X = 100.;
234  double vertex_Y = 100.;
235  double vertex_Z = 100.;
236 
237  // ------------------------
238  // Analyze Primary Vertex
239  // ------------------------
240 
242  evt.getByToken(vertex_, vertexs);
243 
244  if (!vertexs.failedToGet()) {
245 
246  reco::Vertex primaryVertex = vertexs->front();
247 
248  int numberTracks = primaryVertex.tracksSize();
249  // double ndof = primaryVertex.ndof();
250  bool fake = primaryVertex.isFake();
251 
252  Ntracks_->Fill(numberTracks);
253 
254  if (!fake && numberTracks > 3) {
255 
256  vertex_X = primaryVertex.x();
257  vertex_Y = primaryVertex.y();
258  vertex_Z = primaryVertex.z();
259  }
260  }
261 
262  // -------------------------
263  // Analyze Trigger Results
264  // -------------------------
265 
266  edm::Handle<TriggerResults> trigResults;
267  evt.getByToken(triggerResults_, trigResults);
268 
269  if (!trigResults.failedToGet()) {
270 
271  int N_Triggers = trigResults->size();
272 
273  const edm::TriggerNames& trigName = evt.triggerNames(*trigResults);
274 
275  for (int i_Trig = 0; i_Trig < N_Triggers; ++i_Trig) {
276 
277  if (trigResults.product()->accept(i_Trig)) {
278 
279  // Check for all trigger paths
280 
281  for (int i = 0; i < N_TriggerPaths; i++) {
282 
283  if (trigName.triggerName(i_Trig) == hltPaths_[i]) {
284 
285  Trigs_->Fill(i);
286  Trigs_->setBinLabel(i + 1, hltPaths_[i], 1);
287  }
288  }
289 
290  // Check for signal & control trigger paths
291 
292  for (int j = 0; j < N_SignalPaths; ++j) {
293 
294  if (trigName.triggerName(i_Trig) == hltPaths_sig_[j])
295  Fired_Signal_Trigger[j] = true;
296  }
297 
298  for (int k = 0; k < N_ControlPaths; ++k) {
299 
300  if (trigName.triggerName(i_Trig) == hltPaths_trig_[k])
301  Fired_Control_Trigger[k] = true;
302  }
303  }
304  }
305  }
306 
307  // ------------------------
308  // Analyze Muon Isolation
309  // ------------------------
310 
312  evt.getByToken(muons_, muons);
313 
314  reco::MuonCollection::const_iterator muon;
315 
316  if (!muons.failedToGet()) {
317 
318  Nmuons_->Fill(muons->size());
319 
320  N_leptons = N_leptons + muons->size();
321 
322  for (muon = muons->begin(); muon != muons->end(); ++muon) {
323 
324  float N_muons = muons->size();
325  float Q_muon = muon->charge();
326 
327  Nmuons_charge_->Fill(N_muons * Q_muon);
328 
329  double track_X = 100.;
330  double track_Y = 100.;
331  double track_Z = 100.;
332 
333  if (muon->isGlobalMuon()) {
334 
335  reco::TrackRef track = muon->globalTrack();
336 
337  track_X = track->vx();
338  track_Y = track->vy();
339  track_Z = track->vz();
340 
341  VxVy_muons_->Fill(track_X, track_Y);
342  Vz_muons_->Fill(track_Z);
343  }
344 
345  // Vertex and kinematic cuts
346 
347  if (track_X > vertex_X_cut_) continue;
348  if (track_Y > vertex_Y_cut_) continue;
349  if (track_Z > vertex_Z_cut_) continue;
350  if (muon->pt() < muon_pT_cut_) continue;
351  if (abs(muon->eta()) > muon_eta_cut_) continue;
352 
353  reco::MuonIsolation muIso03 = muon->isolationR03();
354 
355  double muonCombRelIso = 1.;
356 
357  if (muon->pt() != 0.)
358  muonCombRelIso =
359  (muIso03.emEt + muIso03.hadEt + muIso03.hoEt + muIso03.sumPt) /
360  muon->pt();
361 
362  MuIso_CombRelIso03_->Fill(muonCombRelIso);
363 
364  MuIso_emEt03_->Fill(muIso03.emEt);
365  MuIso_hadEt03_->Fill(muIso03.hadEt);
366  MuIso_hoEt03_->Fill(muIso03.hoEt);
367  MuIso_nJets03_->Fill(muIso03.nJets);
368  MuIso_nTracks03_->Fill(muIso03.nTracks);
369  MuIso_sumPt03_->Fill(muIso03.sumPt);
370 
371  if (muonCombRelIso < muon_iso_cut_) ++N_iso_mu;
372  }
373 
374  Nmuons_iso_->Fill(N_iso_mu);
375  }
376 
377  // ----------------------------
378  // Analyze Electron Isolation
379  // ----------------------------
380 
382  evt.getByToken(elecs_, elecs);
383 
384  reco::GsfElectronCollection::const_iterator elec;
385 
386  if (!elecs.failedToGet()) {
387 
388  Nelecs_->Fill(elecs->size());
389 
390  N_leptons = N_leptons + elecs->size();
391 
392  for (elec = elecs->begin(); elec != elecs->end(); ++elec) {
393 
394  float N_elecs = elecs->size();
395  float Q_elec = elec->charge();
396  float HoverE = elec->hcalOverEcal();
397 
398  HoverE_elecs_->Fill(HoverE);
399 
400  Nelecs_charge_->Fill(N_elecs * Q_elec);
401 
402  double track_X = 100.;
403  double track_Y = 100.;
404  double track_Z = 100.;
405 
406  reco::GsfTrackRef track = elec->gsfTrack();
407 
408  track_X = track->vx();
409  track_Y = track->vy();
410  track_Z = track->vz();
411 
412  // Vertex and kinematic cuts
413 
414  if (track_X > vertex_X_cut_) continue;
415  if (track_Y > vertex_Y_cut_) continue;
416  if (track_Z > vertex_Z_cut_) continue;
417  if (elec->pt() < elec_pT_cut_) continue;
418  if (abs(elec->eta()) > elec_eta_cut_) continue;
419  if (HoverE > elec_emf_cut_) continue;
420 
422  elec->dr03IsolationVariables();
423 
424  double elecCombRelIso = 1.;
425 
426  if (elec->et() != 0.)
427  elecCombRelIso = (elecIso.ecalRecHitSumEt +
428  elecIso.hcalDepth1TowerSumEt + elecIso.tkSumPt) /
429  elec->et();
430 
431  ElecIso_CombRelIso_->Fill(elecCombRelIso);
432 
434  ElecIso_trk_->Fill(elecIso.tkSumPt);
435 
436  if (elecCombRelIso < elec_iso_cut_) ++N_iso_el;
437  }
438 
439  Nelecs_iso_->Fill(N_iso_el);
440  }
441 
442  // --------------------
443  // TWO Isolated MUONS
444  // --------------------
445 
446  if (N_iso_mu > 1) {
447 
448  // Vertex cut
449 
450  if (vertex_X < vertex_X_cut_ && vertex_Y < vertex_Y_cut_ &&
451  vertex_Z < vertex_Z_cut_) {
452 
453  ++N_mumu;
454 
455  Events_->Fill(1.);
456 
457  reco::MuonCollection::const_reference mu1 = muons->at(0);
458  reco::MuonCollection::const_reference mu2 = muons->at(1);
459 
460  DilepMass =
461  sqrt((mu1.energy() + mu2.energy()) * (mu1.energy() + mu2.energy()) -
462  (mu1.px() + mu2.px()) * (mu1.px() + mu2.px()) -
463  (mu1.py() + mu2.py()) * (mu1.py() + mu2.py()) -
464  (mu1.pz() + mu2.pz()) * (mu1.pz() + mu2.pz()));
465 
466  // Opposite muon charges -> Right Charge (RC)
467 
468  if (mu1.charge() * mu2.charge() < 0.) {
469 
470  dimassRC_LOG10_->Fill(log10(DilepMass));
471  dimassRC_->Fill(DilepMass);
472  dimassRC_LOGX_->Fill(DilepMass);
473 
474  if (DilepMass > MassWindow_down_ && DilepMass < MassWindow_up_) {
475 
476  for (muon = muons->begin(); muon != muons->end(); ++muon) {
477 
478  pT_muons_->Fill(muon->pt());
479  eta_muons_->Fill(muon->eta());
480  phi_muons_->Fill(muon->phi());
481  }
482 
483  D_eta_muons_->Fill(mu1.eta() - mu2.eta());
484  D_phi_muons_->Fill(mu1.phi() - mu2.phi());
485 
486  if (fileOutput_) {
487 
488  if (mu1.isGlobalMuon() && mu2.isGlobalMuon()) {
489 
490  outfile << "--------------------"
491  << "\n";
492  outfile << " Run : " << N_run << "\n";
493  outfile << " Event : " << N_event << "\n";
494  outfile << "LumiBlock : " << N_lumi << "\n";
495  outfile << " Type : mu mu"
496  << "\n";
497  outfile << "--------------------"
498  << "\n";
499  outfile << "DilepMass : " << DilepMass << "\n";
500  outfile << "Mu1 Pt : " << mu1.pt() << "\n";
501  outfile << "Mu1 Eta : " << mu1.eta() << "\n";
502  outfile << "Mu1 Phi : " << mu1.phi() << "\n";
503  outfile << "Mu2 Pt : " << mu2.pt() << "\n";
504  outfile << "Mu2 Eta : " << mu2.eta() << "\n";
505  outfile << "Mu2 Phi : " << mu2.phi() << "\n";
506  outfile << "--------------------"
507  << "\n";
508  }
509  }
510 
511  // Determinating trigger efficiencies
512 
513  for (int k = 0; k < N_SignalPaths; ++k) {
514 
515  if (Fired_Signal_Trigger[k] && Fired_Control_Trigger[k]) ++N_sig[k];
516 
517  if (Fired_Control_Trigger[k]) ++N_trig[k];
518 
519  if (N_trig[k] != 0)
520  Eff[k] = N_sig[k] / static_cast<float>(N_trig[k]);
521 
522  TriggerEff_->setBinContent(k + 1, Eff[k]);
523  TriggerEff_->setBinLabel(k + 1,
524  "#frac{[" + hltPaths_sig_[k] + "]}{vs. [" +
525  hltPaths_trig_[k] + "]}",
526  1);
527  }
528  }
529  }
530 
531  // Same muon charges -> Wrong Charge (WC)
532 
533  if (mu1.charge() * mu2.charge() > 0.) {
534 
535  dimassWC_LOG10_->Fill(log10(DilepMass));
536  dimassWC_->Fill(DilepMass);
537  dimassWC_LOGX_->Fill(DilepMass);
538 
539  if (fileOutput_) {
540 
541  if (mu1.isGlobalMuon() && mu2.isGlobalMuon()) {
542 
543  outfile << "---------------------"
544  << "\n";
545  outfile << " Run : " << N_run << "\n";
546  outfile << " Event : " << N_event << "\n";
547  outfile << "LumiBlock : " << N_lumi << "\n";
548  outfile << " Type : WC mu mu"
549  << "\n";
550  outfile << "---------------------"
551  << "\n";
552  outfile << "DilepMass : " << DilepMass << "\n";
553  outfile << "Mu1 Pt : " << mu1.pt() << "\n";
554  outfile << "Mu1 Eta : " << mu1.eta() << "\n";
555  outfile << "Mu1 Phi : " << mu1.phi() << "\n";
556  outfile << "Mu2 Pt : " << mu2.pt() << "\n";
557  outfile << "Mu2 Eta : " << mu2.eta() << "\n";
558  outfile << "Mu2 Phi : " << mu2.phi() << "\n";
559  outfile << "---------------------"
560  << "\n";
561  }
562  }
563  }
564  }
565  }
566 
567  // -----------------------------
568  // TWO Isolated LEPTONS (mu/e)
569  // -----------------------------
570 
571  if (N_iso_el > 0 && N_iso_mu > 0) {
572 
573  // Vertex cut
574 
575  if (vertex_X < vertex_X_cut_ && vertex_Y < vertex_Y_cut_ &&
576  vertex_Z < vertex_Z_cut_) {
577 
578  ++N_muel;
579 
580  Events_->Fill(2.);
581 
582  reco::MuonCollection::const_reference mu1 = muons->at(0);
583  reco::GsfElectronCollection::const_reference el1 = elecs->at(0);
584 
585  DilepMass =
586  sqrt((mu1.energy() + el1.energy()) * (mu1.energy() + el1.energy()) -
587  (mu1.px() + el1.px()) * (mu1.px() + el1.px()) -
588  (mu1.py() + el1.py()) * (mu1.py() + el1.py()) -
589  (mu1.pz() + el1.pz()) * (mu1.pz() + el1.pz()));
590 
591  // Opposite lepton charges -> Right Charge (RC)
592 
593  if (mu1.charge() * el1.charge() < 0.) {
594 
595  dimassRC_LOG10_->Fill(log10(DilepMass));
596  dimassRC_->Fill(DilepMass);
597  dimassRC_LOGX_->Fill(DilepMass);
598 
599  if (DilepMass > MassWindow_down_ && DilepMass < MassWindow_up_) {
600 
601  for (muon = muons->begin(); muon != muons->end(); ++muon) {
602 
603  pT_muons_->Fill(muon->pt());
604  eta_muons_->Fill(muon->eta());
605  phi_muons_->Fill(muon->phi());
606  }
607 
608  for (elec = elecs->begin(); elec != elecs->end(); ++elec) {
609 
610  pT_elecs_->Fill(elec->pt());
611  eta_elecs_->Fill(elec->eta());
612  phi_elecs_->Fill(elec->phi());
613  }
614 
615  D_eta_lepts_->Fill(mu1.eta() - el1.eta());
616  D_phi_lepts_->Fill(mu1.phi() - el1.phi());
617 
618  if (fileOutput_) {
619 
620  if (mu1.isGlobalMuon() && el1.isElectron()) {
621 
622  outfile << "--------------------"
623  << "\n";
624  outfile << " Run : " << N_run << "\n";
625  outfile << " Event : " << N_event << "\n";
626  outfile << "LumiBlock : " << N_lumi << "\n";
627  outfile << " Type : mu el"
628  << "\n";
629  outfile << "--------------------"
630  << "\n";
631  outfile << "DilepMass : " << DilepMass << "\n";
632  outfile << "Mu1 Pt : " << mu1.pt() << "\n";
633  outfile << "Mu1 Eta : " << mu1.eta() << "\n";
634  outfile << "Mu1 Phi : " << mu1.phi() << "\n";
635  outfile << "El1 Pt : " << el1.pt() << "\n";
636  outfile << "El1 Eta : " << el1.eta() << "\n";
637  outfile << "El1 Phi : " << el1.phi() << "\n";
638  outfile << "--------------------"
639  << "\n";
640  }
641  }
642 
643  // Determinating trigger efficiencies
644 
645  for (int k = 0; k < N_SignalPaths; ++k) {
646 
647  if (Fired_Signal_Trigger[k] && Fired_Control_Trigger[k]) ++N_sig[k];
648 
649  if (Fired_Control_Trigger[k]) ++N_trig[k];
650 
651  if (N_trig[k] != 0)
652  Eff[k] = N_sig[k] / static_cast<float>(N_trig[k]);
653 
654  TriggerEff_->setBinContent(k + 1, Eff[k]);
655  TriggerEff_->setBinLabel(k + 1,
656  "#frac{[" + hltPaths_sig_[k] + "]}{vs. [" +
657  hltPaths_trig_[k] + "]}",
658  1);
659  }
660  }
661  }
662 
663  // Same muon charges -> Wrong Charge (WC)
664 
665  if (mu1.charge() * el1.charge() > 0.) {
666 
667  dimassWC_LOG10_->Fill(log10(DilepMass));
668  dimassWC_->Fill(DilepMass);
669  dimassWC_LOGX_->Fill(DilepMass);
670  }
671  }
672  }
673 
674  // ------------------------
675  // TWO Isolated ELECTRONS
676  // ------------------------
677 
678  if (N_iso_el > 1) {
679 
680  // Vertex cut
681 
682  if (vertex_X < vertex_X_cut_ && vertex_Y < vertex_Y_cut_ &&
683  vertex_Z < vertex_Z_cut_) {
684 
685  ++N_elel;
686 
687  Events_->Fill(3.);
688 
689  reco::GsfElectronCollection::const_reference el1 = elecs->at(0);
690  reco::GsfElectronCollection::const_reference el2 = elecs->at(1);
691 
692  DilepMass =
693  sqrt((el1.energy() + el2.energy()) * (el1.energy() + el2.energy()) -
694  (el1.px() + el2.px()) * (el1.px() + el2.px()) -
695  (el1.py() + el2.py()) * (el1.py() + el2.py()) -
696  (el1.pz() + el2.pz()) * (el1.pz() + el2.pz()));
697 
698  // Opposite lepton charges -> Right Charge (RC)
699 
700  if (el1.charge() * el2.charge() < 0.) {
701 
702  dimassRC_LOG10_->Fill(log10(DilepMass));
703  dimassRC_->Fill(DilepMass);
704  dimassRC_LOGX_->Fill(DilepMass);
705 
706  if (DilepMass > MassWindow_down_ && DilepMass < MassWindow_up_) {
707 
708  for (elec = elecs->begin(); elec != elecs->end(); ++elec) {
709 
710  pT_elecs_->Fill(elec->pt());
711  eta_elecs_->Fill(elec->eta());
712  phi_elecs_->Fill(elec->phi());
713  }
714 
715  D_eta_elecs_->Fill(el1.eta() - el2.eta());
716  D_phi_elecs_->Fill(el1.phi() - el2.phi());
717 
718  if (fileOutput_) {
719 
720  if (el1.isElectron() && el2.isElectron()) {
721 
722  outfile << "--------------------"
723  << "\n";
724  outfile << " Run : " << N_run << "\n";
725  outfile << " Event : " << N_event << "\n";
726  outfile << "LumiBlock : " << N_lumi << "\n";
727  outfile << " Type : el el"
728  << "\n";
729  outfile << "--------------------"
730  << "\n";
731  outfile << "DilepMass : " << DilepMass << "\n";
732  outfile << "El1 Pt : " << el1.pt() << "\n";
733  outfile << "El1 Eta : " << el1.eta() << "\n";
734  outfile << "El1 Phi : " << el1.phi() << "\n";
735  outfile << "El2 Pt : " << el2.pt() << "\n";
736  outfile << "El2 Eta : " << el2.eta() << "\n";
737  outfile << "El2 Phi : " << el2.phi() << "\n";
738  outfile << "--------------------"
739  << "\n";
740  }
741  }
742 
743  // Determinating trigger efficiencies
744 
745  for (int k = 0; k < N_SignalPaths; ++k) {
746 
747  if (Fired_Signal_Trigger[k] && Fired_Control_Trigger[k]) ++N_sig[k];
748 
749  if (Fired_Control_Trigger[k]) ++N_trig[k];
750 
751  if (N_trig[k] != 0)
752  Eff[k] = N_sig[k] / static_cast<float>(N_trig[k]);
753 
754  TriggerEff_->setBinContent(k + 1, Eff[k]);
755  TriggerEff_->setBinLabel(k + 1,
756  "#frac{[" + hltPaths_sig_[k] + "]}{vs. [" +
757  hltPaths_trig_[k] + "]}",
758  1);
759  }
760  }
761  }
762 
763  // Same muon charges -> Wrong Charge (WC)
764 
765  if (el1.charge() * el2.charge() > 0.) {
766 
767  dimassWC_LOG10_->Fill(log10(DilepMass));
768  dimassWC_->Fill(DilepMass);
769  dimassWC_LOGX_->Fill(DilepMass);
770  }
771  }
772  }
773 }
double muon_iso_cut_
float hadEt
hcal sum-Et
Definition: MuonIsolation.h:9
double vertex_Y_cut_
MonitorElement * Nelecs_charge_
int i
Definition: DBlmapReader.cc:9
MonitorElement * dimassRC_
MonitorElement * D_phi_muons_
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const
Definition: Event.cc:199
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * D_phi_lepts_
MonitorElement * dimassWC_LOG10_
double vertex_Z_cut_
float sumPt
sum-pt of tracks
Definition: MuonIsolation.h:7
MonitorElement * HoverE_elecs_
MonitorElement * D_eta_muons_
MonitorElement * D_phi_elecs_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:446
std::vector< std::string > hltPaths_trig_
edm::EDGetTokenT< reco::GsfElectronCollection > elecs_
double y() const
y coordinate
Definition: Vertex.h:110
MonitorElement * phi_elecs_
MonitorElement * Nmuons_charge_
edm::EDGetTokenT< reco::VertexCollection > vertex_
MonitorElement * MuIso_sumPt03_
MonitorElement * eta_muons_
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
edm::LuminosityBlockNumber_t luminosityBlock() const
Definition: EventBase.h:59
MonitorElement * ElecIso_cal_
double muon_eta_cut_
MonitorElement * MuIso_nTracks03_
MonitorElement * eta_elecs_
edm::EDGetTokenT< reco::MuonCollection > muons_
MonitorElement * dimassRC_LOGX_
void Fill(long long x)
MonitorElement * D_eta_elecs_
MonitorElement * TriggerEff_
MonitorElement * MuIso_hoEt03_
double MassWindow_up_
MonitorElement * Ntracks_
double elec_emf_cut_
std::ofstream outfile
MonitorElement * Nmuons_
T sqrt(T t)
Definition: SSEVec.h:48
MonitorElement * phi_muons_
float emEt
ecal sum-Et
Definition: MuonIsolation.h:8
int nJets
number of jets in the cone
Definition: MuonIsolation.h:12
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
int j
Definition: DBlmapReader.cc:9
double z() const
y coordinate
Definition: Vertex.h:112
MonitorElement * D_eta_lepts_
float hoEt
ho sum-Et
Definition: MuonIsolation.h:10
MonitorElement * Nmuons_iso_
MonitorElement * VxVy_muons_
float Eff[100]
double MassWindow_down_
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
MonitorElement * ElecIso_trk_
int k[5][pyjets_maxn]
int nTracks
number of tracks in the cone (excluding veto region)
Definition: MuonIsolation.h:11
MonitorElement * pT_elecs_
bool failedToGet() const
Definition: HandleBase.h:80
double x() const
x coordinate
Definition: Vertex.h:108
bool isFake() const
Definition: Vertex.h:64
T const * product() const
Definition: Handle.h:81
MonitorElement * Vz_muons_
std::string const & triggerName(unsigned int index) const
Definition: TriggerNames.cc:27
double elec_eta_cut_
MonitorElement * ElecIso_CombRelIso_
MonitorElement * Events_
std::vector< std::string > hltPaths_
double elec_iso_cut_
MonitorElement * dimassWC_
MonitorElement * dimassWC_LOGX_
edm::EventID id() const
Definition: EventBase.h:56
tuple muons
Definition: patZpeak.py:38
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
MonitorElement * MuIso_nJets03_
std::vector< std::string > hltPaths_sig_
MonitorElement * Trigs_
MonitorElement * dimassRC_LOG10_
MonitorElement * MuIso_emEt03_
MonitorElement * pT_muons_
size_t tracksSize() const
number of tracks
Definition: Vertex.cc:34
MonitorElement * Nelecs_iso_
MonitorElement * Nelecs_
double vertex_X_cut_
MonitorElement * MuIso_hadEt03_
MonitorElement * MuIso_CombRelIso03_
void TopDiLeptonDQM::beginJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 114 of file TopDiLeptonDQM.cc.

References dbe_, i, fff_deleter::log, pileupCalc::nbins, and funct::pow().

114  {
115 
116  dbe_->setCurrentFolder(moduleName_);
117 
118  Events_ = dbe_->book1D("00_Events", "Isolated dilepton events", 5, 0., 5.);
119  Events_->setBinLabel(2, "#mu #mu", 1);
120  Events_->setBinLabel(3, "#mu e", 1);
121  Events_->setBinLabel(4, "e e", 1);
122 
123  Trigs_ =
124  dbe_->book1D("01_Trigs", "Fired muon/electron triggers", 15, 0., 15.);
125  TriggerEff_ =
126  dbe_->book1D("02_TriggerEff", "HL Trigger Efficiencies", 10, 0., 10.);
128  "HL Trigger Efficiencies #epsilon_{signal} = #frac{[signal] && "
129  "[control]}{[control]}");
130  Ntracks_ = dbe_->book1D("Ntracks", "Number of tracks", 50, 0., 50.);
131 
132  Nmuons_ = dbe_->book1D("03_Nmuons", "Number of muons", 20, 0., 10.);
133  Nmuons_iso_ =
134  dbe_->book1D("04_Nmuons_iso", "Number of isolated muons", 20, 0., 10.);
135  Nmuons_charge_ = dbe_->book1D("Nmuons_charge",
136  "Number of muons * moun charge", 19, -10., 10.);
137  VxVy_muons_ = dbe_->book2D("VxVy_muons", "Vertex x-y-positon (global)", 40,
138  -1., 1., 40, -1., 1.);
139  Vz_muons_ =
140  dbe_->book1D("Vz_muons", "Vertex z-positon (global)", 40, -20., 20.);
141  pT_muons_ = dbe_->book1D("pT_muons", "P_T of muons", 40, 0., 200.);
142  eta_muons_ = dbe_->book1D("eta_muons", "Eta of muons", 50, -5., 5.);
143  phi_muons_ = dbe_->book1D("phi_muons", "Phi of muons", 40, -4., 4.);
144 
145  Nelecs_ = dbe_->book1D("05_Nelecs", "Number of electrons", 20, 0., 10.);
146  Nelecs_iso_ = dbe_->book1D("06_Nelecs_iso", "Number of isolated electrons",
147  20, 0., 10.);
148  Nelecs_charge_ = dbe_->book1D("Nelecs_charge",
149  "Number of elecs * elec charge", 19, -10., 10.);
150  HoverE_elecs_ =
151  dbe_->book1D("HoverE_elecs", "Hadronic over Ecal energy", 50, 0., 1.);
152  pT_elecs_ = dbe_->book1D("pT_elecs", "P_T of electrons", 40, 0., 200.);
153  eta_elecs_ = dbe_->book1D("eta_elecs", "Eta of electrons", 50, -5., 5.);
154  phi_elecs_ = dbe_->book1D("phi_elecs", "Phi of electrons", 40, -4., 4.);
155 
156  MuIso_emEt03_ = dbe_->book1D("MuIso_emEt03", "Muon emEt03", 20, 0., 20.);
157  MuIso_hadEt03_ = dbe_->book1D("MuIso_hadEt03", "Muon hadEt03", 20, 0., 20.);
158  MuIso_hoEt03_ = dbe_->book1D("MuIso_hoEt03", "Muon hoEt03", 20, 0., 20.);
159  MuIso_nJets03_ = dbe_->book1D("MuIso_nJets03", "Muon nJets03", 10, 0., 10.);
161  dbe_->book1D("MuIso_nTracks03", "Muon nTracks03", 20, 0., 20.);
162  MuIso_sumPt03_ = dbe_->book1D("MuIso_sumPt03", "Muon sumPt03", 20, 0., 40.);
164  dbe_->book1D("07_MuIso_CombRelIso03", "Muon CombRelIso03", 20, 0., 1.);
165 
166  ElecIso_cal_ = dbe_->book1D("ElecIso_cal", "Electron Iso_cal", 21, -1., 20.);
167  ElecIso_trk_ = dbe_->book1D("ElecIso_trk", "Electron Iso_trk", 21, -2., 40.);
169  dbe_->book1D("08_ElecIso_CombRelIso", "Electron CombRelIso", 20, 0., 1.);
170 
171  const int nbins = 200;
172 
173  double logmin = 0.;
174  double logmax = 3.; // 10^(3.)=1000
175 
176  float bins[nbins + 1];
177 
178  for (int i = 0; i <= nbins; i++) {
179 
180  double log = logmin + (logmax - logmin) * i / nbins;
181  bins[i] = std::pow(10.0, log);
182  }
183 
184  dimassRC_ = dbe_->book1D("09_dimassRC", "Dilepton mass RC", 50, 0., 200.);
185  dimassWC_ = dbe_->book1D("11_dimassWC", "Dilepton mass WC", 50, 0., 200.);
187  dbe_->book1D("10_dimassRC_LOGX", "Dilepton mass RC LOG", nbins, &bins[0]);
189  dbe_->book1D("12_dimassWC_LOGX", "Dilepton mass WC LOG", nbins, &bins[0]);
191  dbe_->book1D("dimassRC_LOG10", "Dilepton mass RC LOG", 50, 0., 2.5);
193  dbe_->book1D("dimassWC_LOG10", "Dilepton mass WC LOG", 50, 0., 2.5);
194 
195  D_eta_muons_ =
196  dbe_->book1D("13_D_eta_muons", "#Delta eta_muons", 20, -5., 5.);
197  D_phi_muons_ =
198  dbe_->book1D("14_D_phi_muons", "#Delta phi_muons", 20, -5., 5.);
199  D_eta_elecs_ = dbe_->book1D("D_eta_elecs", "#Delta eta_elecs", 20, -5., 5.);
200  D_phi_elecs_ = dbe_->book1D("D_phi_elecs", "#Delta phi_elecs", 20, -5., 5.);
201  D_eta_lepts_ = dbe_->book1D("D_eta_lepts", "#Delta eta_lepts", 20, -5., 5.);
202  D_phi_lepts_ = dbe_->book1D("D_phi_lepts", "#Delta phi_lepts", 20, -5., 5.);
203 }
MonitorElement * Nelecs_charge_
int i
Definition: DBlmapReader.cc:9
MonitorElement * dimassRC_
MonitorElement * D_phi_muons_
MonitorElement * D_phi_lepts_
MonitorElement * dimassWC_LOG10_
MonitorElement * HoverE_elecs_
MonitorElement * D_eta_muons_
MonitorElement * D_phi_elecs_
MonitorElement * phi_elecs_
MonitorElement * Nmuons_charge_
MonitorElement * MuIso_sumPt03_
MonitorElement * eta_muons_
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
MonitorElement * ElecIso_cal_
DQMStore * dbe_
MonitorElement * MuIso_nTracks03_
MonitorElement * eta_elecs_
MonitorElement * dimassRC_LOGX_
MonitorElement * D_eta_elecs_
MonitorElement * TriggerEff_
MonitorElement * MuIso_hoEt03_
MonitorElement * Ntracks_
MonitorElement * Nmuons_
MonitorElement * phi_muons_
MonitorElement * D_eta_lepts_
MonitorElement * Nmuons_iso_
MonitorElement * VxVy_muons_
MonitorElement * ElecIso_trk_
void setTitle(const std::string &title)
set (ie. change) histogram/profile title
MonitorElement * pT_elecs_
MonitorElement * Vz_muons_
MonitorElement * ElecIso_CombRelIso_
MonitorElement * Events_
MonitorElement * dimassWC_
MonitorElement * dimassWC_LOGX_
std::string moduleName_
MonitorElement * MuIso_nJets03_
MonitorElement * Trigs_
MonitorElement * dimassRC_LOG10_
MonitorElement * MuIso_emEt03_
MonitorElement * pT_muons_
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
MonitorElement * Nelecs_iso_
MonitorElement * Nelecs_
MonitorElement * MuIso_hadEt03_
MonitorElement * MuIso_CombRelIso03_
void TopDiLeptonDQM::beginRun ( const edm::Run r,
const edm::EventSetup context 
)
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 205 of file TopDiLeptonDQM.cc.

206  {}
void TopDiLeptonDQM::endJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 778 of file TopDiLeptonDQM.cc.

References getDQMSummary::outfile.

778  {
779 
780  if (fileOutput_) outfile.close();
781 }
std::ofstream outfile
void TopDiLeptonDQM::endRun ( const edm::Run r,
const edm::EventSetup context 
)
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 775 of file TopDiLeptonDQM.cc.

775  {
776 }
void TopDiLeptonDQM::initialize ( )
private

Definition at line 112 of file TopDiLeptonDQM.cc.

112 {}

Member Data Documentation

MonitorElement* TopDiLeptonDQM::D_eta_elecs_
private

Definition at line 136 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::D_eta_lepts_
private

Definition at line 138 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::D_eta_muons_
private

Definition at line 134 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::D_phi_elecs_
private

Definition at line 137 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::D_phi_lepts_
private

Definition at line 139 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::D_phi_muons_
private

Definition at line 135 of file TopDiLeptonDQM.h.

DQMStore* TopDiLeptonDQM::dbe_
private

Definition at line 54 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::dimassRC_
private

Definition at line 127 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::dimassRC_LOG10_
private

Definition at line 131 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::dimassRC_LOGX_
private

Definition at line 129 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::dimassWC_
private

Definition at line 128 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::dimassWC_LOG10_
private

Definition at line 132 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::dimassWC_LOGX_
private

Definition at line 130 of file TopDiLeptonDQM.h.

float TopDiLeptonDQM::Eff[100]
private

Definition at line 68 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::elec_emf_cut_
private

Definition at line 88 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::elec_eta_cut_
private

Definition at line 86 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::elec_iso_cut_
private

Definition at line 87 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::elec_pT_cut_
private

Definition at line 85 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::ElecIso_cal_
private

Definition at line 123 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::ElecIso_CombRelIso_
private

Definition at line 125 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::ElecIso_trk_
private

Definition at line 124 of file TopDiLeptonDQM.h.

edm::EDGetTokenT<reco::GsfElectronCollection> TopDiLeptonDQM::elecs_
private

Definition at line 84 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::eta_elecs_
private

Definition at line 112 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::eta_muons_
private

Definition at line 104 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::Events_
private

Definition at line 93 of file TopDiLeptonDQM.h.

bool TopDiLeptonDQM::fileOutput_
private

Definition at line 55 of file TopDiLeptonDQM.h.

std::vector<std::string> TopDiLeptonDQM::hltPaths_
private

Definition at line 60 of file TopDiLeptonDQM.h.

std::vector<std::string> TopDiLeptonDQM::hltPaths_sig_
private

Definition at line 61 of file TopDiLeptonDQM.h.

std::vector<std::string> TopDiLeptonDQM::hltPaths_trig_
private

Definition at line 62 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::HoverE_elecs_
private

Definition at line 110 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::MassWindow_down_
private

Definition at line 91 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::MassWindow_up_
private

Definition at line 90 of file TopDiLeptonDQM.h.

std::string TopDiLeptonDQM::moduleName_
private

Definition at line 57 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::MuIso_CombRelIso03_
private

Definition at line 121 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::MuIso_emEt03_
private

Definition at line 115 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::MuIso_hadEt03_
private

Definition at line 116 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::MuIso_hoEt03_
private

Definition at line 117 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::MuIso_nJets03_
private

Definition at line 118 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::MuIso_nTracks03_
private

Definition at line 119 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::MuIso_sumPt03_
private

Definition at line 120 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::muon_eta_cut_
private

Definition at line 81 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::muon_iso_cut_
private

Definition at line 82 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::muon_pT_cut_
private

Definition at line 80 of file TopDiLeptonDQM.h.

edm::EDGetTokenT<reco::MuonCollection> TopDiLeptonDQM::muons_
private

Definition at line 79 of file TopDiLeptonDQM.h.

int TopDiLeptonDQM::N_elel
private

Definition at line 72 of file TopDiLeptonDQM.h.

int TopDiLeptonDQM::N_muel
private

Definition at line 71 of file TopDiLeptonDQM.h.

int TopDiLeptonDQM::N_mumu
private

Definition at line 70 of file TopDiLeptonDQM.h.

int TopDiLeptonDQM::N_sig[100]
private

Definition at line 66 of file TopDiLeptonDQM.h.

int TopDiLeptonDQM::N_trig[100]
private

Definition at line 67 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::Nelecs_
private

Definition at line 107 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::Nelecs_charge_
private

Definition at line 109 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::Nelecs_iso_
private

Definition at line 108 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::Nmuons_
private

Definition at line 98 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::Nmuons_charge_
private

Definition at line 100 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::Nmuons_iso_
private

Definition at line 99 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::Ntracks_
private

Definition at line 96 of file TopDiLeptonDQM.h.

std::ofstream TopDiLeptonDQM::outfile
private

Definition at line 64 of file TopDiLeptonDQM.h.

std::string TopDiLeptonDQM::outputFile_
private

Definition at line 58 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::phi_elecs_
private

Definition at line 113 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::phi_muons_
private

Definition at line 105 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::pT_elecs_
private

Definition at line 111 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::pT_muons_
private

Definition at line 103 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::TriggerEff_
private

Definition at line 95 of file TopDiLeptonDQM.h.

edm::EDGetTokenT<edm::TriggerResults> TopDiLeptonDQM::triggerResults_
private

Definition at line 59 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::Trigs_
private

Definition at line 94 of file TopDiLeptonDQM.h.

edm::EDGetTokenT<reco::VertexCollection> TopDiLeptonDQM::vertex_
private

Definition at line 74 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::vertex_X_cut_
private

Definition at line 75 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::vertex_Y_cut_
private

Definition at line 76 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::vertex_Z_cut_
private

Definition at line 77 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::VxVy_muons_
private

Definition at line 101 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::Vz_muons_
private

Definition at line 102 of file TopDiLeptonDQM.h.