CMS 3D CMS Logo

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

#include <B2GDQM.h>

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

Public Member Functions

 B2GDQM (const edm::ParameterSet &ps)
 
 ~B2GDQM () override
 
- 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
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 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
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Protected Member Functions

void analyze (edm::Event const &e, edm::EventSetup const &eSetup) override
 
virtual void analyzeAllHad (edm::Event const &e, edm::EventSetup const &eSetup)
 
virtual void analyzeJets (edm::Event const &e, edm::EventSetup const &eSetup)
 
virtual void analyzeSemiE (edm::Event const &e, edm::EventSetup const &eSetup)
 
virtual void analyzeSemiMu (edm::Event const &e, edm::EventSetup const &eSetup)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Private Member Functions

void bookHistograms (DQMStore::IBooker &bei, edm::Run const &, edm::EventSetup const &) override
 

Private Attributes

MonitorElementallHad_mass0
 
MonitorElementallHad_mass1
 
MonitorElementallHad_mttbar
 
MonitorElementallHad_phi0
 
MonitorElementallHad_phi1
 
MonitorElementallHad_pt0
 
MonitorElementallHad_pt1
 
MonitorElementallHad_wMass0
 
MonitorElementallHad_wMass1
 
MonitorElementallHad_y0
 
MonitorElementallHad_y1
 
double allHadDeltaPhiCut_
 
double allHadPtCut_
 
double allHadRapidityCut_
 
std::vector< MonitorElement * > boostedJet_massDrop
 
std::vector< MonitorElement * > boostedJet_subjetM
 
std::vector< MonitorElement * > boostedJet_subjetN
 
std::vector< MonitorElement * > boostedJet_subjetPhi
 
std::vector< MonitorElement * > boostedJet_subjetPt
 
std::vector< MonitorElement * > boostedJet_subjetY
 
std::vector< MonitorElement * > boostedJet_wMass
 
std::shared_ptr< StringCutObjectSelector< reco::GsfElectron > > elecSelect_
 
edm::InputTag electronLabel_
 
edm::EDGetTokenT< edm::View< reco::GsfElectron > > electronToken_
 
HLTConfigProvider hltConfigProvider_
 
int ievt
 
int irun
 
bool isValidHltConfig_
 
std::vector< edm::InputTagjetLabels_
 
std::vector< double > jetPtMins_
 
std::vector< edm::EDGetTokenT< edm::View< reco::Jet > > > jetTokens_
 
edm::InputTag muonLabel_
 
std::shared_ptr< StringCutObjectSelector< reco::Muon > > muonSelect_
 
edm::EDGetTokenT< edm::View< reco::Muon > > muonToken_
 
int nEvents_
 
int nLumiSecs_
 
std::vector< MonitorElement * > pfJet_cemf
 
std::vector< MonitorElement * > pfJet_chef
 
std::vector< MonitorElement * > pfJet_m
 
std::vector< MonitorElement * > pfJet_nemf
 
std::vector< MonitorElement * > pfJet_nhef
 
std::vector< MonitorElement * > pfJet_phi
 
std::vector< MonitorElement * > pfJet_pt
 
std::vector< MonitorElement * > pfJet_y
 
std::string PFJetCorService_
 
MonitorElementpfMet_phi
 
MonitorElementpfMet_pt
 
edm::InputTag PFMETLabel_
 
edm::EDGetTokenT< std::vector< reco::PFMET > > PFMETToken_
 
edm::InputTag sdjetLabel_
 
edm::EDGetTokenT< edm::View< reco::BasicJet > > sdjetToken_
 
double semiE_dphiHadCut_
 
double semiE_dRMin_
 
MonitorElementsemiE_eDRMin
 
MonitorElementsemiE_eEta
 
MonitorElementsemiE_ePhi
 
MonitorElementsemiE_ePt
 
MonitorElementsemiE_ePtRel
 
MonitorElementsemiE_hadJetDR
 
MonitorElementsemiE_hadJetMass
 
MonitorElementsemiE_hadJetPhi
 
MonitorElementsemiE_hadJetPt
 
double semiE_HadJetPtCut_
 
MonitorElementsemiE_hadJetWMass
 
MonitorElementsemiE_hadJetY
 
double semiE_LepJetPtCut_
 
MonitorElementsemiE_mttbar
 
double semiE_ptRel_
 
double semiMu_dphiHadCut_
 
double semiMu_dRMin_
 
MonitorElementsemiMu_hadJetDR
 
MonitorElementsemiMu_hadJetMass
 
MonitorElementsemiMu_hadJetPhi
 
MonitorElementsemiMu_hadJetPt
 
double semiMu_HadJetPtCut_
 
MonitorElementsemiMu_hadJetWMass
 
MonitorElementsemiMu_hadJetY
 
double semiMu_LepJetPtCut_
 
MonitorElementsemiMu_mttbar
 
MonitorElementsemiMu_muDRMin
 
MonitorElementsemiMu_muEta
 
MonitorElementsemiMu_muPhi
 
MonitorElementsemiMu_muPt
 
MonitorElementsemiMu_muPtRel
 
double semiMu_ptRel_
 
edm::InputTag theTriggerResultsCollection
 
edm::Handle< edm::TriggerResultstriggerResults_
 
edm::EDGetTokenT< edm::TriggerResultstriggerToken_
 

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 >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache 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

Definition at line 78 of file B2GDQM.h.

Constructor & Destructor Documentation

◆ B2GDQM()

B2GDQM::B2GDQM ( const edm::ParameterSet ps)

Definition at line 77 of file B2GDQM.cc.

77  {
78  edm::LogInfo("B2GDQM") << " Starting B2GDQM "
79  << "\n";
80 
81  typedef std::vector<edm::InputTag> vtag;
82 
83  // Get parameters from configuration file
84  // Trigger
85  theTriggerResultsCollection = ps.getParameter<InputTag>("triggerResultsCollection");
86  triggerToken_ = consumes<edm::TriggerResults>(theTriggerResultsCollection);
87 
88  // Jets
89  jetLabels_ = ps.getParameter<std::vector<edm::InputTag> >("jetLabels");
90  for (std::vector<edm::InputTag>::const_iterator jetlabel = jetLabels_.begin(), jetlabelEnd = jetLabels_.end();
91  jetlabel != jetlabelEnd;
92  ++jetlabel) {
93  jetTokens_.push_back(consumes<edm::View<reco::Jet> >(*jetlabel));
94  }
95  sdjetLabel_ = ps.getParameter<edm::InputTag>("sdjetLabel");
96  sdjetToken_ = consumes<edm::View<reco::BasicJet> >(sdjetLabel_);
97 
98  muonToken_ = consumes<edm::View<reco::Muon> >(ps.getParameter<edm::InputTag>("muonSrc"));
99  electronToken_ = consumes<edm::View<reco::GsfElectron> >(ps.getParameter<edm::InputTag>("electronSrc"));
100 
101  jetPtMins_ = ps.getParameter<std::vector<double> >("jetPtMins");
102  allHadPtCut_ = ps.getParameter<double>("allHadPtCut");
103  allHadRapidityCut_ = ps.getParameter<double>("allHadRapidityCut");
104  allHadDeltaPhiCut_ = ps.getParameter<double>("allHadDeltaPhiCut");
105 
106  semiMu_HadJetPtCut_ = ps.getParameter<double>("semiMu_HadJetPtCut");
107  semiMu_LepJetPtCut_ = ps.getParameter<double>("semiMu_LepJetPtCut");
108  semiMu_dphiHadCut_ = ps.getParameter<double>("semiMu_dphiHadCut");
109  semiMu_dRMin_ = ps.getParameter<double>("semiMu_dRMin");
110  semiMu_ptRel_ = ps.getParameter<double>("semiMu_ptRel");
111  muonSelect_ = std::make_shared<StringCutObjectSelector<reco::Muon> >(
112 
113  ps.getParameter<std::string>("muonSelect"));
114 
115  semiE_HadJetPtCut_ = ps.getParameter<double>("semiE_HadJetPtCut");
116  semiE_LepJetPtCut_ = ps.getParameter<double>("semiE_LepJetPtCut");
117  semiE_dphiHadCut_ = ps.getParameter<double>("semiE_dphiHadCut");
118  semiE_dRMin_ = ps.getParameter<double>("semiE_dRMin");
119  semiE_ptRel_ = ps.getParameter<double>("semiE_ptRel");
120  elecSelect_ = std::make_shared<StringCutObjectSelector<reco::GsfElectron> >(
121 
122  ps.getParameter<std::string>("elecSelect"));
123 
124  PFJetCorService_ = ps.getParameter<std::string>("PFJetCorService");
125 
126  // MET
127  PFMETLabel_ = ps.getParameter<InputTag>("pfMETCollection");
128  PFMETToken_ = consumes<std::vector<reco::PFMET> >(PFMETLabel_);
129 }

References edm::ParameterSet::getParameter(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ ~B2GDQM()

B2GDQM::~B2GDQM ( )
override

Definition at line 134 of file B2GDQM.cc.

134  {
135  edm::LogInfo("B2GDQM") << " Deleting B2GDQM "
136  << "\n";
137 }

Member Function Documentation

◆ analyze()

void B2GDQM::analyze ( edm::Event const &  e,
edm::EventSetup const &  eSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 229 of file B2GDQM.cc.

229  {
230  analyzeJets(iEvent, iSetup);
231  analyzeSemiMu(iEvent, iSetup);
232  analyzeSemiE(iEvent, iSetup);
233  analyzeAllHad(iEvent, iSetup);
234 }

References iEvent.

◆ analyzeAllHad()

void B2GDQM::analyzeAllHad ( edm::Event const &  e,
edm::EventSetup const &  eSetup 
)
protectedvirtual

Definition at line 321 of file B2GDQM.cc.

321  {
323  bool validJets = iEvent.getByToken(sdjetToken_, jetCollection);
324  if (!validJets)
325  return;
326 
327  // Require two back-to-back jets at high pt with |delta y| < 1.0
328  if (jetCollection->size() < 2)
329  return;
330  edm::Ptr<reco::BasicJet> jet0 = jetCollection->ptrAt(0);
331  edm::Ptr<reco::BasicJet> jet1 = jetCollection->ptrAt(1);
332  if (jet0.isAvailable() == false || jet1.isAvailable() == false)
333  return;
334  if (jet0->pt() < allHadPtCut_ || jet1->pt() < allHadPtCut_)
335  return;
336  if (std::abs(jet0->rapidity() - jet1->rapidity()) > allHadRapidityCut_)
337  return;
338  if (std::abs(reco::deltaPhi(jet0->phi(), jet1->phi())) < M_PI * 0.5)
339  return;
340 
341  allHad_pt0->Fill(jet0->pt());
342  allHad_y0->Fill(jet0->rapidity());
343  allHad_phi0->Fill(jet0->phi());
344  allHad_mass0->Fill(jet0->mass());
345  if (jet0->numberOfDaughters() > 2) {
346  double wMass =
347  jet0->daughter(0)->mass() >= jet0->daughter(1)->mass() ? jet0->daughter(0)->mass() : jet0->daughter(1)->mass();
349  } else {
350  allHad_wMass0->Fill(-1.0);
351  }
352 
353  allHad_pt1->Fill(jet1->pt());
354  allHad_y1->Fill(jet1->rapidity());
355  allHad_phi1->Fill(jet1->phi());
356  allHad_mass1->Fill(jet1->mass());
357  if (jet1->numberOfDaughters() > 2) {
358  double wMass =
359  jet1->daughter(0)->mass() >= jet1->daughter(1)->mass() ? jet1->daughter(0)->mass() : jet1->daughter(1)->mass();
361  } else {
362  allHad_wMass1->Fill(-1.0);
363  }
364 
365  auto p4cand = (jet0->p4() + jet1->p4());
366  allHad_mttbar->Fill(p4cand.mass());
367 }

References funct::abs(), reco::CompositePtrCandidate::daughter(), reco::deltaPhi(), iEvent, edm::Ptr< T >::isAvailable(), jetfilter_cfi::jetCollection, M_PI, reco::Candidate::mass(), reco::LeafCandidate::mass(), reco::CompositePtrCandidate::numberOfDaughters(), reco::LeafCandidate::p4(), reco::LeafCandidate::phi(), reco::LeafCandidate::pt(), reco::LeafCandidate::rapidity(), and pseudoTop_cfi::wMass.

◆ analyzeJets()

void B2GDQM::analyzeJets ( edm::Event const &  e,
edm::EventSetup const &  eSetup 
)
protectedvirtual

Definition at line 236 of file B2GDQM.cc.

236  {
237  // Loop over the different types of jets,
238  // Loop over the jets in that collection,
239  // fill PF jet information as well as substructure
240  // information for boosted jets.
241  // Utilizes the CMS top-tagging algorithm and the "mass drop" W-tagger.
242  for (unsigned int icoll = 0; icoll < jetLabels_.size(); ++icoll) {
244  bool ValidPFJets = iEvent.getByToken(jetTokens_[icoll], pfJetCollection);
245  if (!ValidPFJets)
246  continue;
247  edm::View<reco::Jet> const& pfjets = *pfJetCollection;
248 
249  // Jet Correction
250  int countJet = 0;
251  // const JetCorrector* pfcorrector =
252  // JetCorrector::getJetCorrector(PFJetCorService_,iSetup);
253 
254  for (edm::View<reco::Jet>::const_iterator jet = pfjets.begin(), jetEnd = pfjets.end(); jet != jetEnd; ++jet) {
255  if (jet->pt() < jetPtMins_[icoll])
256  continue;
257  pfJet_pt[icoll]->Fill(jet->pt());
258  pfJet_y[icoll]->Fill(jet->rapidity());
259  pfJet_phi[icoll]->Fill(jet->phi());
260  pfJet_m[icoll]->Fill(jet->mass());
261 
262  // Dynamic cast the base class (reco::Jet) to the derived class (PFJet)
263  // to access the PFJet information
264  reco::PFJet const* pfjet = dynamic_cast<reco::PFJet const*>(&*jet);
265 
266  if (pfjet != nullptr) {
269  pfJet_cemf[icoll]->Fill(pfjet->chargedEmEnergyFraction());
270  pfJet_nemf[icoll]->Fill(pfjet->neutralEmEnergyFraction());
271  }
272 
273  // Dynamic cast the base class (reco::Jet) to the derived class (BasicJet)
274  // to access the substructure information
275  reco::BasicJet const* basicjet = dynamic_cast<reco::BasicJet const*>(&*jet);
276 
277  if (basicjet != nullptr) {
278  boostedJet_subjetN[icoll]->Fill(jet->numberOfDaughters());
279 
280  for (unsigned int ida = 0; ida < jet->numberOfDaughters(); ++ida) {
281  reco::Candidate const* subjet = jet->daughter(ida);
282  boostedJet_subjetPt[icoll]->Fill(subjet->pt());
283  boostedJet_subjetY[icoll]->Fill(subjet->rapidity());
284  boostedJet_subjetPhi[icoll]->Fill(subjet->phi());
285  boostedJet_subjetM[icoll]->Fill(subjet->mass());
286  }
287  // Check the various tagging algorithms
288  if ((jetLabels_[icoll].label() == "ak8PFJetsPuppiSoftdrop")) {
289  if (jet->numberOfDaughters() > 1) {
290  reco::Candidate const* da0 = jet->daughter(0);
291  reco::Candidate const* da1 = jet->daughter(1);
292  if (da0->mass() > da1->mass()) {
293  boostedJet_wMass[icoll]->Fill(da0->mass());
294  boostedJet_massDrop[icoll]->Fill(da0->mass() / jet->mass());
295  } else {
296  boostedJet_wMass[icoll]->Fill(da1->mass());
297  boostedJet_massDrop[icoll]->Fill(da1->mass() / jet->mass());
298  }
299 
300  } else {
301  boostedJet_massDrop[icoll]->Fill(-1.0);
302  }
303 
304  } // end if collection is AK8 PFJets Puppi soft-drop
305 
306  } // end if basic jet != 0
307  countJet++;
308  }
309  }
310 
311  // PFMETs
313  bool ValidPFMET = iEvent.getByToken(PFMETToken_, pfMETCollection);
314  if (!ValidPFMET)
315  return;
316 
317  pfMet_pt->Fill((*pfMETCollection)[0].pt());
318  pfMet_phi->Fill((*pfMETCollection)[0].phi());
319 }

References edm::View< T >::begin(), reco::PFJet::chargedEmEnergyFraction(), reco::PFJet::chargedHadronEnergyFraction(), edm::View< T >::end(), icoll, iEvent, metsig::jet, label, reco::Candidate::mass(), reco::PFJet::neutralEmEnergyFraction(), reco::PFJet::neutralHadronEnergyFraction(), ExoticaDQM_cfi::pfJetCollection, B2GDQM_cfi::pfMETCollection, reco::Candidate::phi(), DiDispStaMuonMonitor_cfi::pt, reco::Candidate::pt(), and reco::Candidate::rapidity().

◆ analyzeSemiE()

void B2GDQM::analyzeSemiE ( edm::Event const &  e,
edm::EventSetup const &  eSetup 
)
protectedvirtual

Definition at line 451 of file B2GDQM.cc.

451  {
453  bool validElectrons = iEvent.getByToken(electronToken_, electronCollection);
454 
455  if (!validElectrons)
456  return;
457  if (electronCollection->empty())
458  return;
460  if (!(*elecSelect_)(electron))
461  return;
462 
464  bool validJets = iEvent.getByToken(sdjetToken_, jetCollection);
465  if (!validJets)
466  return;
467  if (jetCollection->size() < 2)
468  return;
469 
470  double pt0 = -1.0;
471  double dRMin = 999.0;
472  edm::Ptr<reco::BasicJet> hadJet; // highest pt jet with dphi(lep,jet) > pi/2
473  edm::Ptr<reco::BasicJet> lepJet; // closest jet to lepton with pt > ptMin
474 
475  for (auto ijet = jetCollection->begin(), ijetBegin = ijet, ijetEnd = jetCollection->end(); ijet != ijetEnd; ++ijet) {
476  // Hadronic jets
477  if (std::abs(reco::deltaPhi(electron, *ijet)) > M_PI * 0.5) {
478  if (ijet->pt() > pt0 && ijet->p() > semiE_HadJetPtCut_) {
479  hadJet = jetCollection->ptrAt(ijet - ijetBegin);
480  pt0 = hadJet->pt();
481  }
482  }
483  // Leptonic jets
484  else if (ijet->pt() > semiE_LepJetPtCut_) {
485  auto idRMin = reco::deltaR(electron, *ijet);
486  if (idRMin < dRMin) {
487  lepJet = jetCollection->ptrAt(ijet - ijetBegin);
488  dRMin = idRMin;
489  }
490  }
491  }
492  if (hadJet.isAvailable() == false || lepJet.isAvailable() == false)
493  return;
494 
495  auto lepJetP4 = lepJet->p4();
496  const auto& electronP4 = electron.p4();
497 
498  double tot = lepJetP4.mag2();
499  double ss = electronP4.Dot(lepJet->p4());
500  double per = electronP4.mag2();
501  if (tot > 0.0)
502  per -= ss * ss / tot;
503  if (per < 0)
504  per = 0;
505  double ptRel = per;
506  bool pass2D = dRMin > semiE_dRMin_ || ptRel > semiE_ptRel_;
507 
508  if (!pass2D)
509  return;
510 
511  semiE_ePt->Fill(electron.pt());
512  semiE_eEta->Fill(electron.eta());
513  semiE_ePhi->Fill(electron.phi());
516 
518  semiE_mttbar->Fill(0.0);
519 
520  semiE_hadJetPt->Fill(hadJet->pt());
521  semiE_hadJetY->Fill(hadJet->rapidity());
522  semiE_hadJetPhi->Fill(hadJet->phi());
523  semiE_hadJetMass->Fill(hadJet->mass());
524  if (hadJet->numberOfDaughters() > 2) {
525  double wMass = hadJet->daughter(0)->mass() >= hadJet->daughter(1)->mass() ? hadJet->daughter(0)->mass()
526  : hadJet->daughter(1)->mass();
528  } else {
529  semiE_hadJetWMass->Fill(-1.0);
530  }
531 }

References funct::abs(), reco::CompositePtrCandidate::daughter(), reco::deltaPhi(), reco::deltaR(), HLT_2018_cff::dRMin, metsig::electron, pdwgLeptonRecoSkim_cfi::electronCollection, iEvent, edm::Ptr< T >::isAvailable(), jetfilter_cfi::jetCollection, M_PI, reco::Candidate::mass(), reco::LeafCandidate::mass(), reco::CompositePtrCandidate::numberOfDaughters(), reco::LeafCandidate::p4(), reco::LeafCandidate::phi(), reco::LeafCandidate::pt(), electrons_cff::ptRel, reco::LeafCandidate::rapidity(), contentValuesCheck::ss, and pseudoTop_cfi::wMass.

◆ analyzeSemiMu()

void B2GDQM::analyzeSemiMu ( edm::Event const &  e,
edm::EventSetup const &  eSetup 
)
protectedvirtual

Definition at line 369 of file B2GDQM.cc.

369  {
371  bool validMuons = iEvent.getByToken(muonToken_, muonCollection);
372 
373  if (!validMuons)
374  return;
375  if (muonCollection->empty())
376  return;
377  reco::Muon const& muon = muonCollection->at(0);
378  if (!(*muonSelect_)(muon))
379  return;
380 
382  bool validJets = iEvent.getByToken(sdjetToken_, jetCollection);
383  if (!validJets)
384  return;
385  if (jetCollection->size() < 2)
386  return;
387 
388  double pt0 = -1.0;
389  double dRMin = 999.0;
390  edm::Ptr<reco::BasicJet> hadJet; // highest pt jet with dphi(lep,jet) > pi/2
391  edm::Ptr<reco::BasicJet> lepJet; // closest jet to lepton with pt > ptMin
392 
393  for (auto ijet = jetCollection->begin(), ijetBegin = ijet, ijetEnd = jetCollection->end(); ijet != ijetEnd; ++ijet) {
394  // Hadronic jets
395  if (std::abs(reco::deltaPhi(muon, *ijet)) > M_PI * 0.5) {
396  if (ijet->pt() > pt0 && ijet->p() > semiMu_HadJetPtCut_) {
397  hadJet = jetCollection->ptrAt(ijet - ijetBegin);
398  pt0 = hadJet->pt();
399  }
400  }
401  // Leptonic jets
402  else if (ijet->pt() > semiMu_LepJetPtCut_) {
403  auto idRMin = reco::deltaR(muon, *ijet);
404  if (idRMin < dRMin) {
405  lepJet = jetCollection->ptrAt(ijet - ijetBegin);
406  dRMin = idRMin;
407  }
408  }
409  }
410  if (hadJet.isAvailable() == false || lepJet.isAvailable() == false)
411  return;
412 
413  auto lepJetP4 = lepJet->p4();
414  const auto& muonP4 = muon.p4();
415 
416  double tot = lepJetP4.mag2();
417  double ss = muonP4.Dot(lepJet->p4());
418  double per = muonP4.mag2();
419  if (tot > 0.0)
420  per -= ss * ss / tot;
421  if (per < 0)
422  per = 0;
423  double ptRel = per;
424  bool pass2D = dRMin > semiMu_dRMin_ || ptRel > semiMu_ptRel_;
425 
426  if (!pass2D)
427  return;
428 
429  semiMu_muPt->Fill(muon.pt());
430  semiMu_muEta->Fill(muon.eta());
431  semiMu_muPhi->Fill(muon.phi());
434 
436  semiMu_mttbar->Fill(0.0);
437 
438  semiMu_hadJetPt->Fill(hadJet->pt());
439  semiMu_hadJetY->Fill(hadJet->rapidity());
440  semiMu_hadJetPhi->Fill(hadJet->phi());
441  semiMu_hadJetMass->Fill(hadJet->mass());
442  if (hadJet->numberOfDaughters() > 2) {
443  double wMass = hadJet->daughter(0)->mass() >= hadJet->daughter(1)->mass() ? hadJet->daughter(0)->mass()
444  : hadJet->daughter(1)->mass();
446  } else {
447  semiMu_hadJetWMass->Fill(-1.0);
448  }
449 }

References funct::abs(), reco::CompositePtrCandidate::daughter(), reco::deltaPhi(), reco::deltaR(), HLT_2018_cff::dRMin, iEvent, edm::Ptr< T >::isAvailable(), jetfilter_cfi::jetCollection, M_PI, reco::Candidate::mass(), reco::LeafCandidate::mass(), pdwgLeptonRecoSkim_cfi::muonCollection, reco::CompositePtrCandidate::numberOfDaughters(), reco::LeafCandidate::p4(), reco::LeafCandidate::phi(), reco::LeafCandidate::pt(), electrons_cff::ptRel, reco::LeafCandidate::rapidity(), contentValuesCheck::ss, and pseudoTop_cfi::wMass.

◆ bookHistograms()

void B2GDQM::bookHistograms ( DQMStore::IBooker bei,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprivatevirtual

Implements DQMEDAnalyzer.

Definition at line 142 of file B2GDQM.cc.

142  {
143  bei.setCurrentFolder("Physics/B2G");
144 
145  //--- Jets
146 
147  for (unsigned int icoll = 0; icoll < jetLabels_.size(); ++icoll) {
148  std::stringstream ss;
149  ss << "Physics/B2G/" << jetLabels_[icoll].label();
150  bei.setCurrentFolder(ss.str());
151  pfJet_pt.push_back(bei.book1D("pfJet_pt", "Pt of PFJet (GeV)", 50, 0.0, 1000));
152  pfJet_y.push_back(bei.book1D("pfJet_y", "Rapidity of PFJet", 60, -6.0, 6.0));
153  pfJet_phi.push_back(bei.book1D("pfJet_phi", "#phi of PFJet (radians)", 60, -3.14159, 3.14159));
154  pfJet_m.push_back(bei.book1D("pfJet_m", "Mass of PFJet (GeV)", 50, 0.0, 500));
155  pfJet_chef.push_back(bei.book1D("pfJet_pfchef", "PFJetID CHEF", 50, 0.0, 1.0));
156  pfJet_nhef.push_back(bei.book1D("pfJet_pfnhef", "PFJetID NHEF", 50, 0.0, 1.0));
157  pfJet_cemf.push_back(bei.book1D("pfJet_pfcemf", "PFJetID CEMF", 50, 0.0, 1.0));
158  pfJet_nemf.push_back(bei.book1D("pfJet_pfnemf", "PFJetID NEMF", 50, 0.0, 1.0));
159 
160  boostedJet_subjetPt.push_back(bei.book1D("boostedJet_subjetPt", "Pt of subjets (GeV)", 50, 0.0, 500));
161  boostedJet_subjetY.push_back(bei.book1D("boostedJet_subjetY", "Rapidity of subjets", 60, -6.0, 6.0));
162  boostedJet_subjetPhi.push_back(
163  bei.book1D("boostedJet_subjetPhi", "#phi of subjets (radians)", 60, -3.14159, 3.14159));
164  boostedJet_subjetM.push_back(bei.book1D("boostedJet_subjetM", "Mass of subjets (GeV)", 50, 0.0, 250.));
165  boostedJet_subjetN.push_back(bei.book1D("boostedJet_subjetN", "Number of subjets", 10, 0, 10));
166  boostedJet_massDrop.push_back(bei.book1D("boostedJet_massDrop", "Mass drop for W-like jets", 50, 0.0, 1.0));
167  boostedJet_wMass.push_back(bei.book1D("boostedJet_wMass", "W Mass for top-like jets", 50, 0.0, 250.0));
168  }
169 
170  bei.setCurrentFolder("Physics/B2G/MET");
171  pfMet_pt = bei.book1D("pfMet_pt", "Pf Missing p_{T}; GeV", 50, 0.0, 500);
172  pfMet_phi = bei.book1D("pfMet_phi", "Pf Missing p_{T} #phi;#phi (radians)", 35, -3.5, 3.5);
173 
174  //--- Mu+Jets
175  bei.setCurrentFolder("Physics/B2G/SemiMu");
176  semiMu_muPt = bei.book1D("semiMu_muPt", "Pt of Muon in #mu+Jets Channel (GeV)", 50, 0.0, 1000);
177  semiMu_muEta = bei.book1D("semiMu_muEta", "#eta of Muon in #mu+Jets Channel", 60, -6.0, 6.0);
178  semiMu_muPhi = bei.book1D("semiMu_muPhi", "#phi of Muon in #mu+Jets Channel (radians)", 60, -3.14159, 3.14159);
179  semiMu_muDRMin = bei.book1D("semiMu_muDRMin", "#Delta R(E,nearest jet) in #mu+Jets Channel", 50, 0, 10.0);
180  semiMu_muPtRel = bei.book1D("semiMu_muPtRel", "p_{T}^{REL} in #mu+Jets Channel", 60, 0, 300.);
181  semiMu_hadJetDR = bei.book1D("semiMu_hadJetDR", "#Delta R(E,had jet) in #mu+Jets Channel", 50, 0, 10.0);
183  bei.book1D("semiMu_hadJetPt", "Pt of Leading Hadronic Jet in #mu+Jets Channel (GeV)", 50, 0.0, 1000);
184  semiMu_hadJetY = bei.book1D("semiMu_hadJetY", "Rapidity of Leading Hadronic Jet in #mu+Jets Channel", 60, -6.0, 6.0);
185  semiMu_hadJetPhi = bei.book1D(
186  "semiMu_hadJetPhi", "#phi of Leading Hadronic Jet in #mu+Jets Channel (radians)", 60, -3.14159, 3.14159);
188  bei.book1D("semiMu_hadJetMass", "Mass of Leading Hadronic Jet in #mu+Jets Channel (GeV)", 50, 0.0, 500);
190  bei.book1D("semiMu_hadJetwMass", "W Mass for Leading Hadronic Jet in #mu+Jets Channel (GeV)", 50, 0.0, 250.0);
191  semiMu_mttbar = bei.book1D("semiMu_mttbar", "Mass of #mu+Jets ttbar Candidate", 100, 0., 5000.);
192 
193  //--- E+Jets
194  bei.setCurrentFolder("Physics/B2G/SemiE");
195  semiE_ePt = bei.book1D("semiE_ePt", "Pt of Electron in e+Jets Channel (GeV)", 50, 0.0, 1000);
196  semiE_eEta = bei.book1D("semiE_eEta", "#eta of Electron in e+Jets Channel", 60, -6.0, 6.0);
197  semiE_ePhi = bei.book1D("semiE_ePhi", "#phi of Electron in e+Jets Channel (radians)", 60, -3.14159, 3.14159);
198  semiE_eDRMin = bei.book1D("semiE_eDRMin", "#Delta R(E,nearest jet) in e+Jets Channel", 50, 0, 10.0);
199  semiE_ePtRel = bei.book1D("semiE_ePtRel", "p_{T}^{REL} in e+Jets Channel", 60, 0, 300.);
200  semiE_hadJetDR = bei.book1D("semiE_hadJetDR", "#Delta R(E,had jet) in e+Jets Channel", 50, 0, 10.0);
201  semiE_hadJetPt = bei.book1D("semiE_hadJetPt", "Pt of Leading Hadronic Jet in e+Jets Channel (GeV)", 50, 0.0, 1000);
202  semiE_hadJetY = bei.book1D("semiE_hadJetY", "Rapidity of Leading Hadronic Jet in e+Jets Channel", 60, -6.0, 6.0);
204  bei.book1D("semiE_hadJetPhi", "#phi of Leading Hadronic Jet in e+Jets Channel (radians)", 60, -3.14159, 3.14159);
206  bei.book1D("semiE_hadJetMass", "Mass of Leading Hadronic Jet in e+Jets Channel (GeV)", 50, 0.0, 500);
208  bei.book1D("semiE_hadJetwMass", "W Mass for Leading Hadronic Jet in e+Jets Channel (GeV)", 50, 0.0, 250.0);
209  semiE_mttbar = bei.book1D("semiE_mttbar", "Mass of e+Jets ttbar Candidate", 100, 0., 5000.);
210 
211  //--- All-hadronic
212  bei.setCurrentFolder("Physics/B2G/AllHad");
213  allHad_pt0 = bei.book1D("allHad_pt0", "Pt of Leading All-Hadronic PFJet (GeV)", 50, 0.0, 1000);
214  allHad_y0 = bei.book1D("allHad_y0", "Rapidity of Leading All-Hadronic PFJet", 60, -6.0, 6.0);
215  allHad_phi0 = bei.book1D("allHad_phi0", "#phi of Leading All-Hadronic PFJet (radians)", 60, -3.14159, 3.14159);
216  allHad_mass0 = bei.book1D("allHad_mass0", "Mass of Leading All-Hadronic PFJet (GeV)", 50, 0.0, 500);
217  allHad_wMass0 = bei.book1D("allHad_wMass0", "W Mass for Leading All-Hadronic PFJet (GeV)", 50, 0.0, 250.0);
218  allHad_pt1 = bei.book1D("allHad_pt1", "Pt of Subleading All-Hadronic PFJet (GeV)", 50, 0.0, 1000);
219  allHad_y1 = bei.book1D("allHad_y1", "Rapidity of Subleading All-Hadronic PFJet", 60, -6.0, 6.0);
220  allHad_phi1 = bei.book1D("allHad_phi1", "#phi of Subleading All-Hadronic PFJet (radians)", 60, -3.14159, 3.14159);
221  allHad_mass1 = bei.book1D("allHad_mass1", "Mass of Subleading All-Hadronic PFJet (GeV)", 50, 0.0, 500);
222  allHad_wMass1 = bei.book1D("allHad_wMass1", "W Mass for Subleading All-Hadronic PFJet (GeV)", 50, 0.0, 250.0);
223  allHad_mttbar = bei.book1D("allHad_mttbar", "Mass of All-Hadronic ttbar Candidate", 100, 0., 5000.);
224 }

References dqm::implementation::IBooker::book1D(), icoll, dqm::implementation::NavigatorBase::setCurrentFolder(), and contentValuesCheck::ss.

Member Data Documentation

◆ allHad_mass0

MonitorElement* B2GDQM::allHad_mass0
private

Definition at line 198 of file B2GDQM.h.

◆ allHad_mass1

MonitorElement* B2GDQM::allHad_mass1
private

Definition at line 203 of file B2GDQM.h.

◆ allHad_mttbar

MonitorElement* B2GDQM::allHad_mttbar
private

Definition at line 205 of file B2GDQM.h.

◆ allHad_phi0

MonitorElement* B2GDQM::allHad_phi0
private

Definition at line 197 of file B2GDQM.h.

◆ allHad_phi1

MonitorElement* B2GDQM::allHad_phi1
private

Definition at line 202 of file B2GDQM.h.

◆ allHad_pt0

MonitorElement* B2GDQM::allHad_pt0
private

Definition at line 195 of file B2GDQM.h.

◆ allHad_pt1

MonitorElement* B2GDQM::allHad_pt1
private

Definition at line 200 of file B2GDQM.h.

◆ allHad_wMass0

MonitorElement* B2GDQM::allHad_wMass0
private

Definition at line 199 of file B2GDQM.h.

◆ allHad_wMass1

MonitorElement* B2GDQM::allHad_wMass1
private

Definition at line 204 of file B2GDQM.h.

◆ allHad_y0

MonitorElement* B2GDQM::allHad_y0
private

Definition at line 196 of file B2GDQM.h.

◆ allHad_y1

MonitorElement* B2GDQM::allHad_y1
private

Definition at line 201 of file B2GDQM.h.

◆ allHadDeltaPhiCut_

double B2GDQM::allHadDeltaPhiCut_
private

Definition at line 129 of file B2GDQM.h.

◆ allHadPtCut_

double B2GDQM::allHadPtCut_
private

Definition at line 127 of file B2GDQM.h.

◆ allHadRapidityCut_

double B2GDQM::allHadRapidityCut_
private

Definition at line 128 of file B2GDQM.h.

◆ boostedJet_massDrop

std::vector<MonitorElement*> B2GDQM::boostedJet_massDrop
private

Definition at line 164 of file B2GDQM.h.

◆ boostedJet_subjetM

std::vector<MonitorElement*> B2GDQM::boostedJet_subjetM
private

Definition at line 162 of file B2GDQM.h.

◆ boostedJet_subjetN

std::vector<MonitorElement*> B2GDQM::boostedJet_subjetN
private

Definition at line 163 of file B2GDQM.h.

◆ boostedJet_subjetPhi

std::vector<MonitorElement*> B2GDQM::boostedJet_subjetPhi
private

Definition at line 161 of file B2GDQM.h.

◆ boostedJet_subjetPt

std::vector<MonitorElement*> B2GDQM::boostedJet_subjetPt
private

Definition at line 159 of file B2GDQM.h.

◆ boostedJet_subjetY

std::vector<MonitorElement*> B2GDQM::boostedJet_subjetY
private

Definition at line 160 of file B2GDQM.h.

◆ boostedJet_wMass

std::vector<MonitorElement*> B2GDQM::boostedJet_wMass
private

Definition at line 165 of file B2GDQM.h.

◆ elecSelect_

std::shared_ptr<StringCutObjectSelector<reco::GsfElectron> > B2GDQM::elecSelect_
private

Definition at line 145 of file B2GDQM.h.

◆ electronLabel_

edm::InputTag B2GDQM::electronLabel_
private

Definition at line 118 of file B2GDQM.h.

◆ electronToken_

edm::EDGetTokenT<edm::View<reco::GsfElectron> > B2GDQM::electronToken_
private

Definition at line 119 of file B2GDQM.h.

◆ hltConfigProvider_

HLTConfigProvider B2GDQM::hltConfigProvider_
private

Definition at line 96 of file B2GDQM.h.

◆ ievt

int B2GDQM::ievt
private

Definition at line 94 of file B2GDQM.h.

◆ irun

int B2GDQM::irun
private

Definition at line 94 of file B2GDQM.h.

◆ isValidHltConfig_

bool B2GDQM::isValidHltConfig_
private

Definition at line 97 of file B2GDQM.h.

◆ jetLabels_

std::vector<edm::InputTag> B2GDQM::jetLabels_
private

Definition at line 105 of file B2GDQM.h.

◆ jetPtMins_

std::vector<double> B2GDQM::jetPtMins_
private

Definition at line 125 of file B2GDQM.h.

◆ jetTokens_

std::vector<edm::EDGetTokenT<edm::View<reco::Jet> > > B2GDQM::jetTokens_
private

Definition at line 106 of file B2GDQM.h.

◆ muonLabel_

edm::InputTag B2GDQM::muonLabel_
private

Definition at line 115 of file B2GDQM.h.

◆ muonSelect_

std::shared_ptr<StringCutObjectSelector<reco::Muon> > B2GDQM::muonSelect_
private

Definition at line 136 of file B2GDQM.h.

◆ muonToken_

edm::EDGetTokenT<edm::View<reco::Muon> > B2GDQM::muonToken_
private

Definition at line 116 of file B2GDQM.h.

◆ nEvents_

int B2GDQM::nEvents_
private

Definition at line 94 of file B2GDQM.h.

◆ nLumiSecs_

int B2GDQM::nLumiSecs_
private

Definition at line 93 of file B2GDQM.h.

◆ pfJet_cemf

std::vector<MonitorElement*> B2GDQM::pfJet_cemf
private

Definition at line 157 of file B2GDQM.h.

◆ pfJet_chef

std::vector<MonitorElement*> B2GDQM::pfJet_chef
private

Definition at line 155 of file B2GDQM.h.

◆ pfJet_m

std::vector<MonitorElement*> B2GDQM::pfJet_m
private

Definition at line 154 of file B2GDQM.h.

◆ pfJet_nemf

std::vector<MonitorElement*> B2GDQM::pfJet_nemf
private

Definition at line 158 of file B2GDQM.h.

◆ pfJet_nhef

std::vector<MonitorElement*> B2GDQM::pfJet_nhef
private

Definition at line 156 of file B2GDQM.h.

◆ pfJet_phi

std::vector<MonitorElement*> B2GDQM::pfJet_phi
private

Definition at line 153 of file B2GDQM.h.

◆ pfJet_pt

std::vector<MonitorElement*> B2GDQM::pfJet_pt
private

Definition at line 151 of file B2GDQM.h.

◆ pfJet_y

std::vector<MonitorElement*> B2GDQM::pfJet_y
private

Definition at line 152 of file B2GDQM.h.

◆ PFJetCorService_

std::string B2GDQM::PFJetCorService_
private

Definition at line 147 of file B2GDQM.h.

◆ pfMet_phi

MonitorElement* B2GDQM::pfMet_phi
private

Definition at line 167 of file B2GDQM.h.

◆ pfMet_pt

MonitorElement* B2GDQM::pfMet_pt
private

Definition at line 166 of file B2GDQM.h.

◆ PFMETLabel_

edm::InputTag B2GDQM::PFMETLabel_
private

Definition at line 107 of file B2GDQM.h.

◆ PFMETToken_

edm::EDGetTokenT<std::vector<reco::PFMET> > B2GDQM::PFMETToken_
private

Definition at line 108 of file B2GDQM.h.

◆ sdjetLabel_

edm::InputTag B2GDQM::sdjetLabel_
private

Definition at line 112 of file B2GDQM.h.

◆ sdjetToken_

edm::EDGetTokenT<edm::View<reco::BasicJet> > B2GDQM::sdjetToken_
private

Definition at line 113 of file B2GDQM.h.

◆ semiE_dphiHadCut_

double B2GDQM::semiE_dphiHadCut_
private

Definition at line 140 of file B2GDQM.h.

◆ semiE_dRMin_

double B2GDQM::semiE_dRMin_
private

Definition at line 142 of file B2GDQM.h.

◆ semiE_eDRMin

MonitorElement* B2GDQM::semiE_eDRMin
private

Definition at line 185 of file B2GDQM.h.

◆ semiE_eEta

MonitorElement* B2GDQM::semiE_eEta
private

Definition at line 183 of file B2GDQM.h.

◆ semiE_ePhi

MonitorElement* B2GDQM::semiE_ePhi
private

Definition at line 184 of file B2GDQM.h.

◆ semiE_ePt

MonitorElement* B2GDQM::semiE_ePt
private

Definition at line 182 of file B2GDQM.h.

◆ semiE_ePtRel

MonitorElement* B2GDQM::semiE_ePtRel
private

Definition at line 186 of file B2GDQM.h.

◆ semiE_hadJetDR

MonitorElement* B2GDQM::semiE_hadJetDR
private

Definition at line 187 of file B2GDQM.h.

◆ semiE_hadJetMass

MonitorElement* B2GDQM::semiE_hadJetMass
private

Definition at line 191 of file B2GDQM.h.

◆ semiE_hadJetPhi

MonitorElement* B2GDQM::semiE_hadJetPhi
private

Definition at line 190 of file B2GDQM.h.

◆ semiE_hadJetPt

MonitorElement* B2GDQM::semiE_hadJetPt
private

Definition at line 188 of file B2GDQM.h.

◆ semiE_HadJetPtCut_

double B2GDQM::semiE_HadJetPtCut_
private

Definition at line 138 of file B2GDQM.h.

◆ semiE_hadJetWMass

MonitorElement* B2GDQM::semiE_hadJetWMass
private

Definition at line 192 of file B2GDQM.h.

◆ semiE_hadJetY

MonitorElement* B2GDQM::semiE_hadJetY
private

Definition at line 189 of file B2GDQM.h.

◆ semiE_LepJetPtCut_

double B2GDQM::semiE_LepJetPtCut_
private

Definition at line 139 of file B2GDQM.h.

◆ semiE_mttbar

MonitorElement* B2GDQM::semiE_mttbar
private

Definition at line 193 of file B2GDQM.h.

◆ semiE_ptRel_

double B2GDQM::semiE_ptRel_
private

Definition at line 144 of file B2GDQM.h.

◆ semiMu_dphiHadCut_

double B2GDQM::semiMu_dphiHadCut_
private

Definition at line 133 of file B2GDQM.h.

◆ semiMu_dRMin_

double B2GDQM::semiMu_dRMin_
private

Definition at line 134 of file B2GDQM.h.

◆ semiMu_hadJetDR

MonitorElement* B2GDQM::semiMu_hadJetDR
private

Definition at line 174 of file B2GDQM.h.

◆ semiMu_hadJetMass

MonitorElement* B2GDQM::semiMu_hadJetMass
private

Definition at line 178 of file B2GDQM.h.

◆ semiMu_hadJetPhi

MonitorElement* B2GDQM::semiMu_hadJetPhi
private

Definition at line 177 of file B2GDQM.h.

◆ semiMu_hadJetPt

MonitorElement* B2GDQM::semiMu_hadJetPt
private

Definition at line 175 of file B2GDQM.h.

◆ semiMu_HadJetPtCut_

double B2GDQM::semiMu_HadJetPtCut_
private

Definition at line 131 of file B2GDQM.h.

◆ semiMu_hadJetWMass

MonitorElement* B2GDQM::semiMu_hadJetWMass
private

Definition at line 179 of file B2GDQM.h.

◆ semiMu_hadJetY

MonitorElement* B2GDQM::semiMu_hadJetY
private

Definition at line 176 of file B2GDQM.h.

◆ semiMu_LepJetPtCut_

double B2GDQM::semiMu_LepJetPtCut_
private

Definition at line 132 of file B2GDQM.h.

◆ semiMu_mttbar

MonitorElement* B2GDQM::semiMu_mttbar
private

Definition at line 180 of file B2GDQM.h.

◆ semiMu_muDRMin

MonitorElement* B2GDQM::semiMu_muDRMin
private

Definition at line 172 of file B2GDQM.h.

◆ semiMu_muEta

MonitorElement* B2GDQM::semiMu_muEta
private

Definition at line 170 of file B2GDQM.h.

◆ semiMu_muPhi

MonitorElement* B2GDQM::semiMu_muPhi
private

Definition at line 171 of file B2GDQM.h.

◆ semiMu_muPt

MonitorElement* B2GDQM::semiMu_muPt
private

Definition at line 169 of file B2GDQM.h.

◆ semiMu_muPtRel

MonitorElement* B2GDQM::semiMu_muPtRel
private

Definition at line 173 of file B2GDQM.h.

◆ semiMu_ptRel_

double B2GDQM::semiMu_ptRel_
private

Definition at line 135 of file B2GDQM.h.

◆ theTriggerResultsCollection

edm::InputTag B2GDQM::theTriggerResultsCollection
private

Definition at line 100 of file B2GDQM.h.

◆ triggerResults_

edm::Handle<edm::TriggerResults> B2GDQM::triggerResults_
private

Definition at line 103 of file B2GDQM.h.

◆ triggerToken_

edm::EDGetTokenT<edm::TriggerResults> B2GDQM::triggerToken_
private

Definition at line 101 of file B2GDQM.h.

B2GDQM::allHad_pt0
MonitorElement * allHad_pt0
Definition: B2GDQM.h:195
B2GDQM::allHad_wMass0
MonitorElement * allHad_wMass0
Definition: B2GDQM.h:199
edm::View::begin
const_iterator begin() const
B2GDQM::pfJet_chef
std::vector< MonitorElement * > pfJet_chef
Definition: B2GDQM.h:155
B2GDQM::boostedJet_wMass
std::vector< MonitorElement * > boostedJet_wMass
Definition: B2GDQM.h:165
B2GDQM::allHad_y1
MonitorElement * allHad_y1
Definition: B2GDQM.h:201
B2GDQM::pfMet_phi
MonitorElement * pfMet_phi
Definition: B2GDQM.h:167
muon
Definition: MuonCocktails.h:17
reco::Candidate::mass
virtual double mass() const =0
mass
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
B2GDQM::semiE_hadJetWMass
MonitorElement * semiE_hadJetWMass
Definition: B2GDQM.h:192
reco::deltaPhi
constexpr double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:26
B2GDQM::semiE_dphiHadCut_
double semiE_dphiHadCut_
Definition: B2GDQM.h:140
B2GDQM::semiMu_dphiHadCut_
double semiMu_dphiHadCut_
Definition: B2GDQM.h:133
B2GDQM::allHad_phi1
MonitorElement * allHad_phi1
Definition: B2GDQM.h:202
edm::LogInfo
Definition: MessageLogger.h:254
B2GDQM::boostedJet_subjetY
std::vector< MonitorElement * > boostedJet_subjetY
Definition: B2GDQM.h:160
B2GDQM::semiE_eDRMin
MonitorElement * semiE_eDRMin
Definition: B2GDQM.h:185
B2GDQM::PFMETLabel_
edm::InputTag PFMETLabel_
Definition: B2GDQM.h:107
reco::Candidate::pt
virtual double pt() const =0
transverse momentum
pdwgLeptonRecoSkim_cfi.electronCollection
electronCollection
Definition: pdwgLeptonRecoSkim_cfi.py:5
reco::LeafCandidate::pt
double pt() const final
transverse momentum
Definition: LeafCandidate.h:146
reco::PFJet::chargedHadronEnergyFraction
float chargedHadronEnergyFraction() const
chargedHadronEnergyFraction
Definition: PFJet.h:97
B2GDQM::pfMet_pt
MonitorElement * pfMet_pt
Definition: B2GDQM.h:166
B2GDQM::semiMu_hadJetY
MonitorElement * semiMu_hadJetY
Definition: B2GDQM.h:176
B2GDQM::semiE_eEta
MonitorElement * semiE_eEta
Definition: B2GDQM.h:183
B2GDQM::semiMu_muDRMin
MonitorElement * semiMu_muDRMin
Definition: B2GDQM.h:172
B2GDQM::semiMu_hadJetDR
MonitorElement * semiMu_hadJetDR
Definition: B2GDQM.h:174
edm::Handle
Definition: AssociativeIterator.h:50
B2GDQM::PFJetCorService_
std::string PFJetCorService_
Definition: B2GDQM.h:147
B2GDQM::allHad_wMass1
MonitorElement * allHad_wMass1
Definition: B2GDQM.h:204
electrons_cff.ptRel
ptRel
Definition: electrons_cff.py:204
reco::Candidate::rapidity
virtual double rapidity() const =0
rapidity
reco::Muon
Definition: Muon.h:27
B2GDQM::analyzeAllHad
virtual void analyzeAllHad(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: B2GDQM.cc:321
B2GDQM::allHad_y0
MonitorElement * allHad_y0
Definition: B2GDQM.h:196
B2GDQM::boostedJet_subjetPt
std::vector< MonitorElement * > boostedJet_subjetPt
Definition: B2GDQM.h:159
contentValuesCheck.ss
ss
Definition: contentValuesCheck.py:33
reco::BasicJet
Jets made from CaloTowers.
Definition: BasicJet.h:19
B2GDQM::pfJet_cemf
std::vector< MonitorElement * > pfJet_cemf
Definition: B2GDQM.h:157
B2GDQM::jetPtMins_
std::vector< double > jetPtMins_
Definition: B2GDQM.h:125
B2GDQM::semiE_dRMin_
double semiE_dRMin_
Definition: B2GDQM.h:142
B2GDQM::muonSelect_
std::shared_ptr< StringCutObjectSelector< reco::Muon > > muonSelect_
Definition: B2GDQM.h:136
reco::PFJet::chargedEmEnergyFraction
float chargedEmEnergyFraction() const
chargedEmEnergyFraction
Definition: PFJet.h:141
B2GDQM::boostedJet_subjetPhi
std::vector< MonitorElement * > boostedJet_subjetPhi
Definition: B2GDQM.h:161
B2GDQM::semiE_hadJetMass
MonitorElement * semiE_hadJetMass
Definition: B2GDQM.h:191
B2GDQM::semiE_ePt
MonitorElement * semiE_ePt
Definition: B2GDQM.h:182
B2GDQM::semiE_mttbar
MonitorElement * semiE_mttbar
Definition: B2GDQM.h:193
B2GDQM::semiMu_mttbar
MonitorElement * semiMu_mttbar
Definition: B2GDQM.h:180
ExoticaDQM_cfi.pfJetCollection
pfJetCollection
Definition: ExoticaDQM_cfi.py:19
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
B2GDQM::pfJet_y
std::vector< MonitorElement * > pfJet_y
Definition: B2GDQM.h:152
B2GDQM::theTriggerResultsCollection
edm::InputTag theTriggerResultsCollection
Definition: B2GDQM.h:100
B2GDQM::semiE_ptRel_
double semiE_ptRel_
Definition: B2GDQM.h:144
metsig::electron
Definition: SignAlgoResolutions.h:48
B2GDQM::allHad_phi0
MonitorElement * allHad_phi0
Definition: B2GDQM.h:197
B2GDQM::analyzeSemiE
virtual void analyzeSemiE(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: B2GDQM.cc:451
HLT_2018_cff.dRMin
dRMin
Definition: HLT_2018_cff.py:7352
reco::GsfElectron
Definition: GsfElectron.h:35
B2GDQM::jetLabels_
std::vector< edm::InputTag > jetLabels_
Definition: B2GDQM.h:105
jetfilter_cfi.jetCollection
jetCollection
Definition: jetfilter_cfi.py:4
B2GDQM::semiE_LepJetPtCut_
double semiE_LepJetPtCut_
Definition: B2GDQM.h:139
B2GDQM::muonToken_
edm::EDGetTokenT< edm::View< reco::Muon > > muonToken_
Definition: B2GDQM.h:116
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
B2GDQM::allHad_pt1
MonitorElement * allHad_pt1
Definition: B2GDQM.h:200
B2GDQM::allHadDeltaPhiCut_
double allHadDeltaPhiCut_
Definition: B2GDQM.h:129
B2GDQM::allHadPtCut_
double allHadPtCut_
Definition: B2GDQM.h:127
B2GDQM::semiMu_muPhi
MonitorElement * semiMu_muPhi
Definition: B2GDQM.h:171
B2GDQM::jetTokens_
std::vector< edm::EDGetTokenT< edm::View< reco::Jet > > > jetTokens_
Definition: B2GDQM.h:106
B2GDQM::semiE_hadJetY
MonitorElement * semiE_hadJetY
Definition: B2GDQM.h:189
edm::View
Definition: CaloClusterFwd.h:14
B2GDQM::triggerToken_
edm::EDGetTokenT< edm::TriggerResults > triggerToken_
Definition: B2GDQM.h:101
reco::LeafCandidate::mass
double mass() const final
mass
Definition: LeafCandidate.h:131
reco::PFJet::neutralHadronEnergyFraction
float neutralHadronEnergyFraction() const
neutralHadronEnergyFraction
Definition: PFJet.h:101
B2GDQM::pfJet_m
std::vector< MonitorElement * > pfJet_m
Definition: B2GDQM.h:154
B2GDQM::semiE_hadJetPt
MonitorElement * semiE_hadJetPt
Definition: B2GDQM.h:188
iEvent
int iEvent
Definition: GenABIO.cc:224
reco::LeafCandidate::p4
const LorentzVector & p4() const final
four-momentum Lorentz vector
Definition: LeafCandidate.h:114
B2GDQM::pfJet_pt
std::vector< MonitorElement * > pfJet_pt
Definition: B2GDQM.h:151
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:50
B2GDQM::boostedJet_massDrop
std::vector< MonitorElement * > boostedJet_massDrop
Definition: B2GDQM.h:164
B2GDQM::sdjetToken_
edm::EDGetTokenT< edm::View< reco::BasicJet > > sdjetToken_
Definition: B2GDQM.h:113
B2GDQM::boostedJet_subjetN
std::vector< MonitorElement * > boostedJet_subjetN
Definition: B2GDQM.h:163
B2GDQM::sdjetLabel_
edm::InputTag sdjetLabel_
Definition: B2GDQM.h:112
pdwgLeptonRecoSkim_cfi.muonCollection
muonCollection
Definition: pdwgLeptonRecoSkim_cfi.py:7
reco::PFJet::neutralEmEnergyFraction
float neutralEmEnergyFraction() const
neutralEmEnergyFraction
Definition: PFJet.h:149
B2GDQM::allHad_mass0
MonitorElement * allHad_mass0
Definition: B2GDQM.h:198
B2GDQM::semiMu_hadJetPhi
MonitorElement * semiMu_hadJetPhi
Definition: B2GDQM.h:177
reco::CompositePtrCandidate::numberOfDaughters
size_t numberOfDaughters() const override
number of daughters
Definition: CompositePtrCandidate.cc:18
B2GDQM::semiMu_dRMin_
double semiMu_dRMin_
Definition: B2GDQM.h:134
edm::Ptr
Definition: AssociationVector.h:31
reco::Candidate
Definition: Candidate.h:27
B2GDQM::PFMETToken_
edm::EDGetTokenT< std::vector< reco::PFMET > > PFMETToken_
Definition: B2GDQM.h:108
DDAxes::phi
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
B2GDQM::semiMu_LepJetPtCut_
double semiMu_LepJetPtCut_
Definition: B2GDQM.h:132
B2GDQM::semiMu_hadJetWMass
MonitorElement * semiMu_hadJetWMass
Definition: B2GDQM.h:179
B2GDQM_cfi.pfMETCollection
pfMETCollection
Definition: B2GDQM_cfi.py:27
reco::LeafCandidate::phi
double phi() const final
momentum azimuthal angle
Definition: LeafCandidate.h:148
B2GDQM::semiE_hadJetDR
MonitorElement * semiE_hadJetDR
Definition: B2GDQM.h:187
metsig::jet
Definition: SignAlgoResolutions.h:47
B2GDQM::boostedJet_subjetM
std::vector< MonitorElement * > boostedJet_subjetM
Definition: B2GDQM.h:162
B2GDQM::allHad_mass1
MonitorElement * allHad_mass1
Definition: B2GDQM.h:203
B2GDQM::pfJet_nhef
std::vector< MonitorElement * > pfJet_nhef
Definition: B2GDQM.h:156
reco::PFJet
Jets made from PFObjects.
Definition: PFJet.h:20
pseudoTop_cfi.wMass
wMass
Definition: pseudoTop_cfi.py:12
B2GDQM::semiMu_hadJetMass
MonitorElement * semiMu_hadJetMass
Definition: B2GDQM.h:178
reco::CompositePtrCandidate::daughter
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode)
Definition: CompositePtrCandidate.cc:10
reco::deltaR
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:30
icoll
int icoll
Definition: AMPTWrapper.h:146
B2GDQM::electronToken_
edm::EDGetTokenT< edm::View< reco::GsfElectron > > electronToken_
Definition: B2GDQM.h:119
edm::View::const_iterator
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
Definition: View.h:86
B2GDQM::semiMu_muEta
MonitorElement * semiMu_muEta
Definition: B2GDQM.h:170
B2GDQM::semiMu_ptRel_
double semiMu_ptRel_
Definition: B2GDQM.h:135
B2GDQM::semiMu_muPtRel
MonitorElement * semiMu_muPtRel
Definition: B2GDQM.h:173
B2GDQM::semiE_hadJetPhi
MonitorElement * semiE_hadJetPhi
Definition: B2GDQM.h:190
edm::Ptr::isAvailable
bool isAvailable() const
Definition: Ptr.h:229
B2GDQM::analyzeSemiMu
virtual void analyzeSemiMu(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: B2GDQM.cc:369
B2GDQM::semiMu_HadJetPtCut_
double semiMu_HadJetPtCut_
Definition: B2GDQM.h:131
B2GDQM::pfJet_phi
std::vector< MonitorElement * > pfJet_phi
Definition: B2GDQM.h:153
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
reco::LeafCandidate::rapidity
double rapidity() const final
rapidity
Definition: LeafCandidate.h:154
edm::View::end
const_iterator end() const
B2GDQM::semiE_HadJetPtCut_
double semiE_HadJetPtCut_
Definition: B2GDQM.h:138
B2GDQM::allHad_mttbar
MonitorElement * allHad_mttbar
Definition: B2GDQM.h:205
B2GDQM::semiMu_muPt
MonitorElement * semiMu_muPt
Definition: B2GDQM.h:169
B2GDQM::semiE_ePtRel
MonitorElement * semiE_ePtRel
Definition: B2GDQM.h:186
B2GDQM::analyzeJets
virtual void analyzeJets(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: B2GDQM.cc:236
reco::Candidate::phi
virtual double phi() const =0
momentum azimuthal angle
B2GDQM::semiMu_hadJetPt
MonitorElement * semiMu_hadJetPt
Definition: B2GDQM.h:175
B2GDQM::elecSelect_
std::shared_ptr< StringCutObjectSelector< reco::GsfElectron > > elecSelect_
Definition: B2GDQM.h:145
edm::InputTag
Definition: InputTag.h:15
label
const char * label
Definition: PFTauDecayModeTools.cc:11
B2GDQM::allHadRapidityCut_
double allHadRapidityCut_
Definition: B2GDQM.h:128
B2GDQM::semiE_ePhi
MonitorElement * semiE_ePhi
Definition: B2GDQM.h:184
B2GDQM::pfJet_nemf
std::vector< MonitorElement * > pfJet_nemf
Definition: B2GDQM.h:158