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::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

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
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
virtual void dqmEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Protected Member Functions

void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (const edm::Run &, const edm::EventSetup &) override
 
void dqmEndRun (const edm::Run &, const edm::EventSetup &) override
 
void init_histograms ()
 
- Protected Member Functions inherited from edm::ProducerBase
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Private 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::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

DQM offline for EWKMu

Definition at line 28 of file EwkMuDQM.h.

Constructor & Destructor Documentation

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_(
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)),
98  isValidHltConfig_ = false;
99 }
T getUntrackedParameter(std::string const &, T const &) const
double etaCut_
Definition: EwkMuDQM.h:72
int nMatchesCut_
Definition: EwkMuDQM.h:59
double mtMax_
Definition: EwkMuDQM.h:69
double ptThrForPhoton_
Definition: EwkMuDQM.h:83
double metMax_
Definition: EwkMuDQM.h:67
edm::EDGetTokenT< reco::BeamSpot > beamSpotTag_
Definition: EwkMuDQM.h:50
double ptCut_
Definition: EwkMuDQM.h:71
double isoCut03_
Definition: EwkMuDQM.h:63
double eJetMin_
Definition: EwkMuDQM.h:80
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
double metMin_
Definition: EwkMuDQM.h:66
double ptThrForZ2_
Definition: EwkMuDQM.h:75
int nJetMax_
Definition: EwkMuDQM.h:81
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
double dxyCut_
Definition: EwkMuDQM.h:54
bool isAlsoTrackerMuon_
Definition: EwkMuDQM.h:53
double dimuonMassMin_
Definition: EwkMuDQM.h:77
bool isCombinedIso_
Definition: EwkMuDQM.h:62
double dimuonMassMax_
Definition: EwkMuDQM.h:78
bool isRelativeIso_
Definition: EwkMuDQM.h:61
HLTPrescaleProvider hltPrescaleProvider_
Definition: EwkMuDQM.h:87
edm::InputTag jetTag_
Definition: EwkMuDQM.h:43
int pixelHitsCut_
Definition: EwkMuDQM.h:57
edm::EDGetTokenT< edm::View< reco::Vertex > > vertexTag_
Definition: EwkMuDQM.h:49
double normalizedChi2Cut_
Definition: EwkMuDQM.h:55
edm::InputTag metTag_
Definition: EwkMuDQM.h:42
int trackerHitsCut_
Definition: EwkMuDQM.h:56
double mtMin_
Definition: EwkMuDQM.h:68
double ptThrForZ1_
Definition: EwkMuDQM.h:74
edm::EDGetTokenT< edm::View< reco::Jet > > jetToken_
Definition: EwkMuDQM.h:47
int muonHitsCut_
Definition: EwkMuDQM.h:58
edm::EDGetTokenT< edm::View< reco::Muon > > muonTag_
Definition: EwkMuDQM.h:45
int nPhoMax_
Definition: EwkMuDQM.h:84
edm::EDGetTokenT< edm::View< reco::MET > > metToken_
Definition: EwkMuDQM.h:46
edm::EDGetTokenT< edm::View< reco::Photon > > phoTag_
Definition: EwkMuDQM.h:48
double acopCut_
Definition: EwkMuDQM.h:65
bool isValidHltConfig_
Definition: EwkMuDQM.h:86

Member Function Documentation

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

Definition at line 245 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_2018_cff::distance, PVValHelper::dxy, dxy1_afterZ_, dxy2_afterZ_, dxy_after_, dxy_before_, dxyCut_, eJetMin_, reco::MuonIsolation::emEt, reco::LeafCandidate::et(), PVValHelper::eta, reco::LeafCandidate::eta(), eta1_afterZ_, HLT_2018_cff::eta2, eta2_afterZ_, eta_after_, eta_before_, etaCut_, dqm::impl::MonitorElement::Fill(), edm::Event::getByToken(), 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(), edm::Ref< C, T, F >::isNull(), iso1_afterZ_, iso2_afterZ_, iso_after_, iso_before_, isoCut03_, reco::Muon::isolationR03(), isRelativeIso_, reco::Muon::isTrackerMuon(), reco::Vertex::isValid(), 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_, reco::LeafCandidate::phi(), phoTag_, ExoticaDQM_cfi::photonCollection, HLTObjectMonitor_cfi::photonPt, phPt_, pixelHitsCut_, reco::BeamSpot::position(), HLTPrescaleProvider::prescaleSet(), DiDispStaMuonMonitor_cfi::pt, reco::LeafCandidate::pt(), pt1_afterZ_, HLT_2018_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(), qcdUeDQM_cfi::quality, mathSSE::sqrt(), reco::MuonIsolation::sumPt, trackerHitsCut_, Geom::Phi< T1, Range >::value(), bphysicsOniaDQM_cfi::vertex, spclusmultinvestigator_cfi::vertexCollection, and vertexTag_.

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

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:89
unsigned int nrec
Definition: EwkMuDQM.h:90
unsigned int nhlt
Definition: EwkMuDQM.h:92
unsigned int nsel
Definition: EwkMuDQM.h:94
HLTPrescaleProvider hltPrescaleProvider_
Definition: EwkMuDQM.h:87
unsigned int nz
Definition: EwkMuDQM.h:95
unsigned int niso
Definition: EwkMuDQM.h:91
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
unsigned int nmet
Definition: EwkMuDQM.h:93
bool isValidHltConfig_
Definition: EwkMuDQM.h:86
void EwkMuDQM::dqmEndRun ( const edm::Run r,
const edm::EventSetup iSet 
)
overrideprotected

Definition at line 243 of file EwkMuDQM.cc.

243 {}
void EwkMuDQM::init_histograms ( )
protected

Member Data Documentation

MonitorElement* EwkMuDQM::acop_after_
private

Definition at line 114 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::acop_before_
private

Definition at line 113 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

double EwkMuDQM::acopCut_
private

Definition at line 65 of file EwkMuDQM.h.

Referenced by analyze().

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

Definition at line 50 of file EwkMuDQM.h.

Referenced by analyze().

MonitorElement* EwkMuDQM::dimuonmass_afterZ_
private

Definition at line 153 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::dimuonmass_before_
private

Definition at line 152 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

double EwkMuDQM::dimuonMassMax_
private

Definition at line 78 of file EwkMuDQM.h.

Referenced by analyze().

double EwkMuDQM::dimuonMassMin_
private

Definition at line 77 of file EwkMuDQM.h.

Referenced by analyze().

MonitorElement* EwkMuDQM::dxy1_afterZ_
private

Definition at line 138 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::dxy2_afterZ_
private

Definition at line 143 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::dxy_after_
private

Definition at line 102 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::dxy_before_
private

Definition at line 101 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

double EwkMuDQM::dxyCut_
private

Definition at line 54 of file EwkMuDQM.h.

Referenced by analyze().

double EwkMuDQM::eJetMin_
private

Definition at line 80 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::eta1_afterZ_
private

Definition at line 137 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::eta2_afterZ_
private

Definition at line 142 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::eta_after_
private

Definition at line 100 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::eta_before_
private

Definition at line 99 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

double EwkMuDQM::etaCut_
private

Definition at line 72 of file EwkMuDQM.h.

Referenced by analyze().

MonitorElement* EwkMuDQM::goodewkmuon1_afterZ_
private

Definition at line 139 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::goodewkmuon2_afterZ_
private

Definition at line 144 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::goodewkmuon_after_
private

Definition at line 104 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::goodewkmuon_before_
private

Definition at line 103 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

HLTPrescaleProvider EwkMuDQM::hltPrescaleProvider_
private

Definition at line 87 of file EwkMuDQM.h.

Referenced by analyze(), and dqmBeginRun().

bool EwkMuDQM::isAlsoTrackerMuon_
private

Definition at line 53 of file EwkMuDQM.h.

bool EwkMuDQM::isCombinedIso_
private

Definition at line 62 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::iso1_afterZ_
private

Definition at line 140 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::iso2_afterZ_
private

Definition at line 145 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::iso_after_
private

Definition at line 106 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::iso_before_
private

Definition at line 105 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

double EwkMuDQM::isoCut03_
private

Definition at line 63 of file EwkMuDQM.h.

Referenced by analyze().

bool EwkMuDQM::isRelativeIso_
private

Definition at line 61 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

bool EwkMuDQM::isValidHltConfig_
private

Definition at line 86 of file EwkMuDQM.h.

Referenced by dqmBeginRun(), and EwkMuDQM().

edm::InputTag EwkMuDQM::jetTag_
private

Definition at line 43 of file EwkMuDQM.h.

Referenced by bookHistograms().

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

Definition at line 47 of file EwkMuDQM.h.

Referenced by analyze().

MonitorElement* EwkMuDQM::leadingjet_eta_after_
private

Definition at line 123 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::leadingjet_eta_afterZ_
private

Definition at line 124 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::leadingjet_eta_before_
private

Definition at line 122 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::leadingjet_pt_after_
private

Definition at line 120 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::leadingjet_pt_afterZ_
private

Definition at line 121 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::leadingjet_pt_before_
private

Definition at line 119 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::met_after_
private

Definition at line 112 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::met_afterZ_
private

Definition at line 135 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::met_before_
private

Definition at line 111 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

double EwkMuDQM::metMax_
private

Definition at line 67 of file EwkMuDQM.h.

Referenced by analyze().

double EwkMuDQM::metMin_
private

Definition at line 66 of file EwkMuDQM.h.

Referenced by analyze().

edm::InputTag EwkMuDQM::metTag_
private

Definition at line 42 of file EwkMuDQM.h.

Referenced by bookHistograms().

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

Definition at line 46 of file EwkMuDQM.h.

Referenced by analyze().

MonitorElement* EwkMuDQM::mt_after_
private

Definition at line 110 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::mt_before_
private

Definition at line 109 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

double EwkMuDQM::mtMax_
private

Definition at line 69 of file EwkMuDQM.h.

Referenced by analyze().

double EwkMuDQM::mtMin_
private

Definition at line 68 of file EwkMuDQM.h.

Referenced by analyze().

MonitorElement* EwkMuDQM::muoncharge_after_
private

Definition at line 160 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::muoncharge_afterZ_
private

Definition at line 161 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::muoncharge_before_
private

Definition at line 159 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

int EwkMuDQM::muonHitsCut_
private

Definition at line 58 of file EwkMuDQM.h.

Referenced by analyze().

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

Definition at line 45 of file EwkMuDQM.h.

Referenced by analyze().

MonitorElement* EwkMuDQM::n_zselPt1thr_
private

Definition at line 148 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::n_zselPt2thr_
private

Definition at line 149 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

unsigned int EwkMuDQM::nall
private

Definition at line 89 of file EwkMuDQM.h.

Referenced by analyze(), and dqmBeginRun().

MonitorElement* EwkMuDQM::ngoodmuons_
private

Definition at line 164 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

unsigned int EwkMuDQM::nhlt
private

Definition at line 92 of file EwkMuDQM.h.

Referenced by dqmBeginRun().

unsigned int EwkMuDQM::niso
private

Definition at line 91 of file EwkMuDQM.h.

Referenced by dqmBeginRun().

int EwkMuDQM::nJetMax_
private

Definition at line 81 of file EwkMuDQM.h.

Referenced by analyze().

MonitorElement* EwkMuDQM::njets_after_
private

Definition at line 117 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::njets_afterZ_
private

Definition at line 118 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::njets_before_
private

Definition at line 116 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

int EwkMuDQM::nMatchesCut_
private

Definition at line 59 of file EwkMuDQM.h.

Referenced by analyze().

unsigned int EwkMuDQM::nmet
private

Definition at line 93 of file EwkMuDQM.h.

Referenced by dqmBeginRun().

MonitorElement* EwkMuDQM::nmuons_
private

Definition at line 163 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

double EwkMuDQM::normalizedChi2Cut_
private

Definition at line 55 of file EwkMuDQM.h.

Referenced by analyze().

MonitorElement* EwkMuDQM::npfph_
private

Definition at line 166 of file EwkMuDQM.h.

MonitorElement* EwkMuDQM::nph_
private

Definition at line 167 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

int EwkMuDQM::nPhoMax_
private

Definition at line 84 of file EwkMuDQM.h.

MonitorElement* EwkMuDQM::npvs_after_
private

Definition at line 156 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::npvs_afterZ_
private

Definition at line 157 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::npvs_before_
private

Definition at line 155 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

unsigned int EwkMuDQM::nrec
private

Definition at line 90 of file EwkMuDQM.h.

Referenced by dqmBeginRun().

unsigned int EwkMuDQM::nsel
private

Definition at line 94 of file EwkMuDQM.h.

Referenced by dqmBeginRun().

unsigned int EwkMuDQM::nz
private

Definition at line 95 of file EwkMuDQM.h.

Referenced by dqmBeginRun().

MonitorElement* EwkMuDQM::pfphEta_
private

Definition at line 170 of file EwkMuDQM.h.

MonitorElement* EwkMuDQM::pfphPt_
private

Definition at line 168 of file EwkMuDQM.h.

MonitorElement* EwkMuDQM::phEta_
private

Definition at line 171 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

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

Definition at line 48 of file EwkMuDQM.h.

Referenced by analyze().

MonitorElement* EwkMuDQM::phPt_
private

Definition at line 169 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

int EwkMuDQM::pixelHitsCut_
private

Definition at line 57 of file EwkMuDQM.h.

Referenced by analyze().

MonitorElement* EwkMuDQM::pt1_afterZ_
private

Definition at line 136 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::pt2_afterZ_
private

Definition at line 141 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::pt_after_
private

Definition at line 98 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::pt_before_
private

Definition at line 97 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

double EwkMuDQM::ptCut_
private

Definition at line 71 of file EwkMuDQM.h.

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

MonitorElement* EwkMuDQM::ptDiffPM_afterZ_
private

Definition at line 133 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* EwkMuDQM::ptDiffPM_before_
private

Definition at line 128 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

double EwkMuDQM::ptThrForPhoton_
private

Definition at line 83 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

double EwkMuDQM::ptThrForZ1_
private

Definition at line 74 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

double EwkMuDQM::ptThrForZ2_
private

Definition at line 75 of file EwkMuDQM.h.

Referenced by analyze(), and bookHistograms().

int EwkMuDQM::trackerHitsCut_
private

Definition at line 56 of file EwkMuDQM.h.

Referenced by analyze().

MonitorElement* EwkMuDQM::trig_after_
private

Definition at line 108 of file EwkMuDQM.h.

MonitorElement* EwkMuDQM::trig_before_
private

Definition at line 107 of file EwkMuDQM.h.

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

Definition at line 51 of file EwkMuDQM.h.

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

Definition at line 44 of file EwkMuDQM.h.

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

Definition at line 49 of file EwkMuDQM.h.

Referenced by analyze().

MonitorElement* EwkMuDQM::ztrig_afterZ_
private

Definition at line 151 of file EwkMuDQM.h.