CMS 3D CMS Logo

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

#include <EwkMuDQM.h>

Inheritance diagram for EwkMuDQM:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
 EwkMuDQM (const edm::ParameterSet &)
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Protected Member Functions

void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (const edm::Run &, const edm::EventSetup &) override
 
void init_histograms ()
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Private Attributes

MonitorElementacop_after_
 
MonitorElementacop_before_
 
double acopCut_
 
edm::EDGetTokenT< reco::BeamSpotbeamSpotTag_
 
MonitorElementdimuonmass_afterZ_
 
MonitorElementdimuonmass_before_
 
double dimuonMassMax_
 
double dimuonMassMin_
 
MonitorElementdxy1_afterZ_
 
MonitorElementdxy2_afterZ_
 
MonitorElementdxy_after_
 
MonitorElementdxy_before_
 
double dxyCut_
 
double eJetMin_
 
MonitorElementeta1_afterZ_
 
MonitorElementeta2_afterZ_
 
MonitorElementeta_after_
 
MonitorElementeta_before_
 
double etaCut_
 
MonitorElementgoodewkmuon1_afterZ_
 
MonitorElementgoodewkmuon2_afterZ_
 
MonitorElementgoodewkmuon_after_
 
MonitorElementgoodewkmuon_before_
 
HLTPrescaleProvider hltPrescaleProvider_
 
bool isAlsoTrackerMuon_
 
bool isCombinedIso_
 
MonitorElementiso1_afterZ_
 
MonitorElementiso2_afterZ_
 
MonitorElementiso_after_
 
MonitorElementiso_before_
 
double isoCut03_
 
bool isRelativeIso_
 
bool isValidHltConfig_
 
edm::InputTag jetTag_
 
edm::EDGetTokenT< edm::View< reco::Jet > > jetToken_
 
MonitorElementleadingjet_eta_after_
 
MonitorElementleadingjet_eta_afterZ_
 
MonitorElementleadingjet_eta_before_
 
MonitorElementleadingjet_pt_after_
 
MonitorElementleadingjet_pt_afterZ_
 
MonitorElementleadingjet_pt_before_
 
MonitorElementmet_after_
 
MonitorElementmet_afterZ_
 
MonitorElementmet_before_
 
double metMax_
 
double metMin_
 
edm::InputTag metTag_
 
edm::EDGetTokenT< edm::View< reco::MET > > metToken_
 
MonitorElementmt_after_
 
MonitorElementmt_before_
 
double mtMax_
 
double mtMin_
 
MonitorElementmuoncharge_after_
 
MonitorElementmuoncharge_afterZ_
 
MonitorElementmuoncharge_before_
 
int muonHitsCut_
 
edm::EDGetTokenT< edm::View< reco::Muon > > muonTag_
 
MonitorElementn_zselPt1thr_
 
MonitorElementn_zselPt2thr_
 
unsigned int nall
 
MonitorElementngoodmuons_
 
unsigned int nhlt
 
unsigned int niso
 
int nJetMax_
 
MonitorElementnjets_after_
 
MonitorElementnjets_afterZ_
 
MonitorElementnjets_before_
 
int nMatchesCut_
 
unsigned int nmet
 
MonitorElementnmuons_
 
double normalizedChi2Cut_
 
MonitorElementnpfph_
 
MonitorElementnph_
 
int nPhoMax_
 
MonitorElementnpvs_after_
 
MonitorElementnpvs_afterZ_
 
MonitorElementnpvs_before_
 
unsigned int nrec
 
unsigned int nsel
 
unsigned int nz
 
MonitorElementpfphEta_
 
MonitorElementpfphPt_
 
MonitorElementphEta_
 
edm::EDGetTokenT< edm::View< reco::Photon > > phoTag_
 
MonitorElementphPt_
 
int pixelHitsCut_
 
MonitorElementpt1_afterZ_
 
MonitorElementpt2_afterZ_
 
MonitorElementpt_after_
 
MonitorElementpt_before_
 
double ptCut_
 
MonitorElementptDiffPM_afterZ_
 
MonitorElementptDiffPM_before_
 
double ptThrForPhoton_
 
double ptThrForZ1_
 
double ptThrForZ2_
 
int trackerHitsCut_
 
MonitorElementtrig_after_
 
MonitorElementtrig_before_
 
std::vector< std::string > trigPathNames_
 
edm::EDGetTokenT< edm::TriggerResultstrigTag_
 
edm::EDGetTokenT< edm::View< reco::Vertex > > vertexTag_
 
MonitorElementztrig_afterZ_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

DQM offline for EWKMu

Definition at line 27 of file EwkMuDQM.h.

Constructor & Destructor Documentation

◆ EwkMuDQM()

EwkMuDQM::EwkMuDQM ( const edm::ParameterSet cfg)

Definition at line 36 of file EwkMuDQM.cc.

References isValidHltConfig_.

37  : // Input collections
38  metTag_(cfg.getUntrackedParameter<edm::InputTag>("METTag", edm::InputTag("pfmet"))),
39  jetTag_(cfg.getUntrackedParameter<edm::InputTag>("JetTag", edm::InputTag("ak4PFJets"))),
40  //trigTag_(consumes<edm::TriggerResults>(
41  // cfg.getUntrackedParameter<edm::InputTag>(
42  // "TrigTag", edm::InputTag("TriggerResults::HLT")))),
44  cfg.getUntrackedParameter<edm::InputTag>("MuonTag", edm::InputTag("muons")))),
45  metToken_(
46  consumes<edm::View<reco::MET> >(cfg.getUntrackedParameter<edm::InputTag>("METTag", edm::InputTag("pfmet")))),
48  cfg.getUntrackedParameter<edm::InputTag>("JetTag", edm::InputTag("ak4PFJets")))),
50  cfg.getUntrackedParameter<edm::InputTag>("phoTag", edm::InputTag("photons")))),
52  cfg.getUntrackedParameter<edm::InputTag>("VertexTag", edm::InputTag("offlinePrimaryVertices")))),
53  beamSpotTag_(consumes<reco::BeamSpot>(
54  cfg.getUntrackedParameter<edm::InputTag>("beamSpotTag", edm::InputTag("offlineBeamSpot")))),
55  // trigPathNames_(cfg.getUntrackedParameter<std::vector<std::string> >(
56  // "TrigPathNames")),
57 
58  // Muon quality cuts
59  isAlsoTrackerMuon_(cfg.getUntrackedParameter<bool>("IsAlsoTrackerMuon", true)), // Glb muon also tracker muon
60  dxyCut_(cfg.getUntrackedParameter<double>("DxyCut", 0.2)), // dxy < 0.2 cm
62  cfg.getUntrackedParameter<double>("NormalizedChi2Cut", 10.)), // chi2/ndof (of global fit) <10.0
63  trackerHitsCut_(cfg.getUntrackedParameter<int>("TrackerHitsCut",
64  11)), // Tracker Hits >10
65  pixelHitsCut_(cfg.getUntrackedParameter<int>("PixelHitsCut", 1)), // Pixel Hits >0
66  muonHitsCut_(cfg.getUntrackedParameter<int>("MuonHitsCut",
67  1)), // Valid Muon Hits >0
68  nMatchesCut_(cfg.getUntrackedParameter<int>("NMatchesCut", 2)), // At least 2 Chambers with matches
69 
70  // W-boson cuts
71  isRelativeIso_(cfg.getUntrackedParameter<bool>("IsRelativeIso", true)),
72  isCombinedIso_(cfg.getUntrackedParameter<bool>("IsCombinedIso", false)),
73  isoCut03_(cfg.getUntrackedParameter<double>("IsoCut03", 0.1)),
74  acopCut_(cfg.getUntrackedParameter<double>("AcopCut", 999.)),
75  metMin_(cfg.getUntrackedParameter<double>("MetMin", -999999.)),
76  metMax_(cfg.getUntrackedParameter<double>("MetMax", 999999.)),
77  mtMin_(cfg.getUntrackedParameter<double>("MtMin", 50.)),
78  mtMax_(cfg.getUntrackedParameter<double>("MtMax", 200.)),
79  ptCut_(cfg.getUntrackedParameter<double>("PtCut", 20.)),
80  etaCut_(cfg.getUntrackedParameter<double>("EtaCut", 2.4)),
81 
82  // Z rejection
83  ptThrForZ1_(cfg.getUntrackedParameter<double>("PtThrForZ1", 20.)),
84  ptThrForZ2_(cfg.getUntrackedParameter<double>("PtThrForZ2", 10.)),
85 
86  // Z selection
87  dimuonMassMin_(cfg.getUntrackedParameter<double>("dimuonMassMin", 80.)),
88  dimuonMassMax_(cfg.getUntrackedParameter<double>("dimuonMassMax", 120.)),
89 
90  // Top rejection
91  eJetMin_(cfg.getUntrackedParameter<double>("EJetMin", 999999.)),
92  nJetMax_(cfg.getUntrackedParameter<int>("NJetMax", 999999)),
93 
94  // Photon cuts
95  ptThrForPhoton_(cfg.getUntrackedParameter<double>("ptThrForPhoton", 5.)),
96  nPhoMax_(cfg.getUntrackedParameter<int>("nPhoMax", 999999)),
97  hltPrescaleProvider_(cfg, consumesCollector(), *this) {
98  isValidHltConfig_ = false;
99 }
double etaCut_
Definition: EwkMuDQM.h:70
int nMatchesCut_
Definition: EwkMuDQM.h:57
double mtMax_
Definition: EwkMuDQM.h:67
double ptThrForPhoton_
Definition: EwkMuDQM.h:81
double metMax_
Definition: EwkMuDQM.h:65
edm::EDGetTokenT< reco::BeamSpot > beamSpotTag_
Definition: EwkMuDQM.h:48
double ptCut_
Definition: EwkMuDQM.h:69
double isoCut03_
Definition: EwkMuDQM.h:61
double eJetMin_
Definition: EwkMuDQM.h:78
double metMin_
Definition: EwkMuDQM.h:64
double ptThrForZ2_
Definition: EwkMuDQM.h:73
int nJetMax_
Definition: EwkMuDQM.h:79
double dxyCut_
Definition: EwkMuDQM.h:52
bool isAlsoTrackerMuon_
Definition: EwkMuDQM.h:51
double dimuonMassMin_
Definition: EwkMuDQM.h:75
bool isCombinedIso_
Definition: EwkMuDQM.h:60
double dimuonMassMax_
Definition: EwkMuDQM.h:76
bool isRelativeIso_
Definition: EwkMuDQM.h:59
HLTPrescaleProvider hltPrescaleProvider_
Definition: EwkMuDQM.h:85
edm::InputTag jetTag_
Definition: EwkMuDQM.h:41
int pixelHitsCut_
Definition: EwkMuDQM.h:55
edm::EDGetTokenT< edm::View< reco::Vertex > > vertexTag_
Definition: EwkMuDQM.h:47
double normalizedChi2Cut_
Definition: EwkMuDQM.h:53
edm::InputTag metTag_
Definition: EwkMuDQM.h:40
int trackerHitsCut_
Definition: EwkMuDQM.h:54
double mtMin_
Definition: EwkMuDQM.h:66
double ptThrForZ1_
Definition: EwkMuDQM.h:72
edm::EDGetTokenT< edm::View< reco::Jet > > jetToken_
Definition: EwkMuDQM.h:45
int muonHitsCut_
Definition: EwkMuDQM.h:56
edm::EDGetTokenT< edm::View< reco::Muon > > muonTag_
Definition: EwkMuDQM.h:43
int nPhoMax_
Definition: EwkMuDQM.h:82
edm::EDGetTokenT< edm::View< reco::MET > > metToken_
Definition: EwkMuDQM.h:44
edm::EDGetTokenT< edm::View< reco::Photon > > phoTag_
Definition: EwkMuDQM.h:46
double acopCut_
Definition: EwkMuDQM.h:63
bool isValidHltConfig_
Definition: EwkMuDQM.h:84

Member Function Documentation

◆ analyze()

void EwkMuDQM::analyze ( const edm::Event ev,
const edm::EventSetup iSet 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 243 of file EwkMuDQM.cc.

References acop_after_, acop_before_, acopCut_, beamSpotTag_, ALCARECOTkAlJpsiMuMu_cff::charge, reco::LeafCandidate::charge(), EcalCondDBWriter_cfi::cosmic, dimuonmass_afterZ_, dimuonmass_before_, dimuonMassMax_, dimuonMassMin_, HLT_2023v12_cff::distance, PVValHelper::dxy, dxy1_afterZ_, dxy2_afterZ_, dxy_after_, dxy_before_, dxyCut_, eJetMin_, reco::MuonIsolation::emEt, PVValHelper::eta, reco::LeafCandidate::eta(), eta1_afterZ_, HLT_2023v12_cff::eta2, eta2_afterZ_, eta_after_, eta_before_, etaCut_, makeMEIFBenchmarkPlots::ev, dqm::impl::MonitorElement::Fill(), reco::Muon::globalTrack(), goodewkmuon1_afterZ_, goodewkmuon2_afterZ_, goodewkmuon_after_, goodewkmuon_before_, reco::MuonIsolation::hadEt, hltPrescaleProvider_, mps_fire::i, reco::Muon::innerTrack(), isCombinedIso_, reco::Muon::isGlobalMuon(), iso1_afterZ_, iso2_afterZ_, iso_after_, iso_before_, isoCut03_, reco::Muon::isolationR03(), isRelativeIso_, reco::Muon::isTrackerMuon(), dqmiolumiharvest::j, metsig::jet, jetfilter_cfi::jetCollection, jetToken_, findQualityFiles::jj, leadingjet_eta_after_, leadingjet_eta_afterZ_, leadingjet_eta_before_, leadingjet_pt_after_, leadingjet_pt_afterZ_, leadingjet_pt_before_, LogTrace, M_PI, BTaggingMonitor_cfi::met, met_after_, met_afterZ_, met_before_, susyDQM_cfi::metCollection, metMax_, metMin_, metToken_, mt_after_, mt_before_, mtMax_, mtMin_, amptDefaultParameters_cff::mu, muoncharge_after_, muoncharge_afterZ_, muoncharge_before_, pdwgLeptonRecoSkim_cfi::muonCollection, muonHitsCut_, muonTag_, n_zselPt1thr_, n_zselPt2thr_, nall, ngoodmuons_, nJetMax_, BTaggingMonitoring_cff::njets, njets_after_, njets_afterZ_, njets_before_, nMatchesCut_, nmuons_, TrackCollections2monitor_cff::normalizedChi2, normalizedChi2Cut_, nph_, npvs_after_, npvs_afterZ_, npvs_before_, reco::Muon::numberOfMatches(), reco::LeafCandidate::p(), phEta_, phoTag_, ExoticaDQM_cfi::photonCollection, HLTObjectMonitor_cfi::photonPt, phPt_, InitialStepPreSplitting_cff::pixelHits, pixelHitsCut_, reco::BeamSpot::position(), HLTPrescaleProvider::prescaleSet(), DiDispStaMuonMonitor_cfi::pt, reco::LeafCandidate::pt(), pt1_afterZ_, HLT_2023v12_cff::pt2, pt2_afterZ_, pt_after_, pt_before_, ptCut_, ptDiffPM_afterZ_, ptDiffPM_before_, ptThrForPhoton_, ptThrForZ1_, ptThrForZ2_, reco::LeafCandidate::px(), reco::LeafCandidate::py(), reco::LeafCandidate::pz(), quality, mathSSE::sqrt(), reco::MuonIsolation::sumPt, trackerHitsCut_, Geom::Phi< T1, Range >::value(), bphysicsOniaDQM_cfi::vertex, spclusmultinvestigator_cfi::vertexCollection, and vertexTag_.

243  {
244  // Muon collection
246  if (!ev.getByToken(muonTag_, muonCollection)) {
247  // LogWarning("") << ">>> Muon collection does not exist !!!";
248  return;
249  }
250  unsigned int muonCollectionSize = muonCollection->size();
251 
252  // Beam spot
253  Handle<reco::BeamSpot> beamSpotHandle;
254  if (!ev.getByToken(beamSpotTag_, beamSpotHandle)) {
255  // LogWarning("") << ">>> No beam spot found !!!";
256  return;
257  }
258 
259  // Loop to reject/control Z->mumu is done separately
260  unsigned int nmuonsForZ1 = 0;
261  unsigned int nmuonsForZ2 = 0;
262  bool cosmic = false;
263  for (unsigned int i = 0; i < muonCollectionSize; i++) {
264  const Muon& mu = muonCollection->at(i);
265  if (!mu.isGlobalMuon())
266  continue;
267  double pt = mu.pt();
268  double dxy = mu.innerTrack()->dxy(beamSpotHandle->position());
269 
270  if (fabs(dxy) > 1) {
271  cosmic = true;
272  break;
273  }
274 
275  if (pt > ptThrForZ1_)
276  nmuonsForZ1++;
277  if (pt > ptThrForZ2_)
278  nmuonsForZ2++;
279 
280  for (unsigned int j = i + 1; j < muonCollectionSize; j++) {
281  const Muon& mu2 = muonCollection->at(j);
282  if (mu2.isGlobalMuon() && (mu.charge() * mu2.charge() == -1)) {
283  const math::XYZTLorentzVector ZRecoGlb(
284  mu.px() + mu2.px(), mu.py() + mu2.py(), mu.pz() + mu2.pz(), mu.p() + mu2.p());
285  dimuonmass_before_->Fill(ZRecoGlb.mass());
286  if (mu.charge() > 0) {
287  ptDiffPM_before_->Fill(mu.pt() - mu2.pt());
288  } else {
289  ptDiffPM_before_->Fill(mu2.pt() - mu.pt());
290  }
291  }
292  }
293  }
294  if (cosmic)
295  return;
296 
297  LogTrace("") << "> Z rejection: muons above " << ptThrForZ1_ << " [GeV]: " << nmuonsForZ1;
298  LogTrace("") << "> Z rejection: muons above " << ptThrForZ2_ << " [GeV]: " << nmuonsForZ2;
299 
300  // MET
302  if (!ev.getByToken(metToken_, metCollection)) {
303  // LogWarning("") << ">>> MET collection does not exist !!!";
304  return;
305  }
306  const MET& met = metCollection->at(0);
307  double met_et = met.pt();
308  LogTrace("") << ">>> MET, MET_px, MET_py: " << met_et << ", " << met.px() << ", " << met.py() << " [GeV]";
309  met_before_->Fill(met_et);
310 
311  // Vertices in the event
313  if (!ev.getByToken(vertexTag_, vertexCollection)) {
314  LogError("") << ">>> Vertex collection does not exist !!!";
315  return;
316  }
317  unsigned int vertexCollectionSize = vertexCollection->size();
318 
319  int nvvertex = 0;
320  for (unsigned int i = 0; i < vertexCollectionSize; i++) {
321  const Vertex& vertex = vertexCollection->at(i);
322  if (vertex.isValid())
323  nvvertex++;
324  }
325 
326  npvs_before_->Fill(nvvertex);
327 
328  // bool trigger_fired = false;
329  //Handle<TriggerResults> triggerResults;
330  // if (!ev.getByToken(trigTag_, triggerResults)) {
331  // LogWarning("") << ">>> TRIGGER collection does not exist !!!";
332  // return;
333  // }
334  // const edm::TriggerNames& trigNames = ev.triggerNames(*triggerResults);
335  // LogWarning("")<<"Loop over triggers";
336 
337  //HLTConfigProvider const& hltConfigProvider = hltPrescaleProvider_.hltConfigProvider();
338 
339  /* change faulty logic of triggering
340  for (unsigned int i=0; i<triggerResults->size(); i++)
341  {
342  const std::string trigName = trigNames.triggerName(i);
343 
344  bool found=false;
345  for(unsigned int index=0; index<trigPathNames_.size() && found==false;
346  index++) {
347  size_t trigPath = trigName.find(trigPathNames_[index]); // 0 if
348  found, pos if not
349  if (trigPath==0) found=true;
350  }
351  if(!found) {continue;}
352 
353  bool prescaled=false;
354  for (unsigned int ps= 0; ps< hltConfigProvider.prescaleSize();
355  ps++){
356  const unsigned int prescaleValue =
357  hltConfigProvider.prescaleValue(ps, trigName) ;
358  if (prescaleValue != 1) prescaled =true;
359  }
360 
361  if( triggerResults->accept(i) && !prescaled){ trigger_fired=true;}
362  // LogWarning("")<<"TrigNo: "<<i<<" "<<found<<"
363  "<<trigName<<" ---> FIRED";}
364  }
365  */
366 
367  // get the prescale set for this event
368  const int prescaleSet = hltPrescaleProvider_.prescaleSet(ev, iSet);
369  if (prescaleSet == -1) {
370  LogTrace("") << "Failed to determine prescaleSet\n";
371  // std::cout << "Failed to determine prescaleSet. Check the GlobalTag in
372  // cfg\n";
373  return;
374  }
375 
376  // for (unsigned int i = 0;
377  // (i < triggerResults->size()) && (trigger_fired == false); i++) {
378  // skip trigger, if it did not fire
379  //if (!triggerResults->accept(i)) continue;
380 
381  // skip trigger, if it is not on our list
382  //bool found = false;
383  //const std::string trigName = trigNames.triggerName(i);
384  //for (unsigned int index = 0;
385  // index < trigPathNames_.size() && found == false; index++) {
386  // if (trigName.find(trigPathNames_.at(index)) == 0) found = true;
387  // }
388  // if (!found) continue;
389 
390  // skip trigger, if it is prescaled
391  /* if (prescaleSet != -1) {
392  if (hltConfigProvider.prescaleValue(prescaleSet, trigName) != 1)
393  continue;
394  } else {
395  // prescaleSet is not known.
396  // This branch is not needed, if prescaleSet=-1 forces to skip event
397  int prescaled = 0;
398  for (unsigned int ps = 0;
399  !prescaled && (ps < hltConfigProvider.prescaleSize()); ++ps) {
400  if (hltConfigProvider.prescaleValue(ps, trigName) != 1) {
401  prescaled = 1;
402  }
403  }
404  if (prescaled) {
405  // std::cout << "trigger prescaled\n";
406  continue;
407  }
408  }
409 */
410  // std::cout << "found unprescaled trigger that fired: " << trigName <<
411  // "\n";
412  // trigger_fired = true;
413  // }
414  // if (trigger_fired) std::cout << "\n\tGot Trigger\n";
415 
416  // trig_before_->Fill(trigger_fired);
417 
418  // Jet collection
420  if (!ev.getByToken(jetToken_, jetCollection)) {
421  // LogError("") << ">>> JET collection does not exist !!!";
422  return;
423  }
424  unsigned int jetCollectionSize = jetCollection->size();
425  int njets = 0;
426  int LEADJET = -1;
427  double max_pt = 0;
428  for (unsigned int i = 0; i < jetCollectionSize; i++) {
429  const Jet& jet = jetCollection->at(i);
430  double minDistance = 99999; // This is in order to use PFJets
431  for (unsigned int j = 0; j < muonCollectionSize; j++) {
432  const Muon& mu = muonCollection->at(j);
433  double distance =
434  sqrt((mu.eta() - jet.eta()) * (mu.eta() - jet.eta()) + (mu.phi() - jet.phi()) * (mu.phi() - jet.phi()));
435  if (minDistance > distance)
436  minDistance = distance;
437  }
438  if (minDistance < 0.3)
439  continue; // 0.3 is the isolation cone around the muon
440  if (jet.et() > max_pt) {
441  LEADJET = i;
442  max_pt = jet.et();
443  }
444  if (jet.et() > eJetMin_) {
445  njets++;
446  }
447  }
448 
449  LogTrace("") << ">>> Total number of jets: " << jetCollectionSize;
450  LogTrace("") << ">>> Number of jets above " << eJetMin_ << " [GeV]: " << njets;
452  double lead_jet_pt = -1;
453  double lead_jet_eta = -100;
454  if (LEADJET != -1) {
455  const Jet& leadJet = jetCollection->at(LEADJET);
456  leadingjet_pt_before_->Fill(leadJet.pt());
457  leadingjet_eta_before_->Fill(leadJet.eta());
458  lead_jet_pt = leadJet.pt();
459  lead_jet_eta = leadJet.eta();
460  }
461  // Photon Collection
463  if (!ev.getByToken(phoTag_, photonCollection)) {
464  // LogError("")
465  return;
466  }
467  unsigned int ngam = 0;
468 
469  for (unsigned int i = 0; i < photonCollection->size(); i++) {
470  const Photon& ph = photonCollection->at(i);
471  double photonPt = ph.pt();
472  if (photonPt > ptThrForPhoton_) {
473  ngam++;
474  phEta_->Fill(ph.eta());
475  }
476  phPt_->Fill(photonPt);
477  }
478  nph_->Fill(ngam);
479  LogTrace("") << " >>> N photons " << ngam << std::endl;
480 
481  nmuons_->Fill(muonCollectionSize);
482 
483  // Start counting
484  nall++;
485 
486  // Histograms per event should be done only once, so keep track of them
487  // bool hlt_hist_done = false;
488  // bool zhlt_hist_done = false;
489  bool zjets_hist_done = false;
490  bool zfullsel_hist_done = false;
491  bool met_hist_done = false;
492  bool njets_hist_done = false;
493  bool wfullsel_hist_done = false;
494 
495  // Central W->mu nu selection criteria
496  const int NFLAGS = 10;
497  bool muon_sel[NFLAGS];
498  const int NFLAGSZ = 12;
499  bool zmuon_sel[NFLAGSZ];
500  bool muon4Z = false;
501 
502  double number_of_goodMuons = 0;
503 
504  for (unsigned int i = 0; i < muonCollectionSize; i++) {
505  for (int j = 0; j < NFLAGS; ++j) {
506  muon_sel[j] = false;
507  }
508 
509  const Muon& mu = muonCollection->at(i);
510  if (!mu.isGlobalMuon())
511  continue;
512  if (mu.globalTrack().isNull())
513  continue;
514  if (mu.innerTrack().isNull())
515  continue;
516 
517  LogTrace("") << "> Wsel: processing muon number " << i << "...";
518  reco::TrackRef gm = mu.globalTrack();
519  reco::TrackRef tk = mu.innerTrack();
520 
521  // Pt,eta cuts
522  double pt = mu.pt();
523  double eta = mu.eta();
524  LogTrace("") << "\t... pt, eta: " << pt << " [GeV], " << eta;
525  ;
526  if (pt > ptCut_)
527  muon_sel[0] = true;
528  if (fabs(eta) < etaCut_)
529  muon_sel[1] = true;
530 
531  double charge = mu.charge();
532 
533  // d0, chi2, nhits quality cuts
534  double dxy = gm->dxy(beamSpotHandle->position());
535  double normalizedChi2 = gm->normalizedChi2();
536  double trackerHits = tk->hitPattern().numberOfValidTrackerHits();
537  int pixelHits = tk->hitPattern().numberOfValidPixelHits();
538  int muonHits = gm->hitPattern().numberOfValidMuonHits();
539  int nMatches = mu.numberOfMatches();
540 
541  LogTrace("") << "\t... dxy, normalizedChi2, trackerHits, isTrackerMuon?: " << dxy << " [cm], " << normalizedChi2
542  << ", " << trackerHits << ", " << mu.isTrackerMuon();
543  if (fabs(dxy) < dxyCut_)
544  muon_sel[2] = true;
545 
546  bool quality = true;
547 
549  quality = false;
551  quality = false;
552  if (pixelHits < pixelHitsCut_)
553  quality = false;
554  if (muonHits < muonHitsCut_)
555  quality = false;
556  ;
557  if (!mu.isTrackerMuon())
558  quality = false;
559  if (nMatches < nMatchesCut_)
560  quality = false;
561  muon_sel[3] = quality;
562  if (quality)
563  number_of_goodMuons++;
564 
565  pt_before_->Fill(pt);
566  eta_before_->Fill(eta);
567  dxy_before_->Fill(dxy);
570 
571  // Charge asymmetry
572  // if (quality) {
573  // if (charge>0) ptPlus_before_->Fill(pt);
574  // if (charge<0) ptMinus_before_->Fill(pt);
575  //}
576 
577  // Isolation cuts
578  double isovar = mu.isolationR03().sumPt;
579  if (isCombinedIso_) {
580  isovar += mu.isolationR03().emEt;
581  isovar += mu.isolationR03().hadEt;
582  }
583  if (isRelativeIso_)
584  isovar /= pt;
585  if (isovar < isoCut03_)
586  muon_sel[4] = true;
587 
588  LogTrace("") << "\t... isolation value" << isovar << ", isolated? " << muon_sel[6];
589  iso_before_->Fill(isovar);
590 
591  // HLT (not mtched to muon for the time being)
592  // if (trigger_fired) muon_sel[5] = true;
593 
594  // For Z:
595  if (pt > ptThrForZ1_ && fabs(eta) < etaCut_ && fabs(dxy) < dxyCut_ && quality && isovar < isoCut03_) {
596  muon4Z = true;
597  }
598 
599  // MET/MT cuts
600  double w_et = met_et + mu.pt();
601  double w_px = met.px() + mu.px();
602  double w_py = met.py() + mu.py();
603 
604  double massT = w_et * w_et - w_px * w_px - w_py * w_py;
605  massT = (massT > 0) ? sqrt(massT) : 0;
606 
607  LogTrace("") << "\t... W mass, W_et, W_px, W_py: " << massT << ", " << w_et << ", " << w_px << ", " << w_py
608  << " [GeV]";
609  if (massT > mtMin_ && massT < mtMax_)
610  muon_sel[5] = true;
611  mt_before_->Fill(massT);
612  if (met_et > metMin_ && met_et < metMax_)
613  muon_sel[6] = true;
614 
615  // Acoplanarity cuts
616  Geom::Phi<double> deltaphi(mu.phi() - atan2(met.py(), met.px()));
617  double acop = deltaphi.value();
618  if (acop < 0)
619  acop = -acop;
620  acop = M_PI - acop;
621  LogTrace("") << "\t... acoplanarity: " << acop;
622  if (acop < acopCut_)
623  muon_sel[7] = true;
624  acop_before_->Fill(acop);
625 
626  // Remaining flags (from global event information)
627  if (nmuonsForZ1 < 1 || nmuonsForZ2 < 2)
628  muon_sel[8] = true;
629  if (njets <= nJetMax_)
630  muon_sel[9] = true;
631 
632  // Collect necessary flags "per muon"
633  int flags_passed = 0;
634  for (int j = 0; j < NFLAGS; ++j) {
635  if (muon_sel[j])
636  flags_passed += 1;
637  }
638 
639  // Do N-1 histograms now (and only once for global event quantities)
640  if (flags_passed >= (NFLAGS - 1)) {
641  if (!muon_sel[0] || flags_passed == NFLAGS)
642  pt_after_->Fill(pt);
643  if (!muon_sel[1] || flags_passed == NFLAGS)
644  eta_after_->Fill(eta);
645  if (!muon_sel[2] || flags_passed == NFLAGS)
646  dxy_after_->Fill(dxy);
647  if (!muon_sel[3] || flags_passed == NFLAGS)
649  if (!muon_sel[4] || flags_passed == NFLAGS)
650  iso_after_->Fill(isovar);
651  // if (!muon_sel[5] || flags_passed == NFLAGS)
652  // if (!hlt_hist_done) trig_after_->Fill(trigger_fired);
653  //hlt_hist_done = true;
654  if (!muon_sel[5] || flags_passed == NFLAGS)
655  mt_after_->Fill(massT);
656  if (!muon_sel[6] || flags_passed == NFLAGS)
657  if (!met_hist_done)
658  met_after_->Fill(met_et);
659  met_hist_done = true;
660  if (!muon_sel[7] || flags_passed == NFLAGS)
661  acop_after_->Fill(acop);
662  // no action here for muon_sel[8]
663  if (!muon_sel[9] || flags_passed == NFLAGS) {
664  if (!njets_hist_done) {
666  leadingjet_pt_after_->Fill(lead_jet_pt);
667  leadingjet_eta_after_->Fill(lead_jet_eta);
668  }
669  njets_hist_done = true;
670  }
671  if (flags_passed == NFLAGS) {
672  if (!wfullsel_hist_done) {
673  npvs_after_->Fill(nvvertex);
675  // if (charge>0) ptPlus_afterW_->Fill(pt);
676  // if (charge<0) ptMinus_afterW_->Fill(pt);
677  }
678  wfullsel_hist_done = true;
679  }
680  }
681 
682  // The cases in which the event is rejected as a Z are considered
683  // independently:
684  if (muon4Z && !muon_sel[8]) {
685  // Plots for 2 muons
686  for (unsigned int j = i + 1; j < muonCollectionSize; j++) {
687  for (int ij = 0; ij < NFLAGSZ; ++ij) {
688  zmuon_sel[ij] = false;
689  }
690 
691  for (int ji = 0; ji < 5; ++ji) {
692  zmuon_sel[ji] = muon_sel[ji];
693  }
694 
695  const Muon& mu2 = muonCollection->at(j);
696  if (!mu2.isGlobalMuon())
697  continue;
698  if (mu2.charge() * charge != -1)
699  continue;
700  reco::TrackRef gm2 = mu2.globalTrack();
701  reco::TrackRef tk2 = mu2.innerTrack();
702  double pt2 = mu2.pt();
703  if (pt2 > ptThrForZ2_)
704  zmuon_sel[5] = true;
705  double eta2 = mu2.eta();
706  if (fabs(eta2) < etaCut_)
707  zmuon_sel[6] = true;
708  double dxy2 = gm2->dxy(beamSpotHandle->position());
709  if (fabs(dxy2) < dxyCut_)
710  zmuon_sel[7] = true;
711  double normalizedChi22 = gm2->normalizedChi2();
712  double trackerHits2 = tk2->hitPattern().numberOfValidTrackerHits();
713  int pixelHits2 = tk2->hitPattern().numberOfValidPixelHits();
714  int muonHits2 = gm2->hitPattern().numberOfValidMuonHits();
715  int nMatches2 = mu2.numberOfMatches();
716  bool quality2 = true;
717  if (normalizedChi22 > normalizedChi2Cut_)
718  quality2 = false;
719  if (trackerHits2 < trackerHitsCut_)
720  quality2 = false;
721  if (pixelHits2 < pixelHitsCut_)
722  quality2 = false;
723  if (muonHits2 < muonHitsCut_)
724  quality2 = false;
725  if (!mu2.isTrackerMuon())
726  quality2 = false;
727  if (nMatches2 < nMatchesCut_)
728  quality2 = false;
729  zmuon_sel[8] = quality2;
730  double isovar2 = mu2.isolationR03().sumPt;
731  if (isCombinedIso_) {
732  isovar2 += mu2.isolationR03().emEt;
733  isovar2 += mu2.isolationR03().hadEt;
734  }
735  if (isRelativeIso_)
736  isovar2 /= pt2;
737  if (isovar2 < isoCut03_)
738  zmuon_sel[9] = true;
739  // if (trigger_fired) zmuon_sel[10] = true;
740  const math::XYZTLorentzVector ZRecoGlb(
741  mu.px() + mu2.px(), mu.py() + mu2.py(), mu.pz() + mu2.pz(), mu.p() + mu2.p());
742  if (ZRecoGlb.mass() > dimuonMassMin_ && ZRecoGlb.mass() < dimuonMassMax_)
743  zmuon_sel[10] = true;
744 
745  // jet flag
746  if (njets <= nJetMax_)
747  zmuon_sel[11] = true;
748 
749  // start filling histos: N-1 plots
750  int flags_passed_z = 0;
751 
752  for (int jj = 0; jj < NFLAGSZ; ++jj) {
753  if (zmuon_sel[jj])
754  ++flags_passed_z;
755  }
756 
757  if (flags_passed_z >= (NFLAGSZ - 1)) {
758  if (!zmuon_sel[0] || flags_passed_z == NFLAGSZ) {
759  pt1_afterZ_->Fill(pt);
760  }
761  if (!zmuon_sel[1] || flags_passed_z == NFLAGSZ) {
763  }
764  if (!zmuon_sel[2] || flags_passed_z == NFLAGSZ) {
766  }
767  if (!zmuon_sel[3] || flags_passed_z == NFLAGSZ) {
769  }
770  if (!zmuon_sel[4] || flags_passed_z == NFLAGSZ) {
771  iso1_afterZ_->Fill(isovar);
772  }
773  if (!zmuon_sel[5] || flags_passed_z == NFLAGSZ) {
774  pt2_afterZ_->Fill(pt2);
775  }
776  if (!zmuon_sel[6] || flags_passed_z == NFLAGSZ) {
778  }
779  if (!zmuon_sel[7] || flags_passed_z == NFLAGSZ) {
780  dxy2_afterZ_->Fill(dxy2);
781  }
782  if (!zmuon_sel[8] || flags_passed_z == NFLAGSZ) {
783  goodewkmuon2_afterZ_->Fill(quality2);
784  }
785  if (!zmuon_sel[9] || flags_passed_z == NFLAGSZ) {
786  iso2_afterZ_->Fill(isovar2);
787  }
788  // if (!zmuon_sel[10] || flags_passed_z == NFLAGSZ) {
789  // if (!zhlt_hist_done) ztrig_afterZ_->Fill(trigger_fired);
790  // zhlt_hist_done = true;
791  // }
792  if (!zmuon_sel[10] || flags_passed_z == NFLAGSZ) {
793  dimuonmass_afterZ_->Fill(ZRecoGlb.mass());
794  }
795  if (!zmuon_sel[11] || flags_passed_z == NFLAGSZ) {
796  if (!zjets_hist_done) {
798  leadingjet_pt_afterZ_->Fill(lead_jet_pt);
799  leadingjet_eta_afterZ_->Fill(lead_jet_eta);
800  }
801  zjets_hist_done = true;
802  }
803  if (flags_passed_z == NFLAGSZ) {
804  met_afterZ_->Fill(met_et);
805  if (!zfullsel_hist_done) {
806  npvs_afterZ_->Fill(nvvertex);
808  if (charge > 0) {
809  // ptPlus_afterZ_->Fill(mu.pt());
810  // ptMinus_afterZ_->Fill(mu2.pt());
811  ptDiffPM_afterZ_->Fill(mu.pt() - mu2.pt());
812  } else {
813  // ptPlus_afterZ_->Fill(mu2.pt());
814  // ptMinus_afterZ_->Fill(mu.pt());
815  ptDiffPM_afterZ_->Fill(mu2.pt() - mu.pt());
816  }
817  }
818  zfullsel_hist_done = true;
819  }
820  }
821  }
822  }
823  }
824 
825  if (zfullsel_hist_done) {
826  // here was a Z candidate
827  n_zselPt1thr_->Fill(nmuonsForZ1);
828  n_zselPt2thr_->Fill(nmuonsForZ2);
829  }
830 
831  // nmuons_->Fill(muonCollectionSize);
832  ngoodmuons_->Fill(number_of_goodMuons);
833 
834  return;
835 }
MonitorElement * met_before_
Definition: EwkMuDQM.h:109
float hadEt
hcal sum-Et
Definition: MuonIsolation.h:8
const MuonIsolation & isolationR03() const
Definition: Muon.h:166
MonitorElement * ptDiffPM_afterZ_
Definition: EwkMuDQM.h:131
double etaCut_
Definition: EwkMuDQM.h:70
MonitorElement * dimuonmass_afterZ_
Definition: EwkMuDQM.h:151
unsigned int nall
Definition: EwkMuDQM.h:87
int nMatchesCut_
Definition: EwkMuDQM.h:57
double pz() const final
z coordinate of momentum vector
Definition: Photon.py:1
MonitorElement * phEta_
Definition: EwkMuDQM.h:169
float sumPt
sum-pt of tracks
Definition: MuonIsolation.h:6
MonitorElement * njets_afterZ_
Definition: EwkMuDQM.h:116
double pt() const final
transverse momentum
const Point & position() const
position
Definition: BeamSpot.h:59
MonitorElement * iso2_afterZ_
Definition: EwkMuDQM.h:143
double mtMax_
Definition: EwkMuDQM.h:67
virtual TrackRef globalTrack() const
reference to Track reconstructed in both tracked and muon detector
Definition: Muon.h:51
MonitorElement * npvs_before_
Definition: EwkMuDQM.h:153
double ptThrForPhoton_
Definition: EwkMuDQM.h:81
MonitorElement * dxy1_afterZ_
Definition: EwkMuDQM.h:136
MonitorElement * njets_before_
Definition: EwkMuDQM.h:114
MonitorElement * dxy_before_
Definition: EwkMuDQM.h:99
MonitorElement * leadingjet_eta_afterZ_
Definition: EwkMuDQM.h:122
double metMax_
Definition: EwkMuDQM.h:65
MonitorElement * muoncharge_before_
Definition: EwkMuDQM.h:157
edm::EDGetTokenT< reco::BeamSpot > beamSpotTag_
Definition: EwkMuDQM.h:48
MonitorElement * eta2_afterZ_
Definition: EwkMuDQM.h:140
double ptCut_
Definition: EwkMuDQM.h:69
double isoCut03_
Definition: EwkMuDQM.h:61
MonitorElement * npvs_afterZ_
Definition: EwkMuDQM.h:155
MonitorElement * leadingjet_eta_before_
Definition: EwkMuDQM.h:120
double eJetMin_
Definition: EwkMuDQM.h:78
Log< level::Error, false > LogError
MonitorElement * acop_before_
Definition: EwkMuDQM.h:111
MonitorElement * leadingjet_pt_after_
Definition: EwkMuDQM.h:118
MonitorElement * goodewkmuon_before_
Definition: EwkMuDQM.h:101
MonitorElement * eta_after_
Definition: EwkMuDQM.h:98
MonitorElement * muoncharge_afterZ_
Definition: EwkMuDQM.h:159
MonitorElement * pt_before_
Definition: EwkMuDQM.h:95
bool isTrackerMuon() const override
Definition: Muon.h:304
#define LogTrace(id)
MonitorElement * dxy2_afterZ_
Definition: EwkMuDQM.h:141
MonitorElement * leadingjet_pt_before_
Definition: EwkMuDQM.h:117
MonitorElement * goodewkmuon1_afterZ_
Definition: EwkMuDQM.h:137
void Fill(long long x)
MonitorElement * iso_before_
Definition: EwkMuDQM.h:103
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
MonitorElement * npvs_after_
Definition: EwkMuDQM.h:154
string quality
MonitorElement * goodewkmuon2_afterZ_
Definition: EwkMuDQM.h:142
double px() const final
x coordinate of momentum vector
MonitorElement * njets_after_
Definition: EwkMuDQM.h:115
double p() const final
magnitude of momentum vector
MonitorElement * ngoodmuons_
Definition: EwkMuDQM.h:162
MonitorElement * n_zselPt2thr_
Definition: EwkMuDQM.h:147
double metMin_
Definition: EwkMuDQM.h:64
Definition: Muon.py:1
MonitorElement * pt2_afterZ_
Definition: EwkMuDQM.h:139
double ptThrForZ2_
Definition: EwkMuDQM.h:73
Definition: Jet.py:1
int nJetMax_
Definition: EwkMuDQM.h:79
Definition: MET.h:41
T sqrt(T t)
Definition: SSEVec.h:19
float emEt
ecal sum-Et
Definition: MuonIsolation.h:7
MonitorElement * met_afterZ_
Definition: EwkMuDQM.h:133
double dxyCut_
Definition: EwkMuDQM.h:52
MonitorElement * leadingjet_eta_after_
Definition: EwkMuDQM.h:121
double dimuonMassMin_
Definition: EwkMuDQM.h:75
bool isCombinedIso_
Definition: EwkMuDQM.h:60
double dimuonMassMax_
Definition: EwkMuDQM.h:76
virtual TrackRef innerTrack() const
Definition: Muon.h:45
double py() const final
y coordinate of momentum vector
MonitorElement * mt_after_
Definition: EwkMuDQM.h:108
MonitorElement * goodewkmuon_after_
Definition: EwkMuDQM.h:102
MonitorElement * muoncharge_after_
Definition: EwkMuDQM.h:158
MonitorElement * mt_before_
Definition: EwkMuDQM.h:107
MonitorElement * eta_before_
Definition: EwkMuDQM.h:97
MonitorElement * iso1_afterZ_
Definition: EwkMuDQM.h:138
bool isRelativeIso_
Definition: EwkMuDQM.h:59
#define M_PI
int prescaleSet(const edm::Event &iEvent, const edm::EventSetup &iSetup)
HLTPrescaleProvider hltPrescaleProvider_
Definition: EwkMuDQM.h:85
int numberOfMatches(ArbitrationType type=SegmentAndTrackArbitration) const
get number of chambers with matched segments
int pixelHitsCut_
Definition: EwkMuDQM.h:55
edm::EDGetTokenT< edm::View< reco::Vertex > > vertexTag_
Definition: EwkMuDQM.h:47
MonitorElement * nmuons_
Definition: EwkMuDQM.h:161
double normalizedChi2Cut_
Definition: EwkMuDQM.h:53
MonitorElement * pt_after_
Definition: EwkMuDQM.h:96
MonitorElement * iso_after_
Definition: EwkMuDQM.h:104
MonitorElement * eta1_afterZ_
Definition: EwkMuDQM.h:135
MonitorElement * ptDiffPM_before_
Definition: EwkMuDQM.h:126
MonitorElement * pt1_afterZ_
Definition: EwkMuDQM.h:134
MonitorElement * nph_
Definition: EwkMuDQM.h:165
int trackerHitsCut_
Definition: EwkMuDQM.h:54
double mtMin_
Definition: EwkMuDQM.h:66
MonitorElement * phPt_
Definition: EwkMuDQM.h:167
double ptThrForZ1_
Definition: EwkMuDQM.h:72
edm::EDGetTokenT< edm::View< reco::Jet > > jetToken_
Definition: EwkMuDQM.h:45
MonitorElement * dxy_after_
Definition: EwkMuDQM.h:100
int muonHitsCut_
Definition: EwkMuDQM.h:56
MonitorElement * met_after_
Definition: EwkMuDQM.h:110
edm::EDGetTokenT< edm::View< reco::Muon > > muonTag_
Definition: EwkMuDQM.h:43
MonitorElement * n_zselPt1thr_
Definition: EwkMuDQM.h:146
edm::EDGetTokenT< edm::View< reco::MET > > metToken_
Definition: EwkMuDQM.h:44
Definition: Phi.h:52
bool isGlobalMuon() const override
Definition: Muon.h:303
edm::EDGetTokenT< edm::View< reco::Photon > > phoTag_
Definition: EwkMuDQM.h:46
MonitorElement * dimuonmass_before_
Definition: EwkMuDQM.h:150
double acopCut_
Definition: EwkMuDQM.h:63
int charge() const final
electric charge
MonitorElement * leadingjet_pt_afterZ_
Definition: EwkMuDQM.h:119
MonitorElement * acop_after_
Definition: EwkMuDQM.h:112
double eta() const final
momentum pseudorapidity

◆ bookHistograms()

void EwkMuDQM::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprotectedvirtual

\ For Z-boson events

Implements DQMEDAnalyzer.

Definition at line 117 of file EwkMuDQM.cc.

References acop_after_, acop_before_, dqm::implementation::IBooker::book1D(), dimuonmass_afterZ_, dimuonmass_before_, dxy1_afterZ_, dxy2_afterZ_, dxy_after_, dxy_before_, eJetMin_, eta1_afterZ_, eta2_afterZ_, eta_after_, eta_before_, goodewkmuon1_afterZ_, goodewkmuon2_afterZ_, goodewkmuon_after_, goodewkmuon_before_, isCombinedIso_, iso1_afterZ_, iso2_afterZ_, iso_after_, iso_before_, isRelativeIso_, jetTag_, edm::InputTag::label(), leadingjet_eta_after_, leadingjet_eta_afterZ_, leadingjet_eta_before_, leadingjet_pt_after_, leadingjet_pt_afterZ_, leadingjet_pt_before_, M_PI, met_after_, met_afterZ_, met_before_, metTag_, mt_after_, mt_before_, muoncharge_after_, muoncharge_afterZ_, muoncharge_before_, n_zselPt1thr_, n_zselPt2thr_, ngoodmuons_, njets_after_, njets_afterZ_, njets_before_, nmuons_, nph_, npvs_after_, npvs_afterZ_, npvs_before_, phEta_, phPt_, pt1_afterZ_, pt2_afterZ_, pt_after_, pt_before_, ptDiffPM_afterZ_, ptDiffPM_before_, ptThrForPhoton_, ptThrForZ1_, ptThrForZ2_, and dqm::implementation::NavigatorBase::setCurrentFolder().

117  {
118  ibooker.setCurrentFolder("Physics/EwkMuDQM");
119 
120  char chtitle[256] = "";
121 
122  pt_before_ = ibooker.book1D("PT_BEFORECUTS", "Muon transverse momentum (global muon) [GeV]", 100, 0., 100.);
123  pt_after_ = ibooker.book1D("PT_AFTERWCUTS", "Muon transverse momentum (global muon) [GeV]", 100, 0., 100.);
124 
125  eta_before_ = ibooker.book1D("ETA_BEFORECUTS", "Muon pseudo-rapidity", 50, -2.5, 2.5);
126  eta_after_ = ibooker.book1D("ETA_AFTERWCUTS", "Muon pseudo-rapidity", 50, -2.5, 2.5);
127 
128  dxy_before_ = ibooker.book1D("DXY_BEFORECUTS", "Muon transverse distance to beam spot [cm]", 100, -0.5, 0.5);
129  dxy_after_ = ibooker.book1D("DXY_AFTERWCUTS", "Muon transverse distance to beam spot [cm]", 100, -0.5, 0.5);
130 
131  goodewkmuon_before_ = ibooker.book1D("GOODEWKMUON_BEFORECUTS", "Quality-muon flag", 2, -0.5, 1.5);
132  goodewkmuon_after_ = ibooker.book1D("GOODEWKMUON_AFTERWCUTS", "Quality-muon flag", 2, -0.5, 1.5);
133 
134  if (isRelativeIso_) {
135  if (isCombinedIso_) {
136  iso_before_ = ibooker.book1D("ISO_BEFORECUTS", "Relative (combined) isolation variable", 100, 0., 1.);
137  iso_after_ = ibooker.book1D("ISO_AFTERWCUTS", "Relative (combined) isolation variable", 100, 0., 1.);
138  } else {
139  iso_before_ = ibooker.book1D("ISO_BEFORECUTS", "Relative (tracker) isolation variable", 100, 0., 1.);
140  iso_after_ = ibooker.book1D("ISO_AFTERWCUTS", "Relative (tracker) isolation variable", 100, 0., 1.);
141  }
142  } else {
143  if (isCombinedIso_) {
144  iso_before_ = ibooker.book1D("ISO_BEFORECUTS", "Absolute (combined) isolation variable [GeV]", 100, 0., 20.);
145  iso_after_ = ibooker.book1D("ISO_AFTERWCUTS", "Absolute (combined) isolation variable [GeV]", 100, 0., 20.);
146  } else {
147  iso_before_ = ibooker.book1D("ISO_BEFORECUTS", "Absolute (tracker) isolation variable [GeV]", 100, 0., 20.);
148  iso_after_ = ibooker.book1D("ISO_AFTERWCUTS", "Absolute (tracker) isolation variable [GeV]", 100, 0., 20.);
149  }
150  }
151 
152  /* trig_before_ = ibooker.book1D("TRIG_BEFORECUTS",
153  "Trigger response (boolean of muon triggers)", 2, -0.5, 1.5);
154  trig_after_ = ibooker.book1D("TRIG_AFTERWCUTS",
155  "Trigger response (boolean of muon triggers)", 2, -0.5, 1.5);
156 */
157  snprintf(chtitle, 255, "Transverse mass (%s) [GeV]", metTag_.label().data());
158  mt_before_ = ibooker.book1D("MT_BEFORECUTS", chtitle, 150, 0., 300.);
159  mt_after_ = ibooker.book1D("MT_AFTERWCUTS", chtitle, 150, 0., 300.);
160 
161  snprintf(chtitle, 255, "Missing transverse energy (%s) [GeV]", metTag_.label().data());
162  met_before_ = ibooker.book1D("MET_BEFORECUTS", chtitle, 100, 0., 200.);
163  met_after_ = ibooker.book1D("MET_AFTERWCUTS", chtitle, 100, 0., 200.);
164  met_afterZ_ = ibooker.book1D("MET_AFTERZCUTS", chtitle, 100, 0., 200.);
165 
166  snprintf(chtitle, 255, "MU-MET (%s) acoplanarity", metTag_.label().data());
167  acop_before_ = ibooker.book1D("ACOP_BEFORECUTS", chtitle, 50, 0., M_PI);
168  acop_after_ = ibooker.book1D("ACOP_AFTERWCUTS", chtitle, 50, 0., M_PI);
169 
170  snprintf(chtitle, 255, "Z selection: muons above %.2f GeV", ptThrForZ1_);
171  n_zselPt1thr_ = ibooker.book1D("NZSELPT1THR", chtitle, 10, -0.5, 9.5);
172  snprintf(chtitle, 255, "Z selection: muons above %.2f GeV", ptThrForZ2_);
173  n_zselPt2thr_ = ibooker.book1D("NZSELPT2THR", chtitle, 10, -0.5, 9.5);
174 
175  snprintf(chtitle, 255, "Number of jets (%s) above %.2f GeV", jetTag_.label().data(), eJetMin_);
176  njets_before_ = ibooker.book1D("NJETS_BEFORECUTS", chtitle, 16, -0.5, 15.5);
177  njets_after_ = ibooker.book1D("NJETS_AFTERWCUTS", chtitle, 16, -0.5, 15.5);
178  njets_afterZ_ = ibooker.book1D("NJETS_AFTERZCUTS", chtitle, 16, -0.5, 15.5);
179 
180  leadingjet_pt_before_ = ibooker.book1D("LEADINGJET_PT_BEFORECUTS", "Leading Jet transverse momentum", 300, 0., 300.);
181  leadingjet_pt_after_ = ibooker.book1D("LEADINGJET_PT_AFTERWCUTS", "Leading Jet transverse momentum", 300, 0., 300.);
182  leadingjet_pt_afterZ_ = ibooker.book1D("LEADINGJET_PT_AFTERZCUTS", "Leading Jet transverse momentum", 300, 0., 300.);
183 
184  leadingjet_eta_before_ = ibooker.book1D("LEADINGJET_ETA_BEFORECUTS", "Leading Jet pseudo-rapidity", 50, -2.5, 2.5);
185  leadingjet_eta_after_ = ibooker.book1D("LEADINGJET_ETA_AFTERWCUTS", "Leading Jet pseudo-rapidity", 50, -2.5, 2.5);
186  leadingjet_eta_afterZ_ = ibooker.book1D("LEADINGJET_ETA_AFTERZCUTS", "Leading Jet pseudo-rapidity", 50, -2.5, 2.5);
187 
188  ptDiffPM_before_ = ibooker.book1D("PTDIFFPM_BEFORE_CUTS", "pt(Muon+)-pt(Muon-) after Z cuts [GeV]", 200, -100., 100.);
189  ptDiffPM_afterZ_ = ibooker.book1D("PTDIFFPM_AFTERZ_CUTS", "pt(Muon+)-pt(Muon-) after Z cuts [GeV]", 200, -100., 100.);
190 
193  pt1_afterZ_ = ibooker.book1D("PT1_AFTERZCUTS", "Muon transverse momentum (global muon) [GeV]", 100, 0., 100.);
194  eta1_afterZ_ = ibooker.book1D("ETA1_AFTERZCUTS", "Muon pseudo-rapidity", 50, -2.5, 2.5);
195  dxy1_afterZ_ = ibooker.book1D("DXY1_AFTERZCUTS", "Muon transverse distance to beam spot [cm]", 100, -0.5, 0.5);
196  goodewkmuon1_afterZ_ = ibooker.book1D("GOODEWKMUON1_AFTERZCUTS", "Quality-muon flag", 2, -0.5, 1.5);
197 
198  if (isRelativeIso_) {
199  if (isCombinedIso_) {
200  iso1_afterZ_ = ibooker.book1D("ISO1_AFTERZCUTS", "Relative (combined) isolation variable", 100, 0., 1.);
201  iso2_afterZ_ = ibooker.book1D("ISO2_AFTERZCUTS", "Relative (combined) isolation variable", 100, 0., 1.);
202  } else {
203  iso1_afterZ_ = ibooker.book1D("ISO1_AFTERZCUTS", "Relative (tracker) isolation variable", 100, 0., 1.);
204  iso2_afterZ_ = ibooker.book1D("ISO2_AFTERZCUTS", "Relative (tracker) isolation variable", 100, 0., 1.);
205  }
206  } else {
207  if (isCombinedIso_) {
208  iso1_afterZ_ = ibooker.book1D("ISO1_AFTERZCUTS", "Absolute (combined) isolation variable [GeV]", 100, 0., 20.);
209  iso2_afterZ_ = ibooker.book1D("ISO2_AFTERZCUTS", "Absolute (combined) isolation variable [GeV]", 100, 0., 20.);
210  } else {
211  iso1_afterZ_ = ibooker.book1D("ISO1_AFTERZCUTS", "Absolute (tracker) isolation variable [GeV]", 100, 0., 20.);
212  iso2_afterZ_ = ibooker.book1D("ISO2_AFTERZCUTS", "Absolute (tracker) isolation variable [GeV]", 100, 0., 20.);
213  }
214  }
215 
216  pt2_afterZ_ = ibooker.book1D("PT2_AFTERZCUTS", "Muon transverse momentum (global muon) [GeV]", 100, 0., 100.);
217  eta2_afterZ_ = ibooker.book1D("ETA2_AFTERZCUTS", "Muon pseudo-rapidity", 50, -2.5, 2.5);
218  dxy2_afterZ_ = ibooker.book1D("DXY2_AFTERZCUTS", "Muon transverse distance to beam spot [cm]", 100, -0.5, 0.5);
219  goodewkmuon2_afterZ_ = ibooker.book1D("GOODEWKMUON2_AFTERZCUTS", "Quality-muon flag", 2, -0.5, 1.5);
220  /* ztrig_afterZ_ = ibooker.book1D("ZTRIG_AFTERZCUTS",
221  "Trigger response (boolean of muon triggers)", 2, -0.5, 1.5);
222  */
223  dimuonmass_before_ = ibooker.book1D("DIMUONMASS_BEFORECUTS", "DiMuonMass (2 globals)", 100, 0, 200);
224  dimuonmass_afterZ_ = ibooker.book1D("DIMUONMASS_AFTERZCUTS", "DiMuonMass (2 globals)", 100, 0, 200);
225  npvs_before_ = ibooker.book1D("NPVs_BEFORECUTS", "Number of Valid Primary Vertices", 51, -0.5, 50.5);
226  npvs_after_ = ibooker.book1D("NPVs_AFTERWCUTS", "Number of Valid Primary Vertices", 51, -0.5, 50.5);
227  npvs_afterZ_ = ibooker.book1D("NPVs_AFTERZCUTS", "Number of Valid Primary Vertices", 51, -0.5, 50.5);
228  muoncharge_before_ = ibooker.book1D("MUONCHARGE_BEFORECUTS", "Muon Charge", 3, -1.5, 1.5);
229  muoncharge_after_ = ibooker.book1D("MUONCHARGE_AFTERWCUTS", "Muon Charge", 3, -1.5, 1.5);
230  muoncharge_afterZ_ = ibooker.book1D("MUONCHARGE_AFTERZCUTS", "Muon Charge", 3, -1.5, 1.5);
231 
232  // Adding these to replace the NZ ones (more useful, since they are more
233  // general?)
234  nmuons_ = ibooker.book1D("NMuons", "Number of muons in the event", 10, -0.5, 9.5);
235  ngoodmuons_ = ibooker.book1D("NGoodMuons", "Number of muons passing the quality criteria", 10, -0.5, 9.5);
236 
237  nph_ = ibooker.book1D("nph", "Number of photons in the event", 20, 0., 20.);
238  phPt_ = ibooker.book1D("phPt", "Photon transverse momentum [GeV]", 100, 0., 1000.);
239  snprintf(chtitle, 255, "Photon pseudorapidity (pT>%4.1f)", ptThrForPhoton_);
240  phEta_ = ibooker.book1D("phEta", chtitle, 100, -2.5, 2.5);
241 }
MonitorElement * met_before_
Definition: EwkMuDQM.h:109
MonitorElement * ptDiffPM_afterZ_
Definition: EwkMuDQM.h:131
MonitorElement * dimuonmass_afterZ_
Definition: EwkMuDQM.h:151
MonitorElement * phEta_
Definition: EwkMuDQM.h:169
MonitorElement * njets_afterZ_
Definition: EwkMuDQM.h:116
MonitorElement * iso2_afterZ_
Definition: EwkMuDQM.h:143
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
MonitorElement * npvs_before_
Definition: EwkMuDQM.h:153
double ptThrForPhoton_
Definition: EwkMuDQM.h:81
MonitorElement * dxy1_afterZ_
Definition: EwkMuDQM.h:136
MonitorElement * njets_before_
Definition: EwkMuDQM.h:114
MonitorElement * dxy_before_
Definition: EwkMuDQM.h:99
MonitorElement * leadingjet_eta_afterZ_
Definition: EwkMuDQM.h:122
MonitorElement * muoncharge_before_
Definition: EwkMuDQM.h:157
MonitorElement * eta2_afterZ_
Definition: EwkMuDQM.h:140
MonitorElement * npvs_afterZ_
Definition: EwkMuDQM.h:155
MonitorElement * leadingjet_eta_before_
Definition: EwkMuDQM.h:120
std::string const & label() const
Definition: InputTag.h:36
double eJetMin_
Definition: EwkMuDQM.h:78
MonitorElement * acop_before_
Definition: EwkMuDQM.h:111
MonitorElement * leadingjet_pt_after_
Definition: EwkMuDQM.h:118
MonitorElement * goodewkmuon_before_
Definition: EwkMuDQM.h:101
MonitorElement * eta_after_
Definition: EwkMuDQM.h:98
MonitorElement * muoncharge_afterZ_
Definition: EwkMuDQM.h:159
MonitorElement * pt_before_
Definition: EwkMuDQM.h:95
MonitorElement * dxy2_afterZ_
Definition: EwkMuDQM.h:141
MonitorElement * leadingjet_pt_before_
Definition: EwkMuDQM.h:117
MonitorElement * goodewkmuon1_afterZ_
Definition: EwkMuDQM.h:137
MonitorElement * iso_before_
Definition: EwkMuDQM.h:103
MonitorElement * npvs_after_
Definition: EwkMuDQM.h:154
MonitorElement * goodewkmuon2_afterZ_
Definition: EwkMuDQM.h:142
MonitorElement * njets_after_
Definition: EwkMuDQM.h:115
MonitorElement * ngoodmuons_
Definition: EwkMuDQM.h:162
MonitorElement * n_zselPt2thr_
Definition: EwkMuDQM.h:147
MonitorElement * pt2_afterZ_
Definition: EwkMuDQM.h:139
double ptThrForZ2_
Definition: EwkMuDQM.h:73
MonitorElement * met_afterZ_
Definition: EwkMuDQM.h:133
MonitorElement * leadingjet_eta_after_
Definition: EwkMuDQM.h:121
bool isCombinedIso_
Definition: EwkMuDQM.h:60
MonitorElement * mt_after_
Definition: EwkMuDQM.h:108
MonitorElement * goodewkmuon_after_
Definition: EwkMuDQM.h:102
MonitorElement * muoncharge_after_
Definition: EwkMuDQM.h:158
MonitorElement * mt_before_
Definition: EwkMuDQM.h:107
MonitorElement * eta_before_
Definition: EwkMuDQM.h:97
MonitorElement * iso1_afterZ_
Definition: EwkMuDQM.h:138
bool isRelativeIso_
Definition: EwkMuDQM.h:59
#define M_PI
edm::InputTag jetTag_
Definition: EwkMuDQM.h:41
MonitorElement * nmuons_
Definition: EwkMuDQM.h:161
edm::InputTag metTag_
Definition: EwkMuDQM.h:40
MonitorElement * pt_after_
Definition: EwkMuDQM.h:96
MonitorElement * iso_after_
Definition: EwkMuDQM.h:104
MonitorElement * eta1_afterZ_
Definition: EwkMuDQM.h:135
MonitorElement * ptDiffPM_before_
Definition: EwkMuDQM.h:126
MonitorElement * pt1_afterZ_
Definition: EwkMuDQM.h:134
MonitorElement * nph_
Definition: EwkMuDQM.h:165
MonitorElement * phPt_
Definition: EwkMuDQM.h:167
double ptThrForZ1_
Definition: EwkMuDQM.h:72
MonitorElement * dxy_after_
Definition: EwkMuDQM.h:100
MonitorElement * met_after_
Definition: EwkMuDQM.h:110
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
MonitorElement * n_zselPt1thr_
Definition: EwkMuDQM.h:146
MonitorElement * dimuonmass_before_
Definition: EwkMuDQM.h:150
MonitorElement * leadingjet_pt_afterZ_
Definition: EwkMuDQM.h:119
MonitorElement * acop_after_
Definition: EwkMuDQM.h:112

◆ dqmBeginRun()

void EwkMuDQM::dqmBeginRun ( const edm::Run iRun,
const edm::EventSetup iSet 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 101 of file EwkMuDQM.cc.

References hltPrescaleProvider_, HLTPrescaleProvider::init(), isValidHltConfig_, nall, nhlt, niso, nmet, nrec, nsel, and nz.

101  {
102  nall = 0;
103  nsel = 0;
104  nz = 0;
105 
106  nrec = 0;
107  niso = 0;
108  nhlt = 0;
109  nmet = 0;
110 
111  // passed as parameter to HLTConfigProvider::init(), not yet used
112  bool isConfigChanged = false;
113  // isValidHltConfig_ used to short-circuit analyze() in case of problems
114  isValidHltConfig_ = hltPrescaleProvider_.init(iRun, iSet, "HLT", isConfigChanged);
115 }
unsigned int nall
Definition: EwkMuDQM.h:87
unsigned int nrec
Definition: EwkMuDQM.h:88
unsigned int nhlt
Definition: EwkMuDQM.h:90
unsigned int nsel
Definition: EwkMuDQM.h:92
HLTPrescaleProvider hltPrescaleProvider_
Definition: EwkMuDQM.h:85
unsigned int nz
Definition: EwkMuDQM.h:93
unsigned int niso
Definition: EwkMuDQM.h:89
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
unsigned int nmet
Definition: EwkMuDQM.h:91
bool isValidHltConfig_
Definition: EwkMuDQM.h:84

◆ init_histograms()

void EwkMuDQM::init_histograms ( )
protected

Member Data Documentation

◆ acop_after_

MonitorElement* EwkMuDQM::acop_after_
private

Definition at line 112 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ acop_before_

MonitorElement* EwkMuDQM::acop_before_
private

Definition at line 111 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ acopCut_

double EwkMuDQM::acopCut_
private

Definition at line 63 of file EwkMuDQM.h.

Referenced by analyze().

◆ beamSpotTag_

edm::EDGetTokenT<reco::BeamSpot> EwkMuDQM::beamSpotTag_
private

Definition at line 48 of file EwkMuDQM.h.

Referenced by analyze().

◆ dimuonmass_afterZ_

MonitorElement* EwkMuDQM::dimuonmass_afterZ_
private

Definition at line 151 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ dimuonmass_before_

MonitorElement* EwkMuDQM::dimuonmass_before_
private

Definition at line 150 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ dimuonMassMax_

double EwkMuDQM::dimuonMassMax_
private

Definition at line 76 of file EwkMuDQM.h.

Referenced by analyze().

◆ dimuonMassMin_

double EwkMuDQM::dimuonMassMin_
private

Definition at line 75 of file EwkMuDQM.h.

Referenced by analyze().

◆ dxy1_afterZ_

MonitorElement* EwkMuDQM::dxy1_afterZ_
private

Definition at line 136 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ dxy2_afterZ_

MonitorElement* EwkMuDQM::dxy2_afterZ_
private

Definition at line 141 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ dxy_after_

MonitorElement* EwkMuDQM::dxy_after_
private

Definition at line 100 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ dxy_before_

MonitorElement* EwkMuDQM::dxy_before_
private

Definition at line 99 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ dxyCut_

double EwkMuDQM::dxyCut_
private

Definition at line 52 of file EwkMuDQM.h.

Referenced by analyze().

◆ eJetMin_

double EwkMuDQM::eJetMin_
private

Definition at line 78 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ eta1_afterZ_

MonitorElement* EwkMuDQM::eta1_afterZ_
private

Definition at line 135 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ eta2_afterZ_

MonitorElement* EwkMuDQM::eta2_afterZ_
private

Definition at line 140 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ eta_after_

MonitorElement* EwkMuDQM::eta_after_
private

Definition at line 98 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ eta_before_

MonitorElement* EwkMuDQM::eta_before_
private

Definition at line 97 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ etaCut_

double EwkMuDQM::etaCut_
private

Definition at line 70 of file EwkMuDQM.h.

Referenced by analyze().

◆ goodewkmuon1_afterZ_

MonitorElement* EwkMuDQM::goodewkmuon1_afterZ_
private

Definition at line 137 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ goodewkmuon2_afterZ_

MonitorElement* EwkMuDQM::goodewkmuon2_afterZ_
private

Definition at line 142 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ goodewkmuon_after_

MonitorElement* EwkMuDQM::goodewkmuon_after_
private

Definition at line 102 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ goodewkmuon_before_

MonitorElement* EwkMuDQM::goodewkmuon_before_
private

Definition at line 101 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ hltPrescaleProvider_

HLTPrescaleProvider EwkMuDQM::hltPrescaleProvider_
private

Definition at line 85 of file EwkMuDQM.h.

Referenced by analyze(), and dqmBeginRun().

◆ isAlsoTrackerMuon_

bool EwkMuDQM::isAlsoTrackerMuon_
private

Definition at line 51 of file EwkMuDQM.h.

◆ isCombinedIso_

bool EwkMuDQM::isCombinedIso_
private

Definition at line 60 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ iso1_afterZ_

MonitorElement* EwkMuDQM::iso1_afterZ_
private

Definition at line 138 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ iso2_afterZ_

MonitorElement* EwkMuDQM::iso2_afterZ_
private

Definition at line 143 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ iso_after_

MonitorElement* EwkMuDQM::iso_after_
private

Definition at line 104 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ iso_before_

MonitorElement* EwkMuDQM::iso_before_
private

Definition at line 103 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ isoCut03_

double EwkMuDQM::isoCut03_
private

Definition at line 61 of file EwkMuDQM.h.

Referenced by analyze().

◆ isRelativeIso_

bool EwkMuDQM::isRelativeIso_
private

Definition at line 59 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ isValidHltConfig_

bool EwkMuDQM::isValidHltConfig_
private

Definition at line 84 of file EwkMuDQM.h.

Referenced by dqmBeginRun(), and EwkMuDQM().

◆ jetTag_

edm::InputTag EwkMuDQM::jetTag_
private

Definition at line 41 of file EwkMuDQM.h.

Referenced by bookHistograms().

◆ jetToken_

edm::EDGetTokenT<edm::View<reco::Jet> > EwkMuDQM::jetToken_
private

Definition at line 45 of file EwkMuDQM.h.

Referenced by analyze().

◆ leadingjet_eta_after_

MonitorElement* EwkMuDQM::leadingjet_eta_after_
private

Definition at line 121 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ leadingjet_eta_afterZ_

MonitorElement* EwkMuDQM::leadingjet_eta_afterZ_
private

Definition at line 122 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ leadingjet_eta_before_

MonitorElement* EwkMuDQM::leadingjet_eta_before_
private

Definition at line 120 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ leadingjet_pt_after_

MonitorElement* EwkMuDQM::leadingjet_pt_after_
private

Definition at line 118 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ leadingjet_pt_afterZ_

MonitorElement* EwkMuDQM::leadingjet_pt_afterZ_
private

Definition at line 119 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ leadingjet_pt_before_

MonitorElement* EwkMuDQM::leadingjet_pt_before_
private

Definition at line 117 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ met_after_

MonitorElement* EwkMuDQM::met_after_
private

Definition at line 110 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ met_afterZ_

MonitorElement* EwkMuDQM::met_afterZ_
private

Definition at line 133 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ met_before_

MonitorElement* EwkMuDQM::met_before_
private

Definition at line 109 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ metMax_

double EwkMuDQM::metMax_
private

Definition at line 65 of file EwkMuDQM.h.

Referenced by analyze().

◆ metMin_

double EwkMuDQM::metMin_
private

Definition at line 64 of file EwkMuDQM.h.

Referenced by analyze().

◆ metTag_

edm::InputTag EwkMuDQM::metTag_
private

Definition at line 40 of file EwkMuDQM.h.

Referenced by bookHistograms().

◆ metToken_

edm::EDGetTokenT<edm::View<reco::MET> > EwkMuDQM::metToken_
private

Definition at line 44 of file EwkMuDQM.h.

Referenced by analyze().

◆ mt_after_

MonitorElement* EwkMuDQM::mt_after_
private

Definition at line 108 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ mt_before_

MonitorElement* EwkMuDQM::mt_before_
private

Definition at line 107 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ mtMax_

double EwkMuDQM::mtMax_
private

Definition at line 67 of file EwkMuDQM.h.

Referenced by analyze().

◆ mtMin_

double EwkMuDQM::mtMin_
private

Definition at line 66 of file EwkMuDQM.h.

Referenced by analyze().

◆ muoncharge_after_

MonitorElement* EwkMuDQM::muoncharge_after_
private

Definition at line 158 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ muoncharge_afterZ_

MonitorElement* EwkMuDQM::muoncharge_afterZ_
private

Definition at line 159 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ muoncharge_before_

MonitorElement* EwkMuDQM::muoncharge_before_
private

Definition at line 157 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ muonHitsCut_

int EwkMuDQM::muonHitsCut_
private

Definition at line 56 of file EwkMuDQM.h.

Referenced by analyze().

◆ muonTag_

edm::EDGetTokenT<edm::View<reco::Muon> > EwkMuDQM::muonTag_
private

Definition at line 43 of file EwkMuDQM.h.

Referenced by analyze().

◆ n_zselPt1thr_

MonitorElement* EwkMuDQM::n_zselPt1thr_
private

Definition at line 146 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ n_zselPt2thr_

MonitorElement* EwkMuDQM::n_zselPt2thr_
private

Definition at line 147 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ nall

unsigned int EwkMuDQM::nall
private

Definition at line 87 of file EwkMuDQM.h.

Referenced by analyze(), and dqmBeginRun().

◆ ngoodmuons_

MonitorElement* EwkMuDQM::ngoodmuons_
private

Definition at line 162 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ nhlt

unsigned int EwkMuDQM::nhlt
private

Definition at line 90 of file EwkMuDQM.h.

Referenced by dqmBeginRun().

◆ niso

unsigned int EwkMuDQM::niso
private

Definition at line 89 of file EwkMuDQM.h.

Referenced by dqmBeginRun().

◆ nJetMax_

int EwkMuDQM::nJetMax_
private

Definition at line 79 of file EwkMuDQM.h.

Referenced by analyze().

◆ njets_after_

MonitorElement* EwkMuDQM::njets_after_
private

Definition at line 115 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ njets_afterZ_

MonitorElement* EwkMuDQM::njets_afterZ_
private

Definition at line 116 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ njets_before_

MonitorElement* EwkMuDQM::njets_before_
private

Definition at line 114 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ nMatchesCut_

int EwkMuDQM::nMatchesCut_
private

Definition at line 57 of file EwkMuDQM.h.

Referenced by analyze().

◆ nmet

unsigned int EwkMuDQM::nmet
private

Definition at line 91 of file EwkMuDQM.h.

Referenced by dqmBeginRun().

◆ nmuons_

MonitorElement* EwkMuDQM::nmuons_
private

Definition at line 161 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ normalizedChi2Cut_

double EwkMuDQM::normalizedChi2Cut_
private

Definition at line 53 of file EwkMuDQM.h.

Referenced by analyze().

◆ npfph_

MonitorElement* EwkMuDQM::npfph_
private

Definition at line 164 of file EwkMuDQM.h.

◆ nph_

MonitorElement* EwkMuDQM::nph_
private

Definition at line 165 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ nPhoMax_

int EwkMuDQM::nPhoMax_
private

Definition at line 82 of file EwkMuDQM.h.

◆ npvs_after_

MonitorElement* EwkMuDQM::npvs_after_
private

Definition at line 154 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ npvs_afterZ_

MonitorElement* EwkMuDQM::npvs_afterZ_
private

Definition at line 155 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ npvs_before_

MonitorElement* EwkMuDQM::npvs_before_
private

Definition at line 153 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ nrec

unsigned int EwkMuDQM::nrec
private

Definition at line 88 of file EwkMuDQM.h.

Referenced by dqmBeginRun().

◆ nsel

unsigned int EwkMuDQM::nsel
private

Definition at line 92 of file EwkMuDQM.h.

Referenced by dqmBeginRun().

◆ nz

unsigned int EwkMuDQM::nz
private

Definition at line 93 of file EwkMuDQM.h.

Referenced by dqmBeginRun().

◆ pfphEta_

MonitorElement* EwkMuDQM::pfphEta_
private

Definition at line 168 of file EwkMuDQM.h.

◆ pfphPt_

MonitorElement* EwkMuDQM::pfphPt_
private

Definition at line 166 of file EwkMuDQM.h.

◆ phEta_

MonitorElement* EwkMuDQM::phEta_
private

Definition at line 169 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ phoTag_

edm::EDGetTokenT<edm::View<reco::Photon> > EwkMuDQM::phoTag_
private

Definition at line 46 of file EwkMuDQM.h.

Referenced by analyze().

◆ phPt_

MonitorElement* EwkMuDQM::phPt_
private

Definition at line 167 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ pixelHitsCut_

int EwkMuDQM::pixelHitsCut_
private

Definition at line 55 of file EwkMuDQM.h.

Referenced by analyze().

◆ pt1_afterZ_

MonitorElement* EwkMuDQM::pt1_afterZ_
private

Definition at line 134 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ pt2_afterZ_

MonitorElement* EwkMuDQM::pt2_afterZ_
private

Definition at line 139 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ pt_after_

MonitorElement* EwkMuDQM::pt_after_
private

Definition at line 96 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ pt_before_

MonitorElement* EwkMuDQM::pt_before_
private

Definition at line 95 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ ptCut_

double EwkMuDQM::ptCut_
private

Definition at line 69 of file EwkMuDQM.h.

Referenced by analyze(), and badGlobalMuonTaggerFWLite.BadGlobalMuonTagger::badMuons().

◆ ptDiffPM_afterZ_

MonitorElement* EwkMuDQM::ptDiffPM_afterZ_
private

Definition at line 131 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ ptDiffPM_before_

MonitorElement* EwkMuDQM::ptDiffPM_before_
private

Definition at line 126 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ ptThrForPhoton_

double EwkMuDQM::ptThrForPhoton_
private

Definition at line 81 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ ptThrForZ1_

double EwkMuDQM::ptThrForZ1_
private

Definition at line 72 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ ptThrForZ2_

double EwkMuDQM::ptThrForZ2_
private

Definition at line 73 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

◆ trackerHitsCut_

int EwkMuDQM::trackerHitsCut_
private

Definition at line 54 of file EwkMuDQM.h.

Referenced by analyze().

◆ trig_after_

MonitorElement* EwkMuDQM::trig_after_
private

Definition at line 106 of file EwkMuDQM.h.

◆ trig_before_

MonitorElement* EwkMuDQM::trig_before_
private

Definition at line 105 of file EwkMuDQM.h.

◆ trigPathNames_

std::vector<std::string> EwkMuDQM::trigPathNames_
private

Definition at line 49 of file EwkMuDQM.h.

◆ trigTag_

edm::EDGetTokenT<edm::TriggerResults> EwkMuDQM::trigTag_
private

Definition at line 42 of file EwkMuDQM.h.

◆ vertexTag_

edm::EDGetTokenT<edm::View<reco::Vertex> > EwkMuDQM::vertexTag_
private

Definition at line 47 of file EwkMuDQM.h.

Referenced by analyze().

◆ ztrig_afterZ_

MonitorElement* EwkMuDQM::ztrig_afterZ_
private

Definition at line 149 of file EwkMuDQM.h.