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

Public Member Functions

 TopDiLeptonDQM (const edm::ParameterSet &)
 
 ~TopDiLeptonDQM ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

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::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

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::InputTag 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::InputTag 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::InputTag triggerResults_
 
MonitorElementTrigs_
 
edm::InputTag 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
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 

Detailed Description

Definition at line 39 of file TopDiLeptonDQM.h.

Constructor & Destructor Documentation

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

Definition at line 15 of file TopDiLeptonDQM.cc.

References convertXMLtoSQLite_cfg::fileName, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), i, and EdgesToViz::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_ = ps.getParameter<edm::InputTag>("TriggerResults");
23  hltPaths_ = ps.getParameter<vector<string> >("hltPaths");
24  hltPaths_sig_ = ps.getParameter<vector<string> >("hltPaths_sig");
25  hltPaths_trig_ = ps.getParameter<vector<string> >("hltPaths_trig");
26 
27  vertex_ = ps.getParameter<edm::InputTag>("vertexCollection");
28  vertex_X_cut_ = ps.getParameter<double>("vertex_X_cut");
29  vertex_Y_cut_ = ps.getParameter<double>("vertex_Y_cut");
30  vertex_Z_cut_ = ps.getParameter<double>("vertex_Z_cut");
31 
32  muons_ = ps.getParameter<edm::InputTag>("muonCollection");
33  muon_pT_cut_ = ps.getParameter<double>("muon_pT_cut");
34  muon_eta_cut_ = ps.getParameter<double>("muon_eta_cut");
35  muon_iso_cut_ = ps.getParameter<double>("muon_iso_cut");
36 
37  elecs_ = ps.getParameter<edm::InputTag>("elecCollection");
38  elec_pT_cut_ = ps.getParameter<double>("elec_pT_cut");
39  elec_eta_cut_ = ps.getParameter<double>("elec_eta_cut");
40  elec_iso_cut_ = ps.getParameter<double>("elec_iso_cut");
41  elec_emf_cut_ = ps.getParameter<double>("elec_emf_cut");
42 
43  MassWindow_up_ = ps.getParameter<double>("MassWindow_up");
44  MassWindow_down_ = ps.getParameter<double>("MassWindow_down");
45 
46  for(int i=0; i<100; ++i) {
47  N_sig[i] = 0;
48  N_trig[i] = 0;
49  Eff[i] = 0.;
50  }
51 
52  N_mumu = 0;
53  N_muel = 0;
54  N_elel = 0;
55 
56 
57  if( fileOutput_ ) {
58  const char *fileName = outputFile_.c_str();
59  outfile.open (fileName);
60  }
61 
62 }
double muon_iso_cut_
T getParameter(std::string const &) const
double vertex_Y_cut_
T getUntrackedParameter(std::string const &, T const &) const
int i
Definition: DBlmapReader.cc:9
std::string outputFile_
double vertex_Z_cut_
std::vector< std::string > hltPaths_trig_
edm::InputTag elecs_
double muon_eta_cut_
double MassWindow_up_
double elec_emf_cut_
std::ofstream outfile
float Eff[100]
double MassWindow_down_
edm::InputTag muons_
double elec_eta_cut_
std::vector< std::string > hltPaths_
double elec_iso_cut_
std::string moduleName_
edm::InputTag triggerResults_
edm::InputTag vertex_
std::vector< std::string > hltPaths_sig_
double vertex_X_cut_
TopDiLeptonDQM::~TopDiLeptonDQM ( )

Definition at line 65 of file TopDiLeptonDQM.cc.

65  {
66 
67 }

Member Function Documentation

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

Implements edm::EDAnalyzer.

Definition at line 156 of file TopDiLeptonDQM.cc.

References abs, reco::GsfElectron::IsolationVariables::ecalRecHitSumEt, reco::MuonIsolation::emEt, event(), edm::HandleBase::failedToGet(), edm::Event::getByLabel(), reco::MuonIsolation::hadEt, reco::GsfElectron::IsolationVariables::hcalDepth1TowerSumEt, reco::MuonIsolation::hoEt, i, edm::EventBase::id(), reco::Vertex::isFake(), j, gen::k, edm::EventBase::luminosityBlock(), metsig::muon, patZpeak::muons, reco::MuonIsolation::nJets, reco::MuonIsolation::nTracks, EdgesToViz::outfile, 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().

156  {
157 
158  // ------------------------
159  // Global Event Variables
160  // ------------------------
161 
162  const int N_TriggerPaths = hltPaths_.size();
163  const int N_SignalPaths = hltPaths_sig_.size();
164  const int N_ControlPaths = hltPaths_trig_.size();
165 
166  bool Fired_Signal_Trigger[100] = {false};
167  bool Fired_Control_Trigger[100] = {false};
168 
169  int N_run = (evt.id()).run();
170  int N_event = (evt.id()).event();
171  int N_lumi = evt.luminosityBlock();
172 
173  int N_leptons = 0;
174  int N_iso_mu = 0;
175  int N_iso_el = 0;
176  int N_iso_lep = 0;
177 
178  double DilepMass = 0.;
179 
180  double vertex_X = 100.;
181  double vertex_Y = 100.;
182  double vertex_Z = 100.;
183 
184  // ------------------------
185  // Analyze Primary Vertex
186  // ------------------------
187 
189  evt.getByLabel(vertex_, vertexs);
190 
191  if( vertexs.failedToGet() ) {
192 
193  // cout << endl << "----------------------------" << endl;
194  // cout << "--- NO PRIMARY VERTEX !! ---" << endl;
195  // cout << "----------------------------" << endl << endl;
196 
197  }
198 
199  if( !vertexs.failedToGet() ) {
200 
201  reco::Vertex primaryVertex = vertexs->front();
202 
203  int numberTracks = primaryVertex.tracksSize();
204  // double ndof = primaryVertex.ndof();
205  bool fake = primaryVertex.isFake();
206 
207  Ntracks_->Fill(numberTracks);
208 
209  if( !fake && numberTracks > 3 ) {
210 
211  vertex_X = primaryVertex.x();
212  vertex_Y = primaryVertex.y();
213  vertex_Z = primaryVertex.z();
214 
215  }
216 
217  }
218 
219  // -------------------------
220  // Analyze Trigger Results
221  // -------------------------
222 
223  edm::Handle<TriggerResults> trigResults;
224  evt.getByLabel(triggerResults_, trigResults);
225 
226  if( trigResults.failedToGet() ) {
227 
228  // cout << endl << "-----------------------------" << endl;
229  // cout << "--- NO TRIGGER RESULTS !! ---" << endl;
230  // cout << "-----------------------------" << endl << endl;
231 
232  }
233 
234  if( !trigResults.failedToGet() ) {
235 
236  int N_Triggers = trigResults->size();
237 
238  const edm::TriggerNames & trigName = evt.triggerNames(*trigResults);
239 
240  for( int i_Trig = 0; i_Trig < N_Triggers; ++i_Trig ) {
241 
242  if (trigResults.product()->accept(i_Trig)) {
243 
244  // Check for all trigger paths
245 
246  for( int i = 0; i < N_TriggerPaths; i++ ) {
247 
248  if ( trigName.triggerName(i_Trig)== hltPaths_[i] ) {
249 
250  Trigs_->Fill(i);
251  Trigs_->setBinLabel( i+1, hltPaths_[i], 1);
252 
253  }
254 
255  }
256 
257  // Check for signal & control trigger paths
258 
259  for( int j = 0; j < N_SignalPaths; ++j ) {
260 
261  if( trigName.triggerName(i_Trig) == hltPaths_sig_[j] ) Fired_Signal_Trigger[j] = true;
262 
263  }
264 
265  for( int k = 0; k < N_ControlPaths; ++k ) {
266 
267  if( trigName.triggerName(i_Trig) == hltPaths_trig_[k] ) Fired_Control_Trigger[k] = true;
268 
269  }
270 
271  }
272 
273  }
274 
275  }
276 
277  // ------------------------
278  // Analyze Muon Isolation
279  // ------------------------
280 
282  evt.getByLabel(muons_, muons);
283 
284  reco::MuonCollection::const_iterator muon;
285 
286  if( muons.failedToGet() ) {
287 
288  // cout << endl << "------------------------" << endl;
289  // cout << "--- NO RECO MUONS !! ---" << endl;
290  // cout << "------------------------" << endl << endl;
291 
292  }
293 
294  if( !muons.failedToGet() ) {
295 
296  Nmuons_->Fill( muons->size() );
297 
298  N_leptons = N_leptons + muons->size();
299 
300  for(muon = muons->begin(); muon!= muons->end(); ++muon) {
301 
302  float N_muons = muons->size();
303  float Q_muon = muon->charge();
304 
305  Nmuons_charge_->Fill(N_muons*Q_muon);
306 
307  double track_X = 100.;
308  double track_Y = 100.;
309  double track_Z = 100.;
310 
311  if( muon->isGlobalMuon() ) {
312 
313  reco::TrackRef track = muon->globalTrack();
314 
315  track_X = track->vx();
316  track_Y = track->vy();
317  track_Z = track->vz();
318 
319  VxVy_muons_->Fill(track_X, track_Y);
320  Vz_muons_->Fill(track_Z);
321 
322  }
323 
324  // Vertex and kinematic cuts
325 
326  if( track_X > vertex_X_cut_ ) continue;
327  if( track_Y > vertex_Y_cut_ ) continue;
328  if( track_Z > vertex_Z_cut_ ) continue;
329  if( muon->pt() < muon_pT_cut_ ) continue;
330  if( abs(muon->eta()) > muon_eta_cut_ ) continue;
331 
332  reco::MuonIsolation muIso03 = muon->isolationR03();
333 
334  double muonCombRelIso = 1.;
335 
336  if ( muon->pt() != 0. )
337  muonCombRelIso = ( muIso03.emEt + muIso03.hadEt + muIso03.hoEt + muIso03.sumPt ) / muon->pt();
338 
339  MuIso_CombRelIso03_->Fill( muonCombRelIso );
340 
341  MuIso_emEt03_->Fill( muIso03.emEt );
342  MuIso_hadEt03_->Fill( muIso03.hadEt );
343  MuIso_hoEt03_->Fill( muIso03.hoEt );
344  MuIso_nJets03_->Fill( muIso03.nJets );
345  MuIso_nTracks03_->Fill( muIso03.nTracks );
346  MuIso_sumPt03_->Fill( muIso03.sumPt );
347 
348  if( muonCombRelIso < muon_iso_cut_ ) ++N_iso_mu;
349 
350  }
351 
352  Nmuons_iso_->Fill(N_iso_mu);
353 
354  }
355 
356  // ----------------------------
357  // Analyze Electron Isolation
358  // ----------------------------
359 
361  evt.getByLabel(elecs_, elecs);
362 
363  reco::GsfElectronCollection::const_iterator elec;
364 
365  if( elecs.failedToGet() ) {
366 
367  // cout << endl << "----------------------------" << endl;
368  // cout << "--- NO RECO ELECTRONS !! ---" << endl;
369  // cout << "----------------------------" << endl << endl;
370 
371  }
372 
373  if( !elecs.failedToGet() ) {
374 
375  Nelecs_->Fill( elecs->size() );
376 
377  N_leptons = N_leptons + elecs->size();
378 
379  for(elec = elecs->begin(); elec!= elecs->end(); ++elec) {
380 
381  float N_elecs = elecs->size();
382  float Q_elec = elec->charge();
383  float HoverE = elec->hcalOverEcal();
384 
385  HoverE_elecs_->Fill( HoverE );
386 
387  Nelecs_charge_->Fill(N_elecs*Q_elec);
388 
389  double track_X = 100.;
390  double track_Y = 100.;
391  double track_Z = 100.;
392 
393  reco::GsfTrackRef track = elec->gsfTrack();
394 
395  track_X = track->vx();
396  track_Y = track->vy();
397  track_Z = track->vz();
398 
399  // Vertex and kinematic cuts
400 
401  if( track_X > vertex_X_cut_ ) continue;
402  if( track_Y > vertex_Y_cut_ ) continue;
403  if( track_Z > vertex_Z_cut_ ) continue;
404  if( elec->pt() < elec_pT_cut_ ) continue;
405  if( abs(elec->eta()) > elec_eta_cut_ ) continue;
406  if( HoverE > elec_emf_cut_ ) continue;
407 
408  reco::GsfElectron::IsolationVariables elecIso = elec->dr03IsolationVariables();
409 
410  double elecCombRelIso = 1.;
411 
412  if ( elec->et() != 0. )
413  elecCombRelIso = ( elecIso.ecalRecHitSumEt + elecIso.hcalDepth1TowerSumEt + elecIso.tkSumPt ) / elec->et();
414 
415  ElecIso_CombRelIso_->Fill( elecCombRelIso );
416 
417  ElecIso_cal_->Fill( elecIso.ecalRecHitSumEt );
418  ElecIso_trk_->Fill( elecIso.tkSumPt );
419 
420  if( elecCombRelIso < elec_iso_cut_ ) ++N_iso_el;
421 
422  }
423 
424  Nelecs_iso_->Fill(N_iso_el);
425 
426  }
427 
428  N_iso_lep = N_iso_el + N_iso_mu;
429 
430  // --------------------
431  // TWO Isolated MUONS
432  // --------------------
433 
434  // if( N_iso_mu > 1 && Fired_Control_Trigger[0] ) {
435  if( N_iso_mu > 1 ) {
436 
437  // Vertex cut
438 
439  if( vertex_X < vertex_X_cut_ && vertex_Y < vertex_Y_cut_ && vertex_Z < vertex_Z_cut_ ) {
440 
441  ++N_mumu;
442 
443  Events_->Fill(1.);
444 
445  reco::MuonCollection::const_reference mu1 = muons->at(0);
446  reco::MuonCollection::const_reference mu2 = muons->at(1);
447 
448  DilepMass = sqrt( (mu1.energy()+mu2.energy())*(mu1.energy()+mu2.energy())
449  - (mu1.px()+mu2.px())*(mu1.px()+mu2.px())
450  - (mu1.py()+mu2.py())*(mu1.py()+mu2.py())
451  - (mu1.pz()+mu2.pz())*(mu1.pz()+mu2.pz())
452  );
453 
454  // Opposite muon charges -> Right Charge (RC)
455 
456  if( mu1.charge()*mu2.charge() < 0. ) {
457 
458  dimassRC_LOG10_->Fill( log10(DilepMass) );
459  dimassRC_->Fill( DilepMass );
460  dimassRC_LOGX_->Fill( DilepMass );
461 
462  if( DilepMass > MassWindow_down_ && DilepMass < MassWindow_up_ ) {
463 
464  for(muon = muons->begin(); muon!= muons->end(); ++muon) {
465 
466  pT_muons_->Fill( muon->pt() );
467  eta_muons_->Fill( muon->eta() );
468  phi_muons_->Fill( muon->phi() );
469 
470  }
471 
472  D_eta_muons_->Fill(mu1.eta()-mu2.eta());
473  D_phi_muons_->Fill(mu1.phi()-mu2.phi());
474 
475  if(fileOutput_) {
476 
477  if( mu1.isGlobalMuon() && mu2.isGlobalMuon() ) {
478 
479  outfile << "--------------------" << "\n";
480  outfile << " Run : " << N_run << "\n";
481  outfile << " Event : " << N_event << "\n";
482  outfile << "LumiBlock : " << N_lumi << "\n";
483  outfile << " Type : mu mu" << "\n";
484  outfile << "--------------------" << "\n";
485  outfile << "DilepMass : " << DilepMass << "\n";
486  outfile << "Mu1 Pt : " << mu1.pt() << "\n";
487  outfile << "Mu1 Eta : " << mu1.eta() << "\n";
488  outfile << "Mu1 Phi : " << mu1.phi() << "\n";
489  outfile << "Mu2 Pt : " << mu2.pt() << "\n";
490  outfile << "Mu2 Eta : " << mu2.eta() << "\n";
491  outfile << "Mu2 Phi : " << mu2.phi() << "\n";
492  outfile << "--------------------" << "\n";
493 
494  }
495 
496  }
497 
498  // Determinating trigger efficiencies
499 
500  for( int k = 0; k < N_SignalPaths; ++k ) {
501 
502  if( Fired_Signal_Trigger[k] && Fired_Control_Trigger[k] ) ++N_sig[k];
503 
504  if( Fired_Control_Trigger[k] ) ++N_trig[k];
505 
506  if( N_trig[k] != 0 ) Eff[k] = N_sig[k]/static_cast<float>(N_trig[k]);
507 
508  TriggerEff_->setBinContent( k+1, Eff[k] );
509  TriggerEff_->setBinLabel( k+1, "#frac{["+hltPaths_sig_[k]+"]}{vs. ["+hltPaths_trig_[k]+"]}", 1);
510 
511  }
512 
513  }
514 
515  }
516 
517  // Same muon charges -> Wrong Charge (WC)
518 
519  if( mu1.charge()*mu2.charge() > 0. ) {
520 
521  dimassWC_LOG10_->Fill( log10(DilepMass) );
522  dimassWC_->Fill( DilepMass );
523  dimassWC_LOGX_->Fill( DilepMass );
524 
525  if(fileOutput_) {
526 
527  if( mu1.isGlobalMuon() && mu2.isGlobalMuon() ) {
528 
529  outfile << "---------------------" << "\n";
530  outfile << " Run : " << N_run << "\n";
531  outfile << " Event : " << N_event << "\n";
532  outfile << "LumiBlock : " << N_lumi << "\n";
533  outfile << " Type : WC mu mu" << "\n";
534  outfile << "---------------------" << "\n";
535  outfile << "DilepMass : " << DilepMass << "\n";
536  outfile << "Mu1 Pt : " << mu1.pt() << "\n";
537  outfile << "Mu1 Eta : " << mu1.eta() << "\n";
538  outfile << "Mu1 Phi : " << mu1.phi() << "\n";
539  outfile << "Mu2 Pt : " << mu2.pt() << "\n";
540  outfile << "Mu2 Eta : " << mu2.eta() << "\n";
541  outfile << "Mu2 Phi : " << mu2.phi() << "\n";
542  outfile << "---------------------" << "\n";
543 
544  }
545 
546  }
547 
548  }
549 
550  }
551 
552  }
553 
554  // -----------------------------
555  // TWO Isolated LEPTONS (mu/e)
556  // -----------------------------
557 
558  // if( N_iso_el > 0 && N_iso_mu > 0 && Fired_Control_Trigger[0] ) {
559  if( N_iso_el > 0 && N_iso_mu > 0 ) {
560 
561  // Vertex cut
562 
563  if( vertex_X < vertex_X_cut_ && vertex_Y < vertex_Y_cut_ && vertex_Z < vertex_Z_cut_ ) {
564 
565  ++N_muel;
566 
567  Events_->Fill(2.);
568 
569  reco::MuonCollection::const_reference mu1 = muons->at(0);
570  reco::GsfElectronCollection::const_reference el1 = elecs->at(0);
571 
572  DilepMass = sqrt( (mu1.energy()+el1.energy())*(mu1.energy()+el1.energy())
573  - (mu1.px()+el1.px())*(mu1.px()+el1.px())
574  - (mu1.py()+el1.py())*(mu1.py()+el1.py())
575  - (mu1.pz()+el1.pz())*(mu1.pz()+el1.pz())
576  );
577 
578  // Opposite lepton charges -> Right Charge (RC)
579 
580  if( mu1.charge()*el1.charge() < 0. ) {
581 
582  dimassRC_LOG10_->Fill( log10(DilepMass) );
583  dimassRC_->Fill( DilepMass );
584  dimassRC_LOGX_->Fill( DilepMass );
585 
586  if( DilepMass > MassWindow_down_ && DilepMass < MassWindow_up_ ) {
587 
588  for(muon = muons->begin(); muon!= muons->end(); ++muon) {
589 
590  pT_muons_->Fill( muon->pt() );
591  eta_muons_->Fill( muon->eta() );
592  phi_muons_->Fill( muon->phi() );
593 
594  }
595 
596  for(elec = elecs->begin(); elec!= elecs->end(); ++elec) {
597 
598  pT_elecs_->Fill( elec->pt() );
599  eta_elecs_->Fill( elec->eta() );
600  phi_elecs_->Fill( elec->phi() );
601 
602  }
603 
604  D_eta_lepts_->Fill(mu1.eta()-el1.eta());
605  D_phi_lepts_->Fill(mu1.phi()-el1.phi());
606 
607  if(fileOutput_) {
608 
609  if( mu1.isGlobalMuon() && el1.isElectron() ) {
610 
611  outfile << "--------------------" << "\n";
612  outfile << " Run : " << N_run << "\n";
613  outfile << " Event : " << N_event << "\n";
614  outfile << "LumiBlock : " << N_lumi << "\n";
615  outfile << " Type : mu el" << "\n";
616  outfile << "--------------------" << "\n";
617  outfile << "DilepMass : " << DilepMass << "\n";
618  outfile << "Mu1 Pt : " << mu1.pt() << "\n";
619  outfile << "Mu1 Eta : " << mu1.eta() << "\n";
620  outfile << "Mu1 Phi : " << mu1.phi() << "\n";
621  outfile << "El1 Pt : " << el1.pt() << "\n";
622  outfile << "El1 Eta : " << el1.eta() << "\n";
623  outfile << "El1 Phi : " << el1.phi() << "\n";
624  outfile << "--------------------" << "\n";
625 
626  }
627 
628  }
629 
630  // Determinating trigger efficiencies
631 
632  for( int k = 0; k < N_SignalPaths; ++k ) {
633 
634  if( Fired_Signal_Trigger[k] && Fired_Control_Trigger[k] ) ++N_sig[k];
635 
636  if( Fired_Control_Trigger[k] ) ++N_trig[k];
637 
638  if( N_trig[k] != 0 ) Eff[k] = N_sig[k]/static_cast<float>(N_trig[k]);
639 
640  TriggerEff_->setBinContent( k+1, Eff[k] );
641  TriggerEff_->setBinLabel( k+1, "#frac{["+hltPaths_sig_[k]+"]}{vs. ["+hltPaths_trig_[k]+"]}", 1);
642 
643  }
644 
645  }
646 
647  }
648 
649  // Same muon charges -> Wrong Charge (WC)
650 
651  if( mu1.charge()*el1.charge() > 0. ) {
652 
653  dimassWC_LOG10_->Fill( log10(DilepMass) );
654  dimassWC_->Fill( DilepMass );
655  dimassWC_LOGX_->Fill( DilepMass );
656 
657  }
658 
659  }
660 
661  }
662 
663  // ------------------------
664  // TWO Isolated ELECTRONS
665  // ------------------------
666 
667  // if( N_iso_el > 1 && Fired_Control_Trigger[0] ) {
668  if( N_iso_el > 1 ) {
669 
670  // Vertex cut
671 
672  if( vertex_X < vertex_X_cut_ && vertex_Y < vertex_Y_cut_ && vertex_Z < vertex_Z_cut_ ) {
673 
674  ++N_elel;
675 
676  Events_->Fill(3.);
677 
678  reco::GsfElectronCollection::const_reference el1 = elecs->at(0);
679  reco::GsfElectronCollection::const_reference el2 = elecs->at(1);
680 
681  DilepMass = sqrt( (el1.energy()+el2.energy())*(el1.energy()+el2.energy())
682  - (el1.px()+el2.px())*(el1.px()+el2.px())
683  - (el1.py()+el2.py())*(el1.py()+el2.py())
684  - (el1.pz()+el2.pz())*(el1.pz()+el2.pz())
685  );
686 
687  // Opposite lepton charges -> Right Charge (RC)
688 
689  if( el1.charge()*el2.charge() < 0. ) {
690 
691  dimassRC_LOG10_->Fill( log10(DilepMass) );
692  dimassRC_->Fill( DilepMass );
693  dimassRC_LOGX_->Fill( DilepMass );
694 
695  if( DilepMass > MassWindow_down_ && DilepMass < MassWindow_up_ ) {
696 
697  for(elec = elecs->begin(); elec!= elecs->end(); ++elec) {
698 
699  pT_elecs_->Fill( elec->pt() );
700  eta_elecs_->Fill( elec->eta() );
701  phi_elecs_->Fill( elec->phi() );
702 
703  }
704 
705  D_eta_elecs_->Fill(el1.eta()-el2.eta());
706  D_phi_elecs_->Fill(el1.phi()-el2.phi());
707 
708  if(fileOutput_) {
709 
710  if( el1.isElectron() && el2.isElectron() ) {
711 
712  outfile << "--------------------" << "\n";
713  outfile << " Run : " << N_run << "\n";
714  outfile << " Event : " << N_event << "\n";
715  outfile << "LumiBlock : " << N_lumi << "\n";
716  outfile << " Type : el el" << "\n";
717  outfile << "--------------------" << "\n";
718  outfile << "DilepMass : " << DilepMass << "\n";
719  outfile << "El1 Pt : " << el1.pt() << "\n";
720  outfile << "El1 Eta : " << el1.eta() << "\n";
721  outfile << "El1 Phi : " << el1.phi() << "\n";
722  outfile << "El2 Pt : " << el2.pt() << "\n";
723  outfile << "El2 Eta : " << el2.eta() << "\n";
724  outfile << "El2 Phi : " << el2.phi() << "\n";
725  outfile << "--------------------" << "\n";
726 
727  }
728 
729  }
730 
731  // Determinating trigger efficiencies
732 
733  for( int k = 0; k < N_SignalPaths; ++k ) {
734 
735  if( Fired_Signal_Trigger[k] && Fired_Control_Trigger[k] ) ++N_sig[k];
736 
737  if( Fired_Control_Trigger[k] ) ++N_trig[k];
738 
739  if( N_trig[k] != 0 ) Eff[k] = N_sig[k]/static_cast<float>(N_trig[k]);
740 
741  TriggerEff_->setBinContent( k+1, Eff[k] );
742  TriggerEff_->setBinLabel( k+1, "#frac{["+hltPaths_sig_[k]+"]}{vs. ["+hltPaths_trig_[k]+"]}", 1);
743 
744  }
745 
746  }
747 
748  }
749 
750  // Same muon charges -> Wrong Charge (WC)
751 
752  if( el1.charge()*el2.charge() > 0. ) {
753 
754  dimassWC_LOG10_->Fill( log10(DilepMass) );
755  dimassWC_->Fill( DilepMass );
756  dimassWC_LOGX_->Fill( DilepMass );
757 
758  }
759 
760  }
761 
762  }
763 
764 }
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:208
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_
std::vector< std::string > hltPaths_trig_
double y() const
y coordinate
Definition: Vertex.h:97
MonitorElement * phi_elecs_
MonitorElement * Nmuons_charge_
MonitorElement * MuIso_sumPt03_
MonitorElement * eta_muons_
edm::InputTag elecs_
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)
#define abs(x)
Definition: mlp_lapack.h:159
edm::LuminosityBlockNumber_t luminosityBlock() const
Definition: EventBase.h:59
MonitorElement * ElecIso_cal_
double muon_eta_cut_
MonitorElement * MuIso_nTracks03_
MonitorElement * eta_elecs_
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:28
MonitorElement * phi_muons_
float emEt
ecal sum-Et
Definition: MuonIsolation.h:8
int nJets
number of jets in the cone
Definition: MuonIsolation.h:12
int j
Definition: DBlmapReader.cc:9
double z() const
y coordinate
Definition: Vertex.h:99
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_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:355
int k[5][pyjets_maxn]
edm::InputTag muons_
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:95
bool isFake() const
Definition: Vertex.h:65
MonitorElement * Vz_muons_
std::string const & triggerName(unsigned int index) const
Definition: TriggerNames.cc:27
double elec_eta_cut_
MonitorElement * ElecIso_CombRelIso_
T const * product() const
Definition: Handle.h:74
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::InputTag triggerResults_
MonitorElement * MuIso_nJets03_
edm::InputTag vertex_
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:35
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 75 of file TopDiLeptonDQM.cc.

References DQMStore::book1D(), DQMStore::book2D(), dbe_, i, funct::log(), RecoTauCommonJetSelections_cfi::nbins, cmsCodeRules.cppFunctionSkipper::operator, funct::pow(), MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), and MonitorElement::setTitle().

75  {
76 
78 
80 
81  Events_ = dbe_->book1D("00_Events", "Isolated dilepton events", 5, 0., 5.);
82  Events_->setBinLabel( 2, "#mu #mu", 1);
83  Events_->setBinLabel( 3, "#mu e", 1);
84  Events_->setBinLabel( 4, "e e", 1);
85 
86  Trigs_ = dbe_->book1D("01_Trigs", "Fired muon/electron triggers", 15, 0., 15.);
87  TriggerEff_ = dbe_->book1D("02_TriggerEff", "HL Trigger Efficiencies", 10, 0., 10.);
88  TriggerEff_->setTitle("HL Trigger Efficiencies #epsilon_{signal} = #frac{[signal] && [control]}{[control]}");
89  Ntracks_ = dbe_->book1D("Ntracks", "Number of tracks", 50, 0., 50.);
90 
91  Nmuons_ = dbe_->book1D("03_Nmuons", "Number of muons", 20, 0., 10.);
92  Nmuons_iso_ = dbe_->book1D("04_Nmuons_iso", "Number of isolated muons", 20, 0., 10.);
93  Nmuons_charge_ = dbe_->book1D("Nmuons_charge", "Number of muons * moun charge", 19, -10., 10.);
94  VxVy_muons_ = dbe_->book2D("VxVy_muons", "Vertex x-y-positon (global)", 40, -1., 1., 40 , -1., 1.);
95  Vz_muons_ = dbe_->book1D("Vz_muons", "Vertex z-positon (global)", 40, -20., 20.);
96  pT_muons_ = dbe_->book1D("pT_muons", "P_T of muons", 40, 0., 200.);
97  eta_muons_ = dbe_->book1D("eta_muons", "Eta of muons", 50, -5., 5.);
98  phi_muons_ = dbe_->book1D("phi_muons", "Phi of muons", 40, -4., 4.);
99 
100  Nelecs_ = dbe_->book1D("05_Nelecs", "Number of electrons", 20, 0., 10.);
101  Nelecs_iso_ = dbe_->book1D("06_Nelecs_iso", "Number of isolated electrons", 20, 0., 10.);
102  Nelecs_charge_ = dbe_->book1D("Nelecs_charge", "Number of elecs * elec charge", 19, -10., 10.);
103  HoverE_elecs_ = dbe_->book1D("HoverE_elecs", "Hadronic over Ecal energy", 50, 0., 1.);
104  pT_elecs_ = dbe_->book1D("pT_elecs", "P_T of electrons", 40, 0., 200.);
105  eta_elecs_ = dbe_->book1D("eta_elecs", "Eta of electrons", 50, -5., 5.);
106  phi_elecs_ = dbe_->book1D("phi_elecs", "Phi of electrons", 40, -4., 4.);
107 
108  MuIso_emEt03_ = dbe_->book1D("MuIso_emEt03", "Muon emEt03", 20, 0., 20.);
109  MuIso_hadEt03_ = dbe_->book1D("MuIso_hadEt03", "Muon hadEt03", 20, 0., 20.);
110  MuIso_hoEt03_ = dbe_->book1D("MuIso_hoEt03", "Muon hoEt03", 20, 0., 20.);
111  MuIso_nJets03_ = dbe_->book1D("MuIso_nJets03", "Muon nJets03", 10, 0., 10.);
112  MuIso_nTracks03_ = dbe_->book1D("MuIso_nTracks03", "Muon nTracks03", 20, 0., 20.);
113  MuIso_sumPt03_ = dbe_->book1D("MuIso_sumPt03", "Muon sumPt03", 20, 0., 40.);
114  MuIso_CombRelIso03_ = dbe_->book1D("07_MuIso_CombRelIso03", "Muon CombRelIso03", 20, 0., 1.);
115 
116  ElecIso_cal_ = dbe_->book1D("ElecIso_cal", "Electron Iso_cal", 21, -1., 20.);
117  ElecIso_trk_ = dbe_->book1D("ElecIso_trk", "Electron Iso_trk", 21, -2., 40.);
118  ElecIso_CombRelIso_ = dbe_->book1D("08_ElecIso_CombRelIso", "Electron CombRelIso", 20, 0., 1.);
119 
120  const int nbins = 200;
121 
122  double logmin = 0.;
123  double logmax = 3.; // 10^(3.)=1000
124 
125  float bins[nbins+1];
126 
127  for (int i = 0; i <= nbins; i++) {
128 
129  double log = logmin + (logmax-logmin)*i/nbins;
130  bins[i] = std::pow(10.0, log);
131 
132  }
133 
134  dimassRC_ = dbe_->book1D("09_dimassRC", "Dilepton mass RC", 50, 0., 200.);
135  dimassWC_ = dbe_->book1D("11_dimassWC", "Dilepton mass WC", 50, 0., 200.);
136  dimassRC_LOGX_ = dbe_->book1D("10_dimassRC_LOGX", "Dilepton mass RC LOG", nbins, &bins[0]);
137  dimassWC_LOGX_ = dbe_->book1D("12_dimassWC_LOGX", "Dilepton mass WC LOG", nbins, &bins[0]);
138  dimassRC_LOG10_ = dbe_->book1D("dimassRC_LOG10", "Dilepton mass RC LOG", 50, 0., 2.5);
139  dimassWC_LOG10_ = dbe_->book1D("dimassWC_LOG10", "Dilepton mass WC LOG", 50, 0., 2.5);
140 
141  D_eta_muons_ = dbe_->book1D("13_D_eta_muons", "#Delta eta_muons", 20, -5., 5.);
142  D_phi_muons_ = dbe_->book1D("14_D_phi_muons", "#Delta phi_muons", 20, -5., 5.);
143  D_eta_elecs_ = dbe_->book1D("D_eta_elecs", "#Delta eta_elecs", 20, -5., 5.);
144  D_phi_elecs_ = dbe_->book1D("D_phi_elecs", "#Delta phi_elecs", 20, -5., 5.);
145  D_eta_lepts_ = dbe_->book1D("D_eta_lepts", "#Delta eta_lepts", 20, -5., 5.);
146  D_phi_lepts_ = dbe_->book1D("D_phi_lepts", "#Delta phi_lepts", 20, -5., 5.);
147 
148 }
MonitorElement * Nelecs_charge_
int i
Definition: DBlmapReader.cc:9
MonitorElement * dimassRC_
MonitorElement * D_phi_muons_
MonitorElement * D_phi_lepts_
MonitorElement * dimassWC_LOG10_
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:514
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_
Log< T >::type log(const T &t)
Definition: Log.h:22
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 * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:642
MonitorElement * MuIso_emEt03_
MonitorElement * pT_muons_
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:232
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 151 of file TopDiLeptonDQM.cc.

151  {
152 
153 }
void TopDiLeptonDQM::endJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 771 of file TopDiLeptonDQM.cc.

References EdgesToViz::outfile.

771  {
772 
773  if(fileOutput_) outfile.close();
774 
775 }
std::ofstream outfile
void TopDiLeptonDQM::endRun ( const edm::Run r,
const edm::EventSetup context 
)
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 767 of file TopDiLeptonDQM.cc.

767  {
768 
769 }
void TopDiLeptonDQM::initialize ( )
private

Definition at line 70 of file TopDiLeptonDQM.cc.

70  {
71 
72 }

Member Data Documentation

MonitorElement* TopDiLeptonDQM::D_eta_elecs_
private

Definition at line 140 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::D_eta_lepts_
private

Definition at line 142 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::D_eta_muons_
private

Definition at line 138 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::D_phi_elecs_
private

Definition at line 141 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::D_phi_lepts_
private

Definition at line 143 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::D_phi_muons_
private

Definition at line 139 of file TopDiLeptonDQM.h.

DQMStore* TopDiLeptonDQM::dbe_
private

Definition at line 58 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::dimassRC_
private

Definition at line 131 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::dimassRC_LOG10_
private

Definition at line 135 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::dimassRC_LOGX_
private

Definition at line 133 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::dimassWC_
private

Definition at line 132 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::dimassWC_LOG10_
private

Definition at line 136 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::dimassWC_LOGX_
private

Definition at line 134 of file TopDiLeptonDQM.h.

float TopDiLeptonDQM::Eff[100]
private

Definition at line 72 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::elec_emf_cut_
private

Definition at line 92 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::elec_eta_cut_
private

Definition at line 90 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::elec_iso_cut_
private

Definition at line 91 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::elec_pT_cut_
private

Definition at line 89 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::ElecIso_cal_
private

Definition at line 127 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::ElecIso_CombRelIso_
private

Definition at line 129 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::ElecIso_trk_
private

Definition at line 128 of file TopDiLeptonDQM.h.

edm::InputTag TopDiLeptonDQM::elecs_
private

Definition at line 88 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::eta_elecs_
private

Definition at line 116 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::eta_muons_
private

Definition at line 108 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::Events_
private

Definition at line 97 of file TopDiLeptonDQM.h.

bool TopDiLeptonDQM::fileOutput_
private

Definition at line 59 of file TopDiLeptonDQM.h.

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

Definition at line 64 of file TopDiLeptonDQM.h.

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

Definition at line 65 of file TopDiLeptonDQM.h.

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

Definition at line 66 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::HoverE_elecs_
private

Definition at line 114 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::MassWindow_down_
private

Definition at line 95 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::MassWindow_up_
private

Definition at line 94 of file TopDiLeptonDQM.h.

std::string TopDiLeptonDQM::moduleName_
private

Definition at line 61 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::MuIso_CombRelIso03_
private

Definition at line 125 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::MuIso_emEt03_
private

Definition at line 119 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::MuIso_hadEt03_
private

Definition at line 120 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::MuIso_hoEt03_
private

Definition at line 121 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::MuIso_nJets03_
private

Definition at line 122 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::MuIso_nTracks03_
private

Definition at line 123 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::MuIso_sumPt03_
private

Definition at line 124 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::muon_eta_cut_
private

Definition at line 85 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::muon_iso_cut_
private

Definition at line 86 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::muon_pT_cut_
private

Definition at line 84 of file TopDiLeptonDQM.h.

edm::InputTag TopDiLeptonDQM::muons_
private

Definition at line 83 of file TopDiLeptonDQM.h.

int TopDiLeptonDQM::N_elel
private

Definition at line 76 of file TopDiLeptonDQM.h.

int TopDiLeptonDQM::N_muel
private

Definition at line 75 of file TopDiLeptonDQM.h.

int TopDiLeptonDQM::N_mumu
private

Definition at line 74 of file TopDiLeptonDQM.h.

int TopDiLeptonDQM::N_sig[100]
private

Definition at line 70 of file TopDiLeptonDQM.h.

int TopDiLeptonDQM::N_trig[100]
private

Definition at line 71 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::Nelecs_
private

Definition at line 111 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::Nelecs_charge_
private

Definition at line 113 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::Nelecs_iso_
private

Definition at line 112 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::Nmuons_
private

Definition at line 102 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::Nmuons_charge_
private

Definition at line 104 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::Nmuons_iso_
private

Definition at line 103 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::Ntracks_
private

Definition at line 100 of file TopDiLeptonDQM.h.

std::ofstream TopDiLeptonDQM::outfile
private

Definition at line 68 of file TopDiLeptonDQM.h.

std::string TopDiLeptonDQM::outputFile_
private

Definition at line 62 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::phi_elecs_
private

Definition at line 117 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::phi_muons_
private

Definition at line 109 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::pT_elecs_
private

Definition at line 115 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::pT_muons_
private

Definition at line 107 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::TriggerEff_
private

Definition at line 99 of file TopDiLeptonDQM.h.

edm::InputTag TopDiLeptonDQM::triggerResults_
private

Definition at line 63 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::Trigs_
private

Definition at line 98 of file TopDiLeptonDQM.h.

edm::InputTag TopDiLeptonDQM::vertex_
private

Definition at line 78 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::vertex_X_cut_
private

Definition at line 79 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::vertex_Y_cut_
private

Definition at line 80 of file TopDiLeptonDQM.h.

double TopDiLeptonDQM::vertex_Z_cut_
private

Definition at line 81 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::VxVy_muons_
private

Definition at line 105 of file TopDiLeptonDQM.h.

MonitorElement* TopDiLeptonDQM::Vz_muons_
private

Definition at line 106 of file TopDiLeptonDQM.h.