CMS 3D CMS Logo

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

#include <EwkElecDQM.h>

Inheritance diagram for EwkElecDQM:
edm::EDAnalyzer

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob ()
 
virtual void beginRun (const edm::Run &, const edm::EventSetup &)
 
double calcDeltaPhi (double phi1, double phi2)
 
virtual void endJob ()
 
virtual void endRun (const edm::Run &, const edm::EventSetup &)
 
 EwkElecDQM (const edm::ParameterSet &)
 
void init_histograms ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Private Attributes

MonitorElementdetainbarrel_after_
 
MonitorElementdetainbarrel_before_
 
double detainCutBarrel_
 
double detainCutEndcap_
 
MonitorElementdetainendcap_after_
 
MonitorElementdetainendcap_before_
 
MonitorElementecalisobarrel_after_
 
MonitorElementecalisobarrel_before_
 
double ecalIsoCutBarrel_
 
double ecalIsoCutEndcap_
 
MonitorElementecalisoendcap_after_
 
MonitorElementecalisoendcap_before_
 
double eJetMin_
 
edm::InputTag elecTag_
 
const std::vector< std::string > elecTrig_
 
MonitorElementeta_after_
 
MonitorElementeta_before_
 
double etaCut_
 
MonitorElementhcalisobarrel_after_
 
MonitorElementhcalisobarrel_before_
 
double hcalIsoCutBarrel_
 
double hcalIsoCutEndcap_
 
MonitorElementhcalisoendcap_after_
 
MonitorElementhcalisoendcap_before_
 
MonitorElementinvmass_after_
 
MonitorElementinvmass_before_
 
MonitorElementjet_et_after_
 
MonitorElementjet_et_before_
 
MonitorElementjet_eta_after_
 
MonitorElementjet_eta_before_
 
edm::InputTag jetTag_
 
MonitorElementmet_after_
 
MonitorElementmet_before_
 
bool metIncludesMuons_
 
double metMax_
 
double metMin_
 
edm::InputTag metTag_
 
MonitorElementmt_after_
 
MonitorElementmt_before_
 
double mtMax_
 
double mtMin_
 
unsigned int nall
 
unsigned int neid
 
MonitorElementnelectrons_after_
 
MonitorElementnelectrons_before_
 
unsigned int nGoodElectrons
 
unsigned int niso
 
int nJetMax_
 
MonitorElementnjets_after_
 
MonitorElementnjets_before_
 
unsigned int nrec
 
unsigned int nsel
 
MonitorElementpt_after_
 
MonitorElementpt_before_
 
double ptCut_
 
MonitorElementsieiebarrel_after_
 
MonitorElementsieiebarrel_before_
 
double sieieCutBarrel_
 
double sieieCutEndcap_
 
MonitorElementsieieendcap_after_
 
MonitorElementsieieendcap_before_
 
DQMStoretheDbe
 
MonitorElementtrig_after_
 
MonitorElementtrig_before_
 
edm::InputTag trigTag_
 
MonitorElementtrkisobarrel_after_
 
MonitorElementtrkisobarrel_before_
 
double trkIsoCutBarrel_
 
double trkIsoCutEndcap_
 
MonitorElementtrkisoendcap_after_
 
MonitorElementtrkisoendcap_before_
 

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)
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Detailed Description

DQM offline for EWK Electrons

Definition at line 18 of file EwkElecDQM.h.

Constructor & Destructor Documentation

EwkElecDQM::EwkElecDQM ( const edm::ParameterSet cfg)

Definition at line 38 of file EwkElecDQM.cc.

38  :
39  // Input collections
40  trigTag_(cfg.getUntrackedParameter<edm::InputTag> ("TrigTag", edm::InputTag("TriggerResults::HLT"))),
41  // muonTag_(cfg.getUntrackedParameter<edm::InputTag> ("MuonTag", edm::InputTag("muons"))),
42  elecTag_(cfg.getUntrackedParameter<edm::InputTag> ("ElecTag", edm::InputTag("gsfElectrons"))),
44  // metIncludesMuons_(cfg.getUntrackedParameter<bool> ("METIncludesMuons", false)),
45  jetTag_(cfg.getUntrackedParameter<edm::InputTag> ("JetTag", edm::InputTag("sisCone5CaloJets"))),
46 
47  // Main cuts
48  // muonTrig_(cfg.getUntrackedParameter<std::string> ("MuonTrig", "HLT_Mu9")),
49  //elecTrig_(cfg.getUntrackedParameter<std::vector< std::string > >("ElecTrig", "HLT_Ele10_SW_L1R")),
50  elecTrig_(cfg.getUntrackedParameter<std::vector< std::string > >("ElecTrig")),
51  // ptCut_(cfg.getUntrackedParameter<double>("PtCut", 25.)),
52  ptCut_(cfg.getUntrackedParameter<double>("PtCut", 10.)),
53  // etaCut_(cfg.getUntrackedParameter<double>("EtaCut", 2.1)),
54  etaCut_(cfg.getUntrackedParameter<double>("EtaCut", 2.4)),
55  sieieCutBarrel_(cfg.getUntrackedParameter<double>("SieieBarrel", 0.01)),
56  sieieCutEndcap_(cfg.getUntrackedParameter<double>("SieieEndcap", 0.028)),
57  detainCutBarrel_(cfg.getUntrackedParameter<double>("DetainBarrel", 0.0071)),
58  detainCutEndcap_(cfg.getUntrackedParameter<double>("DetainEndcap", 0.0066)),
59  // isRelativeIso_(cfg.getUntrackedParameter<bool>("IsRelativeIso", true)),
60  // isCombinedIso_(cfg.getUntrackedParameter<bool>("IsCombinedIso", false)),
61  // isoCut03_(cfg.getUntrackedParameter<double>("IsoCut03", 0.1)),
62  ecalIsoCutBarrel_(cfg.getUntrackedParameter<double>("EcalIsoCutBarrel", 5.7)),
63  ecalIsoCutEndcap_(cfg.getUntrackedParameter<double>("EcalIsoCutEndcap", 5.0)),
64  hcalIsoCutBarrel_(cfg.getUntrackedParameter<double>("HcalIsoCutBarrel", 8.1)),
65  hcalIsoCutEndcap_(cfg.getUntrackedParameter<double>("HcalIsoCutEndcap", 3.4)),
66  trkIsoCutBarrel_(cfg.getUntrackedParameter<double>("TrkIsoCutBarrel", 7.2)),
67  trkIsoCutEndcap_(cfg.getUntrackedParameter<double>("TrkIsoCutEndcap", 5.1)),
68  mtMin_(cfg.getUntrackedParameter<double>("MtMin", -999999)),
69  mtMax_(cfg.getUntrackedParameter<double>("MtMax", 999999.)),
70  metMin_(cfg.getUntrackedParameter<double>("MetMin", -999999.)),
71  metMax_(cfg.getUntrackedParameter<double>("MetMax", 999999.)),
72  // acopCut_(cfg.getUntrackedParameter<double>("AcopCut", 2.)),
73 
74  // Muon quality cuts
75  // dxyCut_(cfg.getUntrackedParameter<double>("DxyCut", 0.2)),
76  // normalizedChi2Cut_(cfg.getUntrackedParameter<double>("NormalizedChi2Cut", 10.)),
77  // trackerHitsCut_(cfg.getUntrackedParameter<int>("TrackerHitsCut", 11)),
78  // isAlsoTrackerMuon_(cfg.getUntrackedParameter<bool>("IsAlsoTrackerMuon", true)),
79 
80  // Z rejection
81  // ptThrForZ1_(cfg.getUntrackedParameter<double>("PtThrForZ1", 20.)),
82  // ptThrForZ2_(cfg.getUntrackedParameter<double>("PtThrForZ2", 10.)),
83 
84  // Top rejection
85  eJetMin_(cfg.getUntrackedParameter<double>("EJetMin", 999999.)),
86  nJetMax_(cfg.getUntrackedParameter<int>("NJetMax", 999999))
87 
88 // caloJetCollection_(cfg.getUntrackedParameter<edm:InputTag>("CaloJetCollection","sisCone5CaloJets"))
89 
90 
91 
92 {
93 }
T getUntrackedParameter(std::string const &, T const &) const
double metMax_
Definition: EwkElecDQM.h:62
double sieieCutBarrel_
Definition: EwkElecDQM.h:44
edm::InputTag jetTag_
Definition: EwkElecDQM.h:37
double ecalIsoCutEndcap_
Definition: EwkElecDQM.h:54
double detainCutEndcap_
Definition: EwkElecDQM.h:47
edm::InputTag elecTag_
Definition: EwkElecDQM.h:34
double metMin_
Definition: EwkElecDQM.h:61
double trkIsoCutEndcap_
Definition: EwkElecDQM.h:58
int nJetMax_
Definition: EwkElecDQM.h:74
edm::InputTag trigTag_
Definition: EwkElecDQM.h:32
double ecalIsoCutBarrel_
Definition: EwkElecDQM.h:53
double trkIsoCutBarrel_
Definition: EwkElecDQM.h:57
edm::InputTag metTag_
Definition: EwkElecDQM.h:35
double etaCut_
Definition: EwkElecDQM.h:42
double hcalIsoCutBarrel_
Definition: EwkElecDQM.h:55
double sieieCutEndcap_
Definition: EwkElecDQM.h:45
double eJetMin_
Definition: EwkElecDQM.h:73
double mtMax_
Definition: EwkElecDQM.h:60
double detainCutBarrel_
Definition: EwkElecDQM.h:46
const std::vector< std::string > elecTrig_
Definition: EwkElecDQM.h:40
double hcalIsoCutEndcap_
Definition: EwkElecDQM.h:56
double mtMin_
Definition: EwkElecDQM.h:59
double ptCut_
Definition: EwkElecDQM.h:41

Member Function Documentation

void EwkElecDQM::analyze ( const edm::Event ev,
const edm::EventSetup  
)
virtual

Implements edm::EDAnalyzer.

Definition at line 351 of file EwkElecDQM.cc.

References calcDeltaPhi(), reco::GsfElectron::deltaEtaSuperClusterTrackAtVtx(), detainbarrel_after_, detainbarrel_before_, detainCutBarrel_, detainCutEndcap_, detainendcap_after_, detainendcap_before_, reco::GsfElectron::dr03EcalRecHitSumEt(), reco::GsfElectron::dr03HcalTowerSumEt(), reco::GsfElectron::dr04TkSumPt(), ecalisobarrel_after_, ecalisobarrel_before_, ecalIsoCutBarrel_, ecalIsoCutEndcap_, ecalisoendcap_after_, ecalisoendcap_before_, eJetMin_, elecTag_, elecTrig_, metsig::electron, ExpressReco_HICollisions_FallBack::electronCollection, reco::LeafCandidate::energy(), reco::LeafCandidate::et(), eta(), reco::LeafCandidate::eta(), eta_after_, eta_before_, etaCut_, MonitorElement::Fill(), edm::Event::getByLabel(), hcalisobarrel_after_, hcalisobarrel_before_, hcalIsoCutBarrel_, hcalIsoCutEndcap_, hcalisoendcap_after_, hcalisoendcap_before_, i, invmass_after_, invmass_before_, j, metsig::jet, jet_et_after_, jet_et_before_, jet_eta_after_, jet_eta_before_, jetTag_, gen::k, LogTrace, reco::LeafCandidate::massSqr(), CaloMET_cfi::met, met_after_, met_before_, metMax_, metMin_, metTag_, mt_after_, mt_before_, mtMax_, mtMin_, nall, neid, nelectrons_after_, nelectrons_before_, nGoodElectrons, niso, nJetMax_, njets_after_, njets_before_, nrec, nsel, reco::LeafCandidate::phi(), reco::LeafCandidate::pt(), ExpressReco_HICollisions_FallBack::pt, pt_after_, pt_before_, ptCut_, reco::LeafCandidate::px(), reco::LeafCandidate::py(), reco::LeafCandidate::pz(), sieiebarrel_after_, sieiebarrel_before_, sieieCutBarrel_, sieieCutEndcap_, sieieendcap_after_, sieieendcap_before_, reco::GsfElectron::sigmaIetaIeta(), mathSSE::sqrt(), trig_after_, trig_before_, edm::TriggerNames::triggerName(), edm::Event::triggerNames(), trigNames, trigTag_, trkisobarrel_after_, trkisobarrel_before_, trkIsoCutBarrel_, trkIsoCutEndcap_, trkisoendcap_after_, and trkisoendcap_before_.

351  {
352 
353  // Reset global event selection flags
354  bool rec_sel = false;
355  bool eid_sel = false;
356  bool iso_sel = false;
357 // bool hlt_sel = false;
358  bool met_sel = false;
359  bool all_sel = false;
360 
361 // // Muon collection
362 // Handle<View<Muon> > muonCollection;
363 // if (!ev.getByLabel(muonTag_, muonCollection)) {
364 // LogWarning("") << ">>> Muon collection does not exist !!!";
365 // return;
366 // }
367 // unsigned int muonCollectionSize = muonCollection->size();
368 
369  // Electron collection
371  if (!ev.getByLabel(elecTag_, electronCollection)) {
372  //LogWarning("") << ">>> Electron collection does not exist !!!";
373  return;
374  }
375  unsigned int electronCollectionSize = electronCollection->size();
376 
377  // Beam spot
378  Handle<reco::BeamSpot> beamSpotHandle;
379  if (!ev.getByLabel(InputTag("offlineBeamSpot"), beamSpotHandle)) {
380  //LogWarning("") << ">>> No beam spot found !!!";
381  return;
382  }
383  // MET
384  double met_px = 0.;
385  double met_py = 0.;
386  Handle<View<MET> > metCollection;
387  if (!ev.getByLabel(metTag_, metCollection)) {
388  //LogWarning("") << ">>> MET collection does not exist !!!";
389  return;
390  }
391  const MET& met = metCollection->at(0);
392  met_px = met.px();
393  met_py = met.py();
394 // if (!metIncludesMuons_) {
395 // for (unsigned int i=0; i<muonCollectionSize; i++) {
396 // const Muon& mu = muonCollection->at(i);
397 // if (!mu.isGlobalMuon()) continue;
398 // met_px -= mu.px();
399 // met_py -= mu.py();
400 // }
401 // }
402  double met_et = sqrt(met_px*met_px+met_py*met_py);
403  LogTrace("") << ">>> MET, MET_px, MET_py: " << met_et << ", " << met_px << ", " << met_py << " [GeV]";
404  met_before_->Fill(met_et);
405 
406  // Trigger
407  Handle<TriggerResults> triggerResults;
408  if (!ev.getByLabel(trigTag_, triggerResults)) {
409  //LogWarning("") << ">>> TRIGGER collection does not exist !!!";
410  return;
411  }
412  const edm::TriggerNames & trigNames = ev.triggerNames(*triggerResults);
413  bool trigger_fired = false;
414  /*
415  for (unsigned int i=0; i<triggerResults->size(); i++) {
416  if (triggerResults->accept(i)) {
417  LogTrace("") << "Accept by: " << i << ", Trigger: " << trigNames.triggerName(i);
418  }
419  }
420  */
421 
422  // the following gives error on CRAFT08 data where itrig1=19 (vector index out of range)
423  /*
424  int itrig1 = trigNames.triggerIndex(muonTrig_);
425  if (triggerResults->accept(itrig1)) trigger_fired = true;
426  */
427  //suggested replacement: lm250909
428  for (unsigned int i=0; i<triggerResults->size(); i++)
429  {
430  std::string trigName = trigNames.triggerName(i);
431  for (unsigned int j = 0; j < elecTrig_.size(); j++)
432  {
433  if ( trigName == elecTrig_.at(j) && triggerResults->accept(i))
434  {
435  trigger_fired = true;
436  }
437  }
438  }
439 
440 
441  LogTrace("") << ">>> Trigger bit: " << trigger_fired << " for one of ( " ;
442  for (unsigned int k = 0; k < elecTrig_.size(); k++)
443  {
444  LogTrace("") << elecTrig_.at(k) << " ";
445  }
446  LogTrace("") << ")";
447  trig_before_->Fill(trigger_fired);
448 
449 // // Loop to reject/control Z->mumu is done separately
450 // unsigned int nmuonsForZ1 = 0;
451 // unsigned int nmuonsForZ2 = 0;
452 // for (unsigned int i=0; i<muonCollectionSize; i++) {
453 // const Muon& mu = muonCollection->at(i);
454 // if (!mu.isGlobalMuon()) continue;
455 // double pt = mu.pt();
456 // if (pt>ptThrForZ1_) nmuonsForZ1++;
457 // if (pt>ptThrForZ2_) nmuonsForZ2++;
458 // }
459 // LogTrace("") << "> Z rejection: muons above " << ptThrForZ1_ << " [GeV]: " << nmuonsForZ1;
460 // LogTrace("") << "> Z rejection: muons above " << ptThrForZ2_ << " [GeV]: " << nmuonsForZ2;
461 // nz1_before_->Fill(nmuonsForZ1);
462 // nz2_before_->Fill(nmuonsForZ2);
463 
464  // Jet collection
465  Handle<View<Jet> > jetCollection;
466  if (!ev.getByLabel(jetTag_, jetCollection)) {
467  //LogError("") << ">>> JET collection does not exist !!!";
468  return;
469  }
470  float electron_et = -8.0;
471  float electron_eta = -8.0;
472  float electron_phi = -8.0;
473  float electron2_et = -9.0;
474  float electron2_eta = -9.0;
475  float electron2_phi = -9.0;
476  //need to get some electron info so jets can be cleaned of them
477  for (unsigned int i=0; i<electronCollectionSize; i++)
478  {
479  const GsfElectron& elec = electronCollection->at(i);
480 
481  if (i < 1)
482  {
483  electron_et = elec.pt();
484  electron_eta = elec.eta();
485  electron_phi = elec.phi();
486  }
487  if (i == 2)
488  {
489  electron2_et = elec.pt();
490  electron2_eta = elec.eta();
491  electron2_phi = elec.phi();
492  }
493  }
494 
495  float jet_et = -8.0;
496  float jet_eta = -8.0;
497  float jet_phi = -8.0;
498  int jet_count = 0;
499  float jet2_et = -9.0;
500  float jet2_eta = -9.0;
501  float jet2_phi = -9.0;
502  unsigned int jetCollectionSize = jetCollection->size();
503  int njets = 0;
504  for (unsigned int i=0; i<jetCollectionSize; i++) {
505  const Jet& jet = jetCollection->at(i);
506 
507  float jet_current_et = jet.et();
508 // cout << "jet_current_et " << jet_current_et << endl;
509  // if it overlaps with electron, it is not a jet
510  if ( electron_et>0.0 && fabs(jet.eta()-electron_eta ) < 0.2
511  && calcDeltaPhi(jet.phi(), electron_phi ) < 0.2)
512  continue;
513  if ( electron2_et>0.0&& fabs(jet.eta()-electron2_eta) < 0.2
514  && calcDeltaPhi(jet.phi(), electron2_phi) < 0.2)
515  continue;
516 
517  // if it has too low Et, throw away
518 // if (jet_current_et < eJetMin_) continue; //Keep if only want to plot above jet cut
519 
520  if (jet.et()>eJetMin_)
521  {
522  njets++;
523  jet_count++;
524  }
525  if (jet_current_et > jet_et)
526  {
527  jet2_et = jet_et; // 2nd highest jet get's et from current highest
528  jet2_eta = jet_eta;
529  jet2_phi = jet_phi;
530  jet_et = jet.et(); // current highest jet gets et from the new highest
531  jet_eta = jet.eta();
532  jet_phi = jet.phi();
533  }
534  else if (jet_current_et > jet2_et)
535  {
536  jet2_et = jet.et();
537  jet2_eta = jet.eta();
538  jet2_phi = jet.phi();
539  }
540  }
541 
542  //Fill After all electron cuts (or both before and after)
543  if (jet_et>10) //don't want low energy "jets"
544  {
545  jet_et_before_ ->Fill(jet_et);
546 // jet2_et_before_ ->Fill(jet2_et);
547  jet_eta_before_ ->Fill(jet_eta);
548  }
549 
550 
551  LogTrace("") << ">>> Total number of jets: " << jetCollectionSize;
552  LogTrace("") << ">>> Number of jets above " << eJetMin_ << " [GeV]: " << njets;
553  njets_before_->Fill(njets);
554 
555  // Start counting
556  nall++;
557 
558  // Histograms per event should be done only once, so keep track of them
559  bool hlt_hist_done = false;
560  //bool minv_hist_done = false;
561  bool met_hist_done = false;
562 // bool nz1_hist_done = false;
563 // bool nz2_hist_done = false;
564  bool njets_hist_done = false;
565 
566  // Central selection criteria
567  //const int NFLAGS = 13; // number of individual selection criteria
568  const int NFLAGS = 11; // number of individual selection criteria
569  // 0: pt cut | rec
570  // 1: eta cut | rec
571  // 2: sieie | eid
572  // 3: detain | eid
573  // 4: ecal iso | iso
574  // 5: hcal iso | iso
575  // 6: trk iso | iso
576  // 7: trigger fired | hlt/all
577  bool electron_sel[NFLAGS];
578 
579  // for invariant mass calculation
580  // keep track of highest-pt electrons for initial (RECO) electrons
581  // and "good" electrons (passing all cuts)
582  // first array dimension is for first or second good electron
583  // second array dimension is for relevant quantities of good electron
584  // [0]: 1 for electron found or 0 for not found (if 0, no other quantities filled)
585  // [1]: mSqr
586  // [2]: E
587  // [3]: px
588  // [4]: py
589  // [5]: pz
590  // inv mass = sqrt(m_1^2 + m_2^2 + 2*(E_1*E_2 - (px1*px2 + py1*py2 + pz1+pz2) ) )
591  double electron[2][6];
592  double goodElectron[2][6];
593  nGoodElectrons = 0;
594  for (unsigned int i = 0; i < 2; i++)
595  {
596  for (unsigned int j = 0; j < 6; j++)
597  {
598  electron[i][j] = 0.;
599  goodElectron[i][j] = 0.;
600  }
601  }
602 
603  for (unsigned int i=0; i<electronCollectionSize; i++)
604  {
605  for (int j=0; j<NFLAGS; ++j)
606  {
607  electron_sel[j] = false;
608  }
609 
610  const GsfElectron& elec = electronCollection->at(i);
611  //if (!mu.isGlobalMuon()) continue;
612  //if (mu.globalTrack().isNull()) continue;
613  //if (mu.innerTrack().isNull()) continue;
614 
615  LogTrace("") << "> elec: processing electron number " << i << "...";
616  //reco::TrackRef gm = mu.globalTrack();
617  //reco::TrackRef tk = mu.innerTrack();
618  // should have stuff for electron track?
619 
620  if (i < 2)
621  {
622  electron[i][0] = 1.;
623  electron[i][1] = elec.massSqr();
624  electron[i][2] = elec.energy();
625  electron[i][3] = elec.px();
626  electron[i][4] = elec.py();
627  electron[i][5] = elec.pz();
628  }
629 
630  // Pt,eta cuts
631  double pt = elec.pt();
632  double px = elec.px();
633  double py = elec.py();
634  double eta = elec.eta();
635  LogTrace("") << "\t... pt, eta: " << pt << " [GeV], " << eta;;
636  if (pt>ptCut_) electron_sel[0] = true;
637  if (fabs(eta)<etaCut_) electron_sel[1] = true;
638 
639  bool isBarrel = false;
640  bool isEndcap = false;
641  if (eta < 1.4442 && eta > -1.4442)
642  {
643  isBarrel = true;
644  }
645  else if ((eta > 1.56 && eta < 2.4) || (eta < -1.56 && eta > -2.4))
646  {
647  isEndcap = true;
648  }
649 
650  // // d0, chi2, nhits quality cuts
651  // double dxy = tk->dxy(beamSpotHandle->position());
652  // double normalizedChi2 = gm->normalizedChi2();
653  // double trackerHits = tk->numberOfValidHits();
654  // LogTrace("") << "\t... dxy, normalizedChi2, trackerHits, isTrackerMuon?: " << dxy << " [cm], " << normalizedChi2 << ", " << trackerHits << ", " << mu.isTrackerMuon();
655  // if (fabs(dxy)<dxyCut_) muon_sel[2] = true;
656  // if (normalizedChi2<normalizedChi2Cut_) muon_sel[3] = true;
657  // if (trackerHits>=trackerHitsCut_) muon_sel[4] = true;
658  // if (mu.isTrackerMuon()) muon_sel[5] = true;
659 
660  pt_before_->Fill(pt);
661  eta_before_->Fill(eta);
662  // dxy_before_->Fill(dxy);
663  // chi2_before_->Fill(normalizedChi2);
664  // nhits_before_->Fill(trackerHits);
665  // tkmu_before_->Fill(mu.isTrackerMuon());
666 
667 
668  // Electron ID cuts
669  double sieie = (double) elec.sigmaIetaIeta();
670  double detain = (double) elec.deltaEtaSuperClusterTrackAtVtx(); // think this is detain
671  if (sieie < sieieCutBarrel_ && isBarrel) electron_sel[2] = true;
672  if (sieie < sieieCutEndcap_ && isEndcap) electron_sel[2] = true;
673  if (detain < detainCutBarrel_ && isBarrel) electron_sel[3] = true;
674  if (detain < detainCutEndcap_ && isEndcap) electron_sel[3] = true;
675  if (isBarrel)
676  {
677  LogTrace("") << "\t... sieie value " << sieie << " (barrel), pass? " << electron_sel[2];
678  LogTrace("") << "\t... detain value " << detain << " (barrel), pass? " << electron_sel[3];
679  }
680  else if (isEndcap)
681  {
682  LogTrace("") << "\t... sieie value " << sieie << " (endcap), pass? " << electron_sel[2];
683  LogTrace("") << "\t... detain value " << detain << " (endcap), pass? " << electron_sel[2];
684  }
685 
686  if (isBarrel)
687  {
688  sieiebarrel_before_->Fill(sieie);
689  detainbarrel_before_->Fill(detain);
690  }
691  else if (isEndcap)
692  {
693  sieieendcap_before_->Fill(sieie);
694  detainendcap_before_->Fill(detain);
695  }
696 
697 
698 
699  // Isolation cuts
700  //double isovar = mu.isolationR03().sumPt;
701  double ecalisovar = elec.dr03EcalRecHitSumEt(); // picked one set!
702  double hcalisovar = elec.dr03HcalTowerSumEt(); // try others if
703  double trkisovar = elec.dr04TkSumPt(); // doesn't work
704  //if (isCombinedIso_) {
705  //isovar += mu.isolationR03().emEt;
706  //isovar += mu.isolationR03().hadEt;
707  //}
708  //if (isRelativeIso_) isovar /= pt;
709  if (ecalisovar<ecalIsoCutBarrel_ && isBarrel) electron_sel[4] = true;
710  if (ecalisovar<ecalIsoCutEndcap_ && isEndcap) electron_sel[4] = true;
711  if (hcalisovar<hcalIsoCutBarrel_ && isBarrel) electron_sel[5] = true;
712  if (hcalisovar<hcalIsoCutEndcap_ && isEndcap) electron_sel[5] = true;
713  if (trkisovar<trkIsoCutBarrel_ && isBarrel) electron_sel[6] = true;
714  if (trkisovar<trkIsoCutEndcap_ && isEndcap) electron_sel[6] = true;
715  if (isBarrel)
716  {
717  LogTrace("") << "\t... ecal isolation value " << ecalisovar << " (barrel), pass? " << electron_sel[4];
718  LogTrace("") << "\t... hcal isolation value " << hcalisovar << " (barrel), pass? " << electron_sel[5];
719  LogTrace("") << "\t... trk isolation value " << trkisovar << " (barrel), pass? " << electron_sel[6];
720  }
721  else if (isEndcap)
722  {
723  LogTrace("") << "\t... ecal isolation value " << ecalisovar << " (endcap), pass? " << electron_sel[4];
724  LogTrace("") << "\t... hcal isolation value " << hcalisovar << " (endcap), pass? " << electron_sel[5];
725  LogTrace("") << "\t... trk isolation value " << trkisovar << " (endcap), pass? " << electron_sel[6];
726  }
727 
728  //iso_before_->Fill(isovar);
729  if (isBarrel)
730  {
731  ecalisobarrel_before_->Fill(ecalisovar);
732  hcalisobarrel_before_->Fill(hcalisovar);
733  trkisobarrel_before_->Fill(trkisovar);
734  }
735  else if (isEndcap)
736  {
737  ecalisoendcap_before_->Fill(ecalisovar);
738  hcalisoendcap_before_->Fill(hcalisovar);
739  trkisoendcap_before_->Fill(trkisovar);
740  }
741 
742 
743  // HLT
744  if (trigger_fired) electron_sel[7] = true;
745 
746 
747  // // MET/MT cuts
748  double w_et = met_et+pt;
749  double w_px = met_px+px;
750  double w_py = met_py+py;
751 
752  double massT = w_et*w_et - w_px*w_px - w_py*w_py;
753  massT = (massT>0) ? sqrt(massT) : 0;
754 
755  LogTrace("") << "\t... W mass, W_et, W_px, W_py: " << massT << ", " << w_et << ", " << w_px << ", " << w_py << " [GeV]";
756  if (massT>mtMin_ && massT<mtMax_) electron_sel[8] = true;
757  mt_before_->Fill(massT);
758  if (met_et>metMin_ && met_et<metMax_) electron_sel[9] = true;
759 
760  // // Acoplanarity cuts
761  // Geom::Phi<double> deltaphi(mu.phi()-atan2(met_py,met_px));
762  // double acop = deltaphi.value();
763  // if (acop<0) acop = - acop;
764  // acop = M_PI - acop;
765  // LogTrace("") << "\t... acoplanarity: " << acop;
766  // if (acop<acopCut_) muon_sel[10] = true;
767  // acop_before_->Fill(acop);
768 
769  // // Remaining flags (from global event information)
770  // if (nmuonsForZ1<1 || nmuonsForZ2<2) muon_sel[11] = true;
771  if (njets<=nJetMax_) electron_sel[10] = true;
772 
773  // Collect necessary flags "per electron"
774  int flags_passed = 0;
775  bool rec_sel_this = true;
776  bool eid_sel_this = true;
777  bool iso_sel_this = true;
778  bool met_sel_this = true;
779  bool all_sel_this = true;
780  for (int j=0; j<NFLAGS; ++j)
781  {
782  if (electron_sel[j]) flags_passed += 1;
783  if (j<2 && !electron_sel[j]) rec_sel_this = false;
784  if (j<4 && !electron_sel[j]) eid_sel_this = false;
785  if (j<7 && !electron_sel[j]) iso_sel_this = false;
786  if (j<9 && !electron_sel[j]) met_sel_this = false;
787  if (!electron_sel[j]) all_sel_this = false;
788  }
789 
790  if (all_sel_this)
791  {
792  if (nGoodElectrons < 2)
793  {
794  goodElectron[nGoodElectrons][0] = 1.;
795  goodElectron[nGoodElectrons][1] = elec.massSqr();
796  goodElectron[nGoodElectrons][2] = elec.energy();
797  goodElectron[nGoodElectrons][3] = elec.px();
798  goodElectron[nGoodElectrons][4] = elec.py();
799  goodElectron[nGoodElectrons][5] = elec.pz();
800  }
801  nGoodElectrons++;
802  }
803 
804  // // "rec" => pt,eta and quality cuts are satisfied
805  // if (rec_sel_this) rec_sel = true;
806  // // "iso" => "rec" AND "muon is isolated"
807  // if (iso_sel_this) iso_sel = true;
808  // // "hlt" => "iso" AND "event is triggered"
809  // if (hlt_sel_this) hlt_sel = true;
810  // // "all" => "met" AND "Z/top rejection cuts"
811  // if (all_sel_this) all_sel = true;
812 
813  // "rec" => pt,eta cuts are satisfied
814  if (rec_sel_this) rec_sel = true;
815  // "eid" => "rec" AND "electron passes ID"
816  if (eid_sel_this) iso_sel = true;
817  // "iso" => "eid" AND "electron is isolated"
818  if (iso_sel_this) iso_sel = true;
819  // "met" => "iso" AND "MET/MT"
820  if (met_sel_this) met_sel = true;
821  // "all" => "met" AND "event is triggered"
822  if (all_sel_this) all_sel = true;
823 
824  // Do N-1 histograms now (and only once for global event quantities)
825  if (flags_passed >= (NFLAGS-1))
826  {
827  if (!electron_sel[0] || flags_passed==NFLAGS)
828  {
829  pt_after_->Fill(pt);
830  }
831  if (!electron_sel[1] || flags_passed==NFLAGS)
832  {
833  eta_after_->Fill(eta);
834  }
835  if (!electron_sel[2] || flags_passed==NFLAGS)
836  {
837  if (isBarrel)
838  {
839  sieiebarrel_after_->Fill(sieie);
840  }
841  else if (isEndcap)
842  {
843  sieieendcap_after_->Fill(sieie);
844  }
845  }
846  if (!electron_sel[3] || flags_passed==NFLAGS)
847  {
848  if (isBarrel)
849  {
850  detainbarrel_after_->Fill(detain);
851  }
852  else if (isEndcap)
853  {
854  detainendcap_after_->Fill(detain);
855  }
856  }
857  if (!electron_sel[4] || flags_passed==NFLAGS)
858  {
859  if (isBarrel)
860  {
861  ecalisobarrel_after_->Fill(ecalisovar);
862  }
863  else if (isEndcap)
864  {
865  ecalisoendcap_after_->Fill(ecalisovar);
866  }
867  }
868  if (!electron_sel[5] || flags_passed==NFLAGS)
869  {
870  if (isBarrel)
871  {
872  hcalisobarrel_after_->Fill(hcalisovar);
873  }
874  else if (isEndcap)
875  {
876  hcalisoendcap_after_->Fill(hcalisovar);
877  }
878  }
879  if (!electron_sel[6] || flags_passed==NFLAGS)
880  {
881  if (isBarrel)
882  {
883  trkisobarrel_after_->Fill(trkisovar);
884  }
885  else if (isEndcap)
886  {
887  trkisoendcap_after_->Fill(trkisovar);
888  }
889  }
890  // if (!electron_sel[3] || flags_passed==NFLAGS)
891  // {
892  // detain_after_->Fill(detain);
893  // }
894  // if (!electron_sel[4] || flags_passed==NFLAGS)
895  // {
896  // ecaliso_after_->Fill(trackerHits);
897  // }
898  // if (!electron_sel[5] || flags_passed==NFLAGS)
899  // {
900  // tkelectr_after_->Fill(electr.isTrackerElectron());
901  // }
902  // if (!electron_sel[6] || flags_passed==NFLAGS)
903  // {
904  // iso_after_->Fill(isovar);
905  // }
906  if (!electron_sel[7] || flags_passed==NFLAGS)
907  {
908  if (!hlt_hist_done)
909  {
910  trig_after_->Fill(trigger_fired);
911  }
912  }
913  hlt_hist_done = true;
914  if (!electron_sel[8] || flags_passed==NFLAGS)
915  {
916  mt_after_->Fill(massT);
917  }
918  if (!electron_sel[9] || flags_passed==NFLAGS)
919  {
920  if (!met_hist_done) {
921  met_after_->Fill(met_et);
922  }
923  }
924  met_hist_done = true;
925  // if (!muon_sel[10] || flags_passed==NFLAGS)
926  // acop_after_->Fill(acop);
927  // if (!muon_sel[11] || flags_passed==NFLAGS)
928  // if (!nz1_hist_done) nz1_after_->Fill(nmuonsForZ1);
929  // nz1_hist_done = true;
930  // if (!muon_sel[11] || flags_passed==NFLAGS)
931  // if (!nz2_hist_done) nz2_after_->Fill(nmuonsForZ2);
932  // nz2_hist_done = true;
933  if (!electron_sel[10] || flags_passed==NFLAGS) {
934  if (!njets_hist_done)
935  {
936  njets_after_->Fill(njets);
937  if (jet_et>10) //don't want low energy "jets"
938  {
939  jet_et_after_ ->Fill(jet_et);
940  jet_eta_after_ ->Fill(jet_eta);
941  }
942  }
943  }
944  njets_hist_done = true;
945 
946  } // end N-1 histos block
947 
948  } // end loop through electrons
949 
950  // inv mass = sqrt(m_1^2 + m_2^2 + 2*(E_1*E_2 - (px1*px2 + py1*py2 + pz1+pz2) ) )
951  double invMass;
952 
953  nelectrons_before_->Fill(electronCollectionSize);
954  if (electronCollectionSize > 1)
955  {
956  invMass = sqrt(electron[0][1] + electron[1][1] + 2*(electron[0][2]*electron[1][2] - (electron[0][3]*electron[1][3] + electron[0][4]*electron[1][4] + electron[0][5]*electron[1][5]) ) );
957  invmass_before_->Fill(invMass);
958  }
959 
961  if (nGoodElectrons > 1)
962  {
963  invMass = sqrt(goodElectron[0][1] + goodElectron[1][1] + 2*(goodElectron[0][2]*goodElectron[1][2] - (goodElectron[0][3]*goodElectron[1][3] + goodElectron[0][4]*goodElectron[1][4] + goodElectron[0][5]*goodElectron[1][5]) ) );
964  invmass_after_->Fill(invMass);
965  }
966 
967  // Collect final flags
968  if (rec_sel) nrec++;
969  if (eid_sel) neid++;
970  if (iso_sel) niso++;
971  // if (hlt_sel) nhlt++;
972  // if (met_sel) nmet++;
973 
974  if (all_sel) {
975  nsel++;
976  LogTrace("") << ">>>> Event ACCEPTED";
977  } else {
978  LogTrace("") << ">>>> Event REJECTED";
979  }
980 
981 
982 
983  return;
984 
985 }
MonitorElement * ecalisoendcap_after_
Definition: EwkElecDQM.h:123
MonitorElement * jet_et_after_
Definition: EwkElecDQM.h:164
int i
Definition: DBlmapReader.cc:9
unsigned int nGoodElectrons
Definition: EwkElecDQM.h:85
MonitorElement * invmass_after_
Definition: EwkElecDQM.h:141
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const
Definition: Event.cc:208
unsigned int nall
Definition: EwkElecDQM.h:76
MonitorElement * hcalisobarrel_after_
Definition: EwkElecDQM.h:126
unsigned int nsel
Definition: EwkElecDQM.h:82
double metMax_
Definition: EwkElecDQM.h:62
MonitorElement * nelectrons_before_
Definition: EwkElecDQM.h:143
double sieieCutBarrel_
Definition: EwkElecDQM.h:44
virtual double et() const
transverse energy
MonitorElement * sieieendcap_before_
Definition: EwkElecDQM.h:98
MonitorElement * sieieendcap_after_
Definition: EwkElecDQM.h:99
virtual double massSqr() const
mass squared
Base class for all types of Jets.
Definition: Jet.h:21
MonitorElement * ecalisobarrel_before_
Definition: EwkElecDQM.h:119
edm::InputTag jetTag_
Definition: EwkElecDQM.h:37
MonitorElement * sieiebarrel_before_
Definition: EwkElecDQM.h:95
MonitorElement * hcalisobarrel_before_
Definition: EwkElecDQM.h:125
float dr04TkSumPt() const
Definition: GsfElectron.h:430
MonitorElement * detainbarrel_after_
Definition: EwkElecDQM.h:102
MonitorElement * ecalisobarrel_after_
Definition: EwkElecDQM.h:120
MonitorElement * detainendcap_before_
Definition: EwkElecDQM.h:104
MonitorElement * trig_before_
Definition: EwkElecDQM.h:137
MonitorElement * sieiebarrel_after_
Definition: EwkElecDQM.h:96
MonitorElement * detainbarrel_before_
Definition: EwkElecDQM.h:101
T eta() const
MonitorElement * mt_before_
Definition: EwkElecDQM.h:146
MonitorElement * nelectrons_after_
Definition: EwkElecDQM.h:144
virtual double eta() const
momentum pseudorapidity
MonitorElement * hcalisoendcap_before_
Definition: EwkElecDQM.h:128
void Fill(long long x)
unsigned int niso
Definition: EwkElecDQM.h:79
double calcDeltaPhi(double phi1, double phi2)
Definition: EwkElecDQM.cc:988
MonitorElement * mt_after_
Definition: EwkElecDQM.h:147
virtual double energy() const
energy
float deltaEtaSuperClusterTrackAtVtx() const
Definition: GsfElectron.h:205
double ecalIsoCutEndcap_
Definition: EwkElecDQM.h:54
float sigmaIetaIeta() const
Definition: GsfElectron.h:378
MonitorElement * jet_et_before_
Definition: EwkElecDQM.h:163
double detainCutEndcap_
Definition: EwkElecDQM.h:47
MonitorElement * njets_after_
Definition: EwkElecDQM.h:162
MonitorElement * pt_before_
Definition: EwkElecDQM.h:89
MonitorElement * pt_after_
Definition: EwkElecDQM.h:90
edm::InputTag elecTag_
Definition: EwkElecDQM.h:34
double metMin_
Definition: EwkElecDQM.h:61
double trkIsoCutEndcap_
Definition: EwkElecDQM.h:58
Definition: MET.h:32
T sqrt(T t)
Definition: SSEVec.h:28
unsigned int nrec
Definition: EwkElecDQM.h:77
MonitorElement * hcalisoendcap_after_
Definition: EwkElecDQM.h:129
int nJetMax_
Definition: EwkElecDQM.h:74
edm::InputTag trigTag_
Definition: EwkElecDQM.h:32
int j
Definition: DBlmapReader.cc:9
double ecalIsoCutBarrel_
Definition: EwkElecDQM.h:53
double trkIsoCutBarrel_
Definition: EwkElecDQM.h:57
edm::InputTag metTag_
Definition: EwkElecDQM.h:35
MonitorElement * invmass_before_
Definition: EwkElecDQM.h:140
MonitorElement * ecalisoendcap_before_
Definition: EwkElecDQM.h:122
MonitorElement * jet_eta_after_
Definition: EwkElecDQM.h:166
MonitorElement * trig_after_
Definition: EwkElecDQM.h:138
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:359
#define LogTrace(id)
MonitorElement * jet_eta_before_
Definition: EwkElecDQM.h:165
int k[5][pyjets_maxn]
unsigned int neid
Definition: EwkElecDQM.h:78
double etaCut_
Definition: EwkElecDQM.h:42
double hcalIsoCutBarrel_
Definition: EwkElecDQM.h:55
static const char *const trigNames[]
Definition: EcalDumpRaw.cc:75
MonitorElement * detainendcap_after_
Definition: EwkElecDQM.h:105
MonitorElement * njets_before_
Definition: EwkElecDQM.h:161
virtual double px() const
x coordinate of momentum vector
MonitorElement * trkisobarrel_before_
Definition: EwkElecDQM.h:131
virtual double pt() const
transverse momentum
std::string const & triggerName(unsigned int index) const
Definition: TriggerNames.cc:27
double sieieCutEndcap_
Definition: EwkElecDQM.h:45
MonitorElement * met_before_
Definition: EwkElecDQM.h:149
MonitorElement * trkisoendcap_before_
Definition: EwkElecDQM.h:134
virtual double pz() const
z coordinate of momentum vector
float dr03EcalRecHitSumEt() const
Definition: GsfElectron.h:423
MonitorElement * met_after_
Definition: EwkElecDQM.h:150
double eJetMin_
Definition: EwkElecDQM.h:73
MonitorElement * trkisobarrel_after_
Definition: EwkElecDQM.h:132
double mtMax_
Definition: EwkElecDQM.h:60
MonitorElement * eta_after_
Definition: EwkElecDQM.h:93
double detainCutBarrel_
Definition: EwkElecDQM.h:46
const std::vector< std::string > elecTrig_
Definition: EwkElecDQM.h:40
MonitorElement * trkisoendcap_after_
Definition: EwkElecDQM.h:135
float dr03HcalTowerSumEt() const
Definition: GsfElectron.h:426
double hcalIsoCutEndcap_
Definition: EwkElecDQM.h:56
virtual double phi() const
momentum azimuthal angle
MonitorElement * eta_before_
Definition: EwkElecDQM.h:92
virtual double py() const
y coordinate of momentum vector
double mtMin_
Definition: EwkElecDQM.h:59
double ptCut_
Definition: EwkElecDQM.h:41
void EwkElecDQM::beginJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 107 of file EwkElecDQM.cc.

References init_histograms(), cmsCodeRules.cppFunctionSkipper::operator, DQMStore::setCurrentFolder(), and theDbe.

107  {
109  theDbe->setCurrentFolder("Physics/EwkElecDQM");
110  init_histograms();
111 }
DQMStore * theDbe
Definition: EwkElecDQM.h:87
void init_histograms()
Definition: EwkElecDQM.cc:113
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:237
void EwkElecDQM::beginRun ( const edm::Run r,
const edm::EventSetup  
)
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 95 of file EwkElecDQM.cc.

References nall, neid, niso, nrec, and nsel.

95  {
96  nall = 0;
97  nsel = 0;
98 
99  nrec = 0;
100  neid = 0;
101  niso = 0;
102 // nhlt = 0;
103 // nmet = 0;
104 }
unsigned int nall
Definition: EwkElecDQM.h:76
unsigned int nsel
Definition: EwkElecDQM.h:82
unsigned int niso
Definition: EwkElecDQM.h:79
unsigned int nrec
Definition: EwkElecDQM.h:77
unsigned int neid
Definition: EwkElecDQM.h:78
double EwkElecDQM::calcDeltaPhi ( double  phi1,
double  phi2 
)

Definition at line 988 of file EwkElecDQM.cc.

References Geom::deltaPhi().

Referenced by analyze().

988  {
989 
990  double deltaPhi = phi1 - phi2;
991 
992  if (deltaPhi < 0) deltaPhi = -deltaPhi;
993 
994  if (deltaPhi > 3.1415926) {
995  deltaPhi = 2 * 3.1415926 - deltaPhi;
996  }
997 
998  return deltaPhi;
999 }
double deltaPhi(float phi1, float phi2)
Definition: VectorUtil.h:30
void EwkElecDQM::endJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 263 of file EwkElecDQM.cc.

263  {
264 }
void EwkElecDQM::endRun ( const edm::Run r,
const edm::EventSetup  
)
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 266 of file EwkElecDQM.cc.

References cond::ecalcond::all, nall, neid, niso, nrec, nsel, and mathSSE::sqrt().

266  {
267 
268  // overall
269  double all = nall;
270  double esel = nsel/all;
271  LogVerbatim("") << "\n>>>>>> SELECTION SUMMARY BEGIN >>>>>>>>>>>>>>>";
272  LogVerbatim("") << "Total number of events analyzed: " << nall << " [events]";
273  LogVerbatim("") << "Total number of events selected: " << nsel << " [events]";
274  LogVerbatim("") << "Overall efficiency: " << "(" << setprecision(4) << esel*100. <<" +/- "<< setprecision(2) << sqrt(esel*(1-esel)/all)*100. << ")%";
275 
276  double erec = nrec/all;
277  double eeid = neid/all;
278  double eiso = niso/all;
279 // double ehlt = nhlt/all;
280 // double emet = nmet/all;
281 
282  // general reconstruction step??
283  double num = nrec;
284  double eff = erec;
285  double err = sqrt(eff*(1-eff)/all);
286  LogVerbatim("") << "Passing Pt/Eta/Quality cuts: " << num << " [events], (" << setprecision(4) << eff*100. <<" +/- "<< setprecision(2) << err*100. << ")%";
287 
288  // electron ID step
289  num = neid;
290  eff = eeid;
291  err = sqrt(eff*(1-eff)/all);
292  double effstep = 0.;
293  double errstep = 0.;
294  if (nrec>0) effstep = eeid/erec;
295  if (nrec>0) errstep = sqrt(effstep*(1-effstep)/nrec);
296  LogVerbatim("") << "Passing eID cuts: " << num << " [events], (" << setprecision(4) << eff*100. <<" +/- "<< setprecision(2) << err*100. << ")%, to previous step: (" << setprecision(4) << effstep*100. << " +/- "<< setprecision(2) << errstep*100. <<")%";
297 
298  // isolation step
299  num = niso;
300  eff = eiso;
301  err = sqrt(eff*(1-eff)/all);
302  effstep = 0.;
303  errstep = 0.;
304  if (neid>0) effstep = eiso/eeid;
305  if (neid>0) errstep = sqrt(effstep*(1-effstep)/neid);
306  LogVerbatim("") << "Passing isolation cuts: " << num << " [events], (" << setprecision(4) << eff*100. <<" +/- "<< setprecision(2) << err*100. << ")%, to previous step: (" << setprecision(4) << effstep*100. << " +/- "<< setprecision(2) << errstep*100. <<")%";
307 
308 // // trigger step
309 // num = nhlt;
310 // eff = ehlt;
311 // err = sqrt(eff*(1-eff)/all);
312 // effstep = 0.;
313 // errstep = 0.;
314 // if (niso>0) effstep = ehlt/eiso;
315 // if (niso>0) errstep = sqrt(effstep*(1-effstep)/niso);
316 // LogVerbatim("") << "Passing HLT criteria: " << num << " [events], (" << setprecision(4) << eff*100. <<" +/- "<< setprecision(2) << err*100. << ")%, to previous step: (" << setprecision(4) << effstep*100. << " +/- "<< setprecision(2) << errstep*100. <<")%";
317 
318  // trigger step
319  num = nsel;
320  eff = esel;
321  err = sqrt(eff*(1-eff)/all);
322  effstep = 0.;
323  errstep = 0.;
324  if (niso>0) effstep = esel/eiso;
325  if (niso>0) errstep = sqrt(effstep*(1-effstep)/niso);
326  LogVerbatim("") << "Passing HLT criteria: " << num << " [events], (" << setprecision(4) << eff*100. <<" +/- "<< setprecision(2) << err*100. << ")%, to previous step: (" << setprecision(4) << effstep*100. << " +/- "<< setprecision(2) << errstep*100. <<")%";
327 
328 // // met/acoplanarity cuts
329 // num = nmet;
330 // eff = emet;
331 // err = sqrt(eff*(1-eff)/all);
332 // effstep = 0.;
333 // errstep = 0.;
334 // if (nhlt>0) effstep = emet/ehlt;
335 // if (nhlt>0) errstep = sqrt(effstep*(1-effstep)/nhlt);
336 // LogVerbatim("") << "Passing MET/acoplanarity cuts: " << num << " [events], (" << setprecision(4) << eff*100. <<" +/- "<< setprecision(2) << err*100. << ")%, to previous step: (" << setprecision(4) << effstep*100. << " +/- "<< setprecision(2) << errstep*100. <<")%";
337 
338 // // Z/top selection cuts ALSO LAST STEP so "sel" for "selection"
339 // num = nsel;
340 // eff = esel;
341 // err = sqrt(eff*(1-eff)/all);
342 // effstep = 0.;
343 // errstep = 0.;
344 // if (nmet>0) effstep = esel/emet;
345 // if (nmet>0) errstep = sqrt(effstep*(1-effstep)/nmet);
346 // LogVerbatim("") << "Passing Z/top rejection cuts: " << num << " [events], (" << setprecision(4) << eff*100. <<" +/- "<< setprecision(2) << err*100. << ")%, to previous step: (" << setprecision(4) << effstep*100. << " +/- "<< setprecision(2) << errstep*100. <<")%";
347 
348  LogVerbatim("") << ">>>>>> SELECTION SUMMARY END >>>>>>>>>>>>>>>\n";
349 }
unsigned int nall
Definition: EwkElecDQM.h:76
unsigned int nsel
Definition: EwkElecDQM.h:82
unsigned int niso
Definition: EwkElecDQM.h:79
T sqrt(T t)
Definition: SSEVec.h:28
unsigned int nrec
Definition: EwkElecDQM.h:77
unsigned int neid
Definition: EwkElecDQM.h:78
long long int num
Definition: procUtils.cc:71
void EwkElecDQM::init_histograms ( )

Definition at line 113 of file EwkElecDQM.cc.

References DQMStore::book1D(), detainbarrel_after_, detainbarrel_before_, detainendcap_after_, detainendcap_before_, ecalisobarrel_after_, ecalisobarrel_before_, ecalisoendcap_after_, ecalisoendcap_before_, eJetMin_, eta_after_, eta_before_, hcalisobarrel_after_, hcalisobarrel_before_, hcalisoendcap_after_, hcalisoendcap_before_, i, invmass_after_, invmass_before_, jet_et_after_, jet_et_before_, jet_eta_after_, jet_eta_before_, jetTag_, edm::InputTag::label(), met_after_, met_before_, metTag_, mt_after_, mt_before_, nelectrons_after_, nelectrons_before_, njets_after_, njets_before_, pt_after_, pt_before_, sieiebarrel_after_, sieiebarrel_before_, sieieendcap_after_, sieieendcap_before_, theDbe, trig_after_, trig_before_, trkisobarrel_after_, trkisobarrel_before_, trkisoendcap_after_, and trkisoendcap_before_.

Referenced by beginJob().

113  {
114 
115  char chtitle[256] = "";
116  for (int i=0; i<2; ++i) {
117 // snprintf(chtitle, 255, "Muon transverse momentum (global muon) [GeV]");
118 // pt_before_ = theDbe->book1D("PT_BEFORECUTS",chtitle,100,0.,100.);
119 // pt_after_ = theDbe->book1D("PT_LASTCUT",chtitle,100,0.,100.);
120 
121  snprintf(chtitle, 255, "Electron transverse momentum [GeV]");
122  pt_before_ = theDbe->book1D("PT_BEFORECUTS",chtitle,100,0.,100.);
123  pt_after_ = theDbe->book1D("PT_LASTCUT",chtitle,100,0.,100.);
124 
125  snprintf(chtitle, 255, "Electron pseudo-rapidity");
126  eta_before_ = theDbe->book1D("ETA_BEFORECUTS",chtitle,50,-2.5,2.5);
127  eta_after_ = theDbe->book1D("ETA_LASTCUT",chtitle,50,-2.5,2.5);
128 
129  snprintf(chtitle, 255, "Electron #sigma_{i#etai#eta} (barrel)");
130  sieiebarrel_before_ = theDbe->book1D("SIEIEBARREL_BEFORECUTS",chtitle,70,0.,0.07);
131  sieiebarrel_after_ = theDbe->book1D("SIEIEBARREL_LASTCUT",chtitle,70,0.,0.07);
132 
133  snprintf(chtitle, 255, "Electron #sigma_{i#etai#eta} (endcap)");
134  sieieendcap_before_ = theDbe->book1D("SIEIEENDCAP_BEFORECUTS",chtitle,70,0.,0.07);
135  sieieendcap_after_ = theDbe->book1D("SIEIEENDCAP_LASTCUT",chtitle,70,0.,0.07);
136 
137  snprintf(chtitle, 255, "Electron #Delta#eta_{in} (barrel)");
138  detainbarrel_before_ = theDbe->book1D("DETAINBARREL_BEFORECUTS",chtitle,40,-0.02,0.02);
139  detainbarrel_after_ = theDbe->book1D("DETAINBARREL_LASTCUT",chtitle,40,-0.02,0.02);
140 
141  snprintf(chtitle, 255, "Electron #Delta#eta_{in} (endcap)");
142  detainendcap_before_ = theDbe->book1D("DETAINENDCAP_BEFORECUTS",chtitle,40,-0.02,0.02);
143  detainendcap_after_ = theDbe->book1D("DETAINENDCAP_LASTCUT",chtitle,40,-0.02,0.02);
144 
145 // snprintf(chtitle, 255, "Muon transverse distance to beam spot [cm]");
146 // dxy_before_ = theDbe->book1D("DXY_BEFORECUTS",chtitle,100,-0.5,0.5);
147 // dxy_after_ = theDbe->book1D("DXY_LASTCUT",chtitle,100,-0.5,0.5);
148 
149 // snprintf(chtitle, 255, "Normalized Chi2, inner track fit");
150 // chi2_before_ = theDbe->book1D("CHI2_BEFORECUTS",chtitle,100,0.,100.);
151 // chi2_after_ = theDbe->book1D("CHI2_LASTCUT",chtitle,100,0.,100.);
152 
153 // snprintf(chtitle, 255, "Number of hits, inner track");
154 // nhits_before_ = theDbe->book1D("NHITS_BEFORECUTS",chtitle,40,-0.5,39.5);
155 // nhits_after_ = theDbe->book1D("NHITS_LASTCUT",chtitle,40,-0.5,39.5);
156 
157 // snprintf(chtitle, 255, "Tracker-muon flag (for global muons)");
158 // tkmu_before_ = theDbe->book1D("TKMU_BEFORECUTS",chtitle,2,-0.5,1.5);
159 // tkmu_after_ = theDbe->book1D("TKMU_LASTCUT",chtitle,2,-0.5,1.5);
160 
161 // if (isRelativeIso_) {
162 // if (isCombinedIso_) {
163 // snprintf(chtitle, 255, "Relative (combined) isolation variable");
164 // } else {
165 // snprintf(chtitle, 255, "Relative (tracker) isolation variable");
166 // }
167 // iso_before_ = theDbe->book1D("ISO_BEFORECUTS",chtitle,100, 0., 1.);
168 // iso_after_ = theDbe->book1D("ISO_LASTCUT",chtitle,100, 0., 1.);
169 // } else {
170 // if (isCombinedIso_) {
171 // snprintf(chtitle, 255, "Absolute (combined) isolation variable [GeV]");
172 // } else {
173 // snprintf(chtitle, 255, "Absolute (tracker) isolation variable [GeV]");
174 // }
175 // iso_before_ = theDbe->book1D("ISO_BEFORECUTS",chtitle,100, 0., 20.);
176 // iso_after_ = theDbe->book1D("ISO_LASTCUT",chtitle,100, 0., 20.);
177 // }
178 
179  snprintf(chtitle, 255, "Absolute electron ECAL isolation variable (barrel) [GeV]");
180  ecalisobarrel_before_ = theDbe->book1D("ECALISOBARREL_BEFORECUTS",chtitle,50,0.,50.);
181  ecalisobarrel_after_ = theDbe->book1D("ECALISOBARREL_LASTCUT",chtitle,50,0.,50.);
182 
183  snprintf(chtitle, 255, "Absolute electron ECAL isolation variable (endcap) [GeV]");
184  ecalisoendcap_before_ = theDbe->book1D("ECALISOENDCAP_BEFORECUTS",chtitle,50,0.,50.);
185  ecalisoendcap_after_ = theDbe->book1D("ECALISOENDCAP_LASTCUT",chtitle,50,0.,50.);
186 
187  snprintf(chtitle, 255, "Absolute electron HCAL isolation variable (barrel) [GeV]");
188  hcalisobarrel_before_ = theDbe->book1D("HCALISOBARREL_BEFORECUTS",chtitle,50,0.,50.);
189  hcalisobarrel_after_ = theDbe->book1D("HCALISOBARREL_LASTCUT",chtitle,50,0.,50.);
190 
191  snprintf(chtitle, 255, "Absolute electron HCAL isolation variable (endcap) [GeV]");
192  hcalisoendcap_before_ = theDbe->book1D("HCALISOENDCAP_BEFORECUTS",chtitle,50,0.,50.);
193  hcalisoendcap_after_ = theDbe->book1D("HCALISOENDCAP_LASTCUT",chtitle,50,0.,50.);
194 
195  snprintf(chtitle, 255, "Absolute electron track isolation variable (barrel) [GeV]");
196  trkisobarrel_before_ = theDbe->book1D("TRKISOBARREL_BEFORECUTS",chtitle,50,0.,50.);
197  trkisobarrel_after_ = theDbe->book1D("TRKISOBARREL_LASTCUT",chtitle,50,0.,50.);
198 
199  snprintf(chtitle, 255, "Absolute electron track isolation variable (endcap) [GeV]");
200  trkisoendcap_before_ = theDbe->book1D("TRKISOENDCAP_BEFORECUTS",chtitle,50,0.,50.);
201  trkisoendcap_after_ = theDbe->book1D("TRKISOENDCAP_LASTCUT",chtitle,50,0.,50.);
202 
203 // snprintf(chtitle, 255, "Trigger response (bit %s)", muonTrig_.data());
204 // trig_before_ = theDbe->book1D("TRIG_BEFORECUTS",chtitle,2,-0.5,1.5);
205 // trig_after_ = theDbe->book1D("TRIG_LASTCUT",chtitle,2,-0.5,1.5);
206 
207  //snprintf(chtitle, 255, "Trigger response (bit %s)", elecTrig_.data());
208  snprintf(chtitle, 255, "Trigger response"); // elecTrig_ is now a vector of strings!
209  trig_before_ = theDbe->book1D("TRIG_BEFORECUTS",chtitle,2,-0.5,1.5);
210  trig_after_ = theDbe->book1D("TRIG_LASTCUT",chtitle,2,-0.5,1.5);
211 
212  snprintf(chtitle, 255, "Di-electron invariant mass [GeV]");
213  invmass_before_ = theDbe->book1D("INVMASS_BEFORECUTS",chtitle,100,0.,200.);
214  invmass_after_ = theDbe->book1D("INVMASS_AFTERCUTS",chtitle,100,0.,200.);
215 
216  snprintf(chtitle, 255, "Number of electrons in event");
217  nelectrons_before_ = theDbe->book1D("NELECTRONS_BEFORECUTS",chtitle,10,-0.5,9.5);
218  nelectrons_after_ = theDbe->book1D("NELECTRONS_AFTERCUTS",chtitle,10,-0.5,9.5);
219 
220  snprintf(chtitle, 255, "Transverse mass (%s) [GeV]", metTag_.label().data());
221  mt_before_ = theDbe->book1D("MT_BEFORECUTS",chtitle,150,0.,300.);
222  mt_after_ = theDbe->book1D("MT_LASTCUT",chtitle,150,0.,300.);
223 
224 // snprintf(chtitle, 255, "Transverse mass (%s) [GeV]", metTag_.label().data());
225 // mt_before_ = theDbe->book1D("MT_BEFORECUTS",chtitle,150,0.,300.);
226 // mt_after_ = theDbe->book1D("MT_LASTCUT",chtitle,150,0.,300.);
227 
228  snprintf(chtitle, 255, "Missing transverse energy (%s) [GeV]", metTag_.label().data());
229  met_before_ = theDbe->book1D("MET_BEFORECUTS",chtitle,100,0.,200.);
230  met_after_ = theDbe->book1D("MET_LASTCUT",chtitle,100,0.,200.);
231 
232 // snprintf(chtitle, 255, "MU-MET (%s) acoplanarity", metTag_.label().data());
233 // acop_before_ = theDbe->book1D("ACOP_BEFORECUTS",chtitle,50,0.,M_PI);
234 // acop_after_ = theDbe->book1D("ACOP_LASTCUT",chtitle,50,0.,M_PI);
235 
236 // snprintf(chtitle, 255, "Z rejection: number of muons above %.2f GeV", ptThrForZ1_);
237 // nz1_before_ = theDbe->book1D("NZ1_BEFORECUTS",chtitle,10,-0.5,9.5);
238 // nz1_after_ = theDbe->book1D("NZ1_LASTCUT",chtitle,10,-0.5,9.5);
239 
240 // snprintf(chtitle, 255, "Z rejection: number of muons above %.2f GeV", ptThrForZ2_);
241 // nz2_before_ = theDbe->book1D("NZ2_BEFORECUTS",chtitle,10,-0.5,9.5);
242 // nz2_after_ = theDbe->book1D("NZ2_LASTCUT",chtitle,10,-0.5,9.5);
243 
244  snprintf(chtitle, 255, "Number of jets (%s) above %.2f GeV", jetTag_.label().data(), eJetMin_);
245  njets_before_ = theDbe->book1D("NJETS_BEFORECUTS",chtitle,10,-0.5,9.5);
246  njets_after_ = theDbe->book1D("NJETS_LASTCUT",chtitle,10,-0.5,9.5);
247  snprintf(chtitle, 255, "Jet with highest E_{T} (%s)", jetTag_.label().data());
248  jet_et_before_ = theDbe->book1D("JETET1_BEFORECUTS",chtitle, 20, 0., 200.0);
249  jet_et_after_ = theDbe->book1D("JETET1_AFTERCUTS",chtitle, 20, 0., 200.0);
250  snprintf(chtitle, 255, "Eta of Jet with highest E_{T} (%s)", jetTag_.label().data());
251  jet_eta_before_ = theDbe->book1D("JETETA1_BEFORECUTS",chtitle, 20, -5, 5);
252  jet_eta_after_ = theDbe->book1D("JETETA1_AFTERCUTS",chtitle, 20, -5, 5);
253 // snprintf(chtitle, 255, "Jet with 2nd highest E_{T} (%s)", jetTag_.label().data());
254 // jet2_et_before = theDbe->book1D("JETET2_BEFORECUTS",chtitle, 20, 0., 200.0);
255 // jet2_et_after = theDbe->book1D("JETET2_AFTERCUTS",chtitle, 20, 0., 200.0);
256 
257 
258 
259  }
260 }
MonitorElement * ecalisoendcap_after_
Definition: EwkElecDQM.h:123
MonitorElement * jet_et_after_
Definition: EwkElecDQM.h:164
int i
Definition: DBlmapReader.cc:9
MonitorElement * invmass_after_
Definition: EwkElecDQM.h:141
MonitorElement * hcalisobarrel_after_
Definition: EwkElecDQM.h:126
DQMStore * theDbe
Definition: EwkElecDQM.h:87
MonitorElement * nelectrons_before_
Definition: EwkElecDQM.h:143
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:519
MonitorElement * sieieendcap_before_
Definition: EwkElecDQM.h:98
MonitorElement * sieieendcap_after_
Definition: EwkElecDQM.h:99
MonitorElement * ecalisobarrel_before_
Definition: EwkElecDQM.h:119
edm::InputTag jetTag_
Definition: EwkElecDQM.h:37
MonitorElement * sieiebarrel_before_
Definition: EwkElecDQM.h:95
MonitorElement * hcalisobarrel_before_
Definition: EwkElecDQM.h:125
MonitorElement * detainbarrel_after_
Definition: EwkElecDQM.h:102
MonitorElement * ecalisobarrel_after_
Definition: EwkElecDQM.h:120
MonitorElement * detainendcap_before_
Definition: EwkElecDQM.h:104
MonitorElement * trig_before_
Definition: EwkElecDQM.h:137
MonitorElement * sieiebarrel_after_
Definition: EwkElecDQM.h:96
MonitorElement * detainbarrel_before_
Definition: EwkElecDQM.h:101
MonitorElement * mt_before_
Definition: EwkElecDQM.h:146
MonitorElement * nelectrons_after_
Definition: EwkElecDQM.h:144
MonitorElement * hcalisoendcap_before_
Definition: EwkElecDQM.h:128
MonitorElement * mt_after_
Definition: EwkElecDQM.h:147
MonitorElement * jet_et_before_
Definition: EwkElecDQM.h:163
MonitorElement * njets_after_
Definition: EwkElecDQM.h:162
MonitorElement * pt_before_
Definition: EwkElecDQM.h:89
MonitorElement * pt_after_
Definition: EwkElecDQM.h:90
MonitorElement * hcalisoendcap_after_
Definition: EwkElecDQM.h:129
edm::InputTag metTag_
Definition: EwkElecDQM.h:35
MonitorElement * invmass_before_
Definition: EwkElecDQM.h:140
MonitorElement * ecalisoendcap_before_
Definition: EwkElecDQM.h:122
MonitorElement * jet_eta_after_
Definition: EwkElecDQM.h:166
MonitorElement * trig_after_
Definition: EwkElecDQM.h:138
MonitorElement * jet_eta_before_
Definition: EwkElecDQM.h:165
MonitorElement * detainendcap_after_
Definition: EwkElecDQM.h:105
MonitorElement * njets_before_
Definition: EwkElecDQM.h:161
MonitorElement * trkisobarrel_before_
Definition: EwkElecDQM.h:131
MonitorElement * met_before_
Definition: EwkElecDQM.h:149
MonitorElement * trkisoendcap_before_
Definition: EwkElecDQM.h:134
std::string const & label() const
Definition: InputTag.h:25
MonitorElement * met_after_
Definition: EwkElecDQM.h:150
double eJetMin_
Definition: EwkElecDQM.h:73
MonitorElement * trkisobarrel_after_
Definition: EwkElecDQM.h:132
MonitorElement * eta_after_
Definition: EwkElecDQM.h:93
MonitorElement * trkisoendcap_after_
Definition: EwkElecDQM.h:135
MonitorElement * eta_before_
Definition: EwkElecDQM.h:92

Member Data Documentation

MonitorElement* EwkElecDQM::detainbarrel_after_
private

Definition at line 102 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::detainbarrel_before_
private

Definition at line 101 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

double EwkElecDQM::detainCutBarrel_
private

Definition at line 46 of file EwkElecDQM.h.

Referenced by analyze().

double EwkElecDQM::detainCutEndcap_
private

Definition at line 47 of file EwkElecDQM.h.

Referenced by analyze().

MonitorElement* EwkElecDQM::detainendcap_after_
private

Definition at line 105 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::detainendcap_before_
private

Definition at line 104 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::ecalisobarrel_after_
private

Definition at line 120 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::ecalisobarrel_before_
private

Definition at line 119 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

double EwkElecDQM::ecalIsoCutBarrel_
private

Definition at line 53 of file EwkElecDQM.h.

Referenced by analyze().

double EwkElecDQM::ecalIsoCutEndcap_
private

Definition at line 54 of file EwkElecDQM.h.

Referenced by analyze().

MonitorElement* EwkElecDQM::ecalisoendcap_after_
private

Definition at line 123 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::ecalisoendcap_before_
private

Definition at line 122 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

double EwkElecDQM::eJetMin_
private

Definition at line 73 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

edm::InputTag EwkElecDQM::elecTag_
private

Definition at line 34 of file EwkElecDQM.h.

Referenced by analyze().

const std::vector<std::string> EwkElecDQM::elecTrig_
private

Definition at line 40 of file EwkElecDQM.h.

Referenced by analyze().

MonitorElement* EwkElecDQM::eta_after_
private

Definition at line 93 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::eta_before_
private

Definition at line 92 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

double EwkElecDQM::etaCut_
private

Definition at line 42 of file EwkElecDQM.h.

Referenced by analyze().

MonitorElement* EwkElecDQM::hcalisobarrel_after_
private

Definition at line 126 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::hcalisobarrel_before_
private

Definition at line 125 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

double EwkElecDQM::hcalIsoCutBarrel_
private

Definition at line 55 of file EwkElecDQM.h.

Referenced by analyze().

double EwkElecDQM::hcalIsoCutEndcap_
private

Definition at line 56 of file EwkElecDQM.h.

Referenced by analyze().

MonitorElement* EwkElecDQM::hcalisoendcap_after_
private

Definition at line 129 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::hcalisoendcap_before_
private

Definition at line 128 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::invmass_after_
private

Definition at line 141 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::invmass_before_
private

Definition at line 140 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::jet_et_after_
private

Definition at line 164 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::jet_et_before_
private

Definition at line 163 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::jet_eta_after_
private

Definition at line 166 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::jet_eta_before_
private

Definition at line 165 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

edm::InputTag EwkElecDQM::jetTag_
private

Definition at line 37 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::met_after_
private

Definition at line 150 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::met_before_
private

Definition at line 149 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

bool EwkElecDQM::metIncludesMuons_
private

Definition at line 36 of file EwkElecDQM.h.

double EwkElecDQM::metMax_
private

Definition at line 62 of file EwkElecDQM.h.

Referenced by analyze().

double EwkElecDQM::metMin_
private

Definition at line 61 of file EwkElecDQM.h.

Referenced by analyze().

edm::InputTag EwkElecDQM::metTag_
private

Definition at line 35 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::mt_after_
private

Definition at line 147 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::mt_before_
private

Definition at line 146 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

double EwkElecDQM::mtMax_
private

Definition at line 60 of file EwkElecDQM.h.

Referenced by analyze().

double EwkElecDQM::mtMin_
private

Definition at line 59 of file EwkElecDQM.h.

Referenced by analyze().

unsigned int EwkElecDQM::nall
private

Definition at line 76 of file EwkElecDQM.h.

Referenced by analyze(), beginRun(), and endRun().

unsigned int EwkElecDQM::neid
private

Definition at line 78 of file EwkElecDQM.h.

Referenced by analyze(), beginRun(), and endRun().

MonitorElement* EwkElecDQM::nelectrons_after_
private

Definition at line 144 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::nelectrons_before_
private

Definition at line 143 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

unsigned int EwkElecDQM::nGoodElectrons
private

Definition at line 85 of file EwkElecDQM.h.

Referenced by analyze().

unsigned int EwkElecDQM::niso
private

Definition at line 79 of file EwkElecDQM.h.

Referenced by analyze(), beginRun(), and endRun().

int EwkElecDQM::nJetMax_
private

Definition at line 74 of file EwkElecDQM.h.

Referenced by analyze().

MonitorElement* EwkElecDQM::njets_after_
private

Definition at line 162 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::njets_before_
private

Definition at line 161 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

unsigned int EwkElecDQM::nrec
private

Definition at line 77 of file EwkElecDQM.h.

Referenced by analyze(), beginRun(), and endRun().

unsigned int EwkElecDQM::nsel
private

Definition at line 82 of file EwkElecDQM.h.

Referenced by analyze(), beginRun(), and endRun().

MonitorElement* EwkElecDQM::pt_after_
private

Definition at line 90 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::pt_before_
private

Definition at line 89 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

double EwkElecDQM::ptCut_
private

Definition at line 41 of file EwkElecDQM.h.

Referenced by analyze().

MonitorElement* EwkElecDQM::sieiebarrel_after_
private

Definition at line 96 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::sieiebarrel_before_
private

Definition at line 95 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

double EwkElecDQM::sieieCutBarrel_
private

Definition at line 44 of file EwkElecDQM.h.

Referenced by analyze().

double EwkElecDQM::sieieCutEndcap_
private

Definition at line 45 of file EwkElecDQM.h.

Referenced by analyze().

MonitorElement* EwkElecDQM::sieieendcap_after_
private

Definition at line 99 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::sieieendcap_before_
private

Definition at line 98 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

DQMStore* EwkElecDQM::theDbe
private

Definition at line 87 of file EwkElecDQM.h.

Referenced by beginJob(), and init_histograms().

MonitorElement* EwkElecDQM::trig_after_
private

Definition at line 138 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::trig_before_
private

Definition at line 137 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

edm::InputTag EwkElecDQM::trigTag_
private

Definition at line 32 of file EwkElecDQM.h.

Referenced by analyze().

MonitorElement* EwkElecDQM::trkisobarrel_after_
private

Definition at line 132 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::trkisobarrel_before_
private

Definition at line 131 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

double EwkElecDQM::trkIsoCutBarrel_
private

Definition at line 57 of file EwkElecDQM.h.

Referenced by analyze().

double EwkElecDQM::trkIsoCutEndcap_
private

Definition at line 58 of file EwkElecDQM.h.

Referenced by analyze().

MonitorElement* EwkElecDQM::trkisoendcap_after_
private

Definition at line 135 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkElecDQM::trkisoendcap_before_
private

Definition at line 134 of file EwkElecDQM.h.

Referenced by analyze(), and init_histograms().