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
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Protected Member Functions

void 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 >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

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.

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

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 }
double semiMu_dphiHadCut_
Definition: B2GDQM.h:133
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
double semiMu_HadJetPtCut_
Definition: B2GDQM.h:131
double semiE_HadJetPtCut_
Definition: B2GDQM.h:138
std::vector< double > jetPtMins_
Definition: B2GDQM.h:125
edm::InputTag theTriggerResultsCollection
Definition: B2GDQM.h:100
double semiE_ptRel_
Definition: B2GDQM.h:144
edm::EDGetTokenT< edm::View< reco::Muon > > muonToken_
Definition: B2GDQM.h:116
double allHadDeltaPhiCut_
Definition: B2GDQM.h:129
double semiE_dphiHadCut_
Definition: B2GDQM.h:140
std::string PFJetCorService_
Definition: B2GDQM.h:147
edm::InputTag sdjetLabel_
Definition: B2GDQM.h:112
double semiE_dRMin_
Definition: B2GDQM.h:142
std::shared_ptr< StringCutObjectSelector< reco::Muon > > muonSelect_
Definition: B2GDQM.h:136
std::vector< edm::InputTag > jetLabels_
Definition: B2GDQM.h:105
Log< level::Info, false > LogInfo
double semiMu_ptRel_
Definition: B2GDQM.h:135
double allHadPtCut_
Definition: B2GDQM.h:127
std::vector< edm::EDGetTokenT< edm::View< reco::Jet > > > jetTokens_
Definition: B2GDQM.h:106
double semiE_LepJetPtCut_
Definition: B2GDQM.h:139
edm::EDGetTokenT< edm::TriggerResults > triggerToken_
Definition: B2GDQM.h:101
double allHadRapidityCut_
Definition: B2GDQM.h:128
std::shared_ptr< StringCutObjectSelector< reco::GsfElectron > > elecSelect_
Definition: B2GDQM.h:145
edm::EDGetTokenT< edm::View< reco::BasicJet > > sdjetToken_
Definition: B2GDQM.h:113
double semiMu_dRMin_
Definition: B2GDQM.h:134
edm::EDGetTokenT< std::vector< reco::PFMET > > PFMETToken_
Definition: B2GDQM.h:108
double semiMu_LepJetPtCut_
Definition: B2GDQM.h:132
edm::InputTag PFMETLabel_
Definition: B2GDQM.h:107
edm::EDGetTokenT< edm::View< reco::GsfElectron > > electronToken_
Definition: B2GDQM.h:119

◆ ~B2GDQM()

B2GDQM::~B2GDQM ( )
override

Definition at line 134 of file B2GDQM.cc.

134  {
135  edm::LogInfo("B2GDQM") << " Deleting B2GDQM "
136  << "\n";
137 }
Log< level::Info, false > LogInfo

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.

References iEvent.

229  {
230  analyzeJets(iEvent, iSetup);
231  analyzeSemiMu(iEvent, iSetup);
232  analyzeSemiE(iEvent, iSetup);
233  analyzeAllHad(iEvent, iSetup);
234 }
virtual void analyzeSemiMu(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: B2GDQM.cc:369
virtual void analyzeAllHad(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: B2GDQM.cc:321
int iEvent
Definition: GenABIO.cc:224
virtual void analyzeSemiE(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: B2GDQM.cc:451
virtual void analyzeJets(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: B2GDQM.cc:236

◆ analyzeAllHad()

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

Definition at line 321 of file B2GDQM.cc.

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.

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 }
constexpr double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:26
MonitorElement * allHad_wMass1
Definition: B2GDQM.h:204
double pt() const final
transverse momentum
MonitorElement * allHad_y0
Definition: B2GDQM.h:196
MonitorElement * allHad_pt0
Definition: B2GDQM.h:195
virtual double mass() const =0
mass
MonitorElement * allHad_wMass0
Definition: B2GDQM.h:199
MonitorElement * allHad_phi0
Definition: B2GDQM.h:197
MonitorElement * allHad_y1
Definition: B2GDQM.h:201
bool isAvailable() const
Definition: Ptr.h:230
const LorentzVector & p4() const final
four-momentum Lorentz vector
void Fill(long long x)
int iEvent
Definition: GenABIO.cc:224
double rapidity() const final
rapidity
MonitorElement * allHad_mass0
Definition: B2GDQM.h:198
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
MonitorElement * allHad_mass1
Definition: B2GDQM.h:203
#define M_PI
size_t numberOfDaughters() const override
number of daughters
double allHadPtCut_
Definition: B2GDQM.h:127
MonitorElement * allHad_pt1
Definition: B2GDQM.h:200
MonitorElement * allHad_mttbar
Definition: B2GDQM.h:205
double allHadRapidityCut_
Definition: B2GDQM.h:128
double mass() const final
mass
edm::EDGetTokenT< edm::View< reco::BasicJet > > sdjetToken_
Definition: B2GDQM.h:113
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
double phi() const final
momentum azimuthal angle
MonitorElement * allHad_phi1
Definition: B2GDQM.h:202

◆ analyzeJets()

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

Definition at line 236 of file B2GDQM.cc.

References edm::View< T >::begin(), reco::PFJet::chargedEmEnergyFraction(), reco::PFJet::chargedHadronEnergyFraction(), runTheMatrix::const, 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().

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 }
std::vector< MonitorElement * > pfJet_nhef
Definition: B2GDQM.h:156
std::vector< MonitorElement * > boostedJet_subjetY
Definition: B2GDQM.h:160
std::vector< MonitorElement * > pfJet_phi
Definition: B2GDQM.h:153
MonitorElement * pfMet_pt
Definition: B2GDQM.h:166
float chargedEmEnergyFraction() const
chargedEmEnergyFraction
Definition: PFJet.h:141
std::vector< MonitorElement * > pfJet_cemf
Definition: B2GDQM.h:157
std::vector< MonitorElement * > pfJet_nemf
Definition: B2GDQM.h:158
virtual double pt() const =0
transverse momentum
virtual double mass() const =0
mass
std::vector< double > jetPtMins_
Definition: B2GDQM.h:125
std::vector< MonitorElement * > boostedJet_subjetPhi
Definition: B2GDQM.h:161
virtual double rapidity() const =0
rapidity
std::vector< MonitorElement * > pfJet_y
Definition: B2GDQM.h:152
Jets made from CaloTowers.
Definition: BasicJet.h:19
Jets made from PFObjects.
Definition: PFJet.h:20
void Fill(long long x)
char const * label
int iEvent
Definition: GenABIO.cc:224
std::vector< MonitorElement * > boostedJet_subjetN
Definition: B2GDQM.h:163
std::vector< MonitorElement * > boostedJet_subjetPt
Definition: B2GDQM.h:159
float chargedHadronEnergyFraction() const
chargedHadronEnergyFraction
Definition: PFJet.h:97
float neutralEmEnergyFraction() const
neutralEmEnergyFraction
Definition: PFJet.h:149
std::vector< edm::InputTag > jetLabels_
Definition: B2GDQM.h:105
std::vector< edm::EDGetTokenT< edm::View< reco::Jet > > > jetTokens_
Definition: B2GDQM.h:106
float neutralHadronEnergyFraction() const
neutralHadronEnergyFraction
Definition: PFJet.h:101
std::vector< MonitorElement * > pfJet_m
Definition: B2GDQM.h:154
std::vector< MonitorElement * > pfJet_pt
Definition: B2GDQM.h:151
std::vector< MonitorElement * > boostedJet_massDrop
Definition: B2GDQM.h:164
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
Definition: View.h:86
std::vector< MonitorElement * > pfJet_chef
Definition: B2GDQM.h:155
edm::EDGetTokenT< std::vector< reco::PFMET > > PFMETToken_
Definition: B2GDQM.h:108
std::vector< MonitorElement * > boostedJet_wMass
Definition: B2GDQM.h:165
const_iterator begin() const
const_iterator end() const
MonitorElement * pfMet_phi
Definition: B2GDQM.h:167
virtual double phi() const =0
momentum azimuthal angle
std::vector< MonitorElement * > boostedJet_subjetM
Definition: B2GDQM.h:162
int icoll
Definition: AMPTWrapper.h:146

◆ analyzeSemiE()

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

Definition at line 451 of file B2GDQM.cc.

References funct::abs(), reco::CompositePtrCandidate::daughter(), reco::deltaPhi(), reco::deltaR(), HLT_2022v14_cff::dRMin, HPSPFTauProducerPuppi_cfi::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, compareTotals::tot, and pseudoTop_cfi::wMass.

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 }
constexpr double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:26
MonitorElement * semiE_hadJetPhi
Definition: B2GDQM.h:190
double pt() const final
transverse momentum
double semiE_HadJetPtCut_
Definition: B2GDQM.h:138
MonitorElement * semiE_eEta
Definition: B2GDQM.h:183
MonitorElement * semiE_ePtRel
Definition: B2GDQM.h:186
virtual double mass() const =0
mass
MonitorElement * semiE_ePt
Definition: B2GDQM.h:182
double semiE_ptRel_
Definition: B2GDQM.h:144
bool isAvailable() const
Definition: Ptr.h:230
const LorentzVector & p4() const final
four-momentum Lorentz vector
void Fill(long long x)
MonitorElement * semiE_eDRMin
Definition: B2GDQM.h:185
int iEvent
Definition: GenABIO.cc:224
MonitorElement * semiE_hadJetPt
Definition: B2GDQM.h:188
double rapidity() const final
rapidity
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double semiE_dRMin_
Definition: B2GDQM.h:142
MonitorElement * semiE_hadJetMass
Definition: B2GDQM.h:191
MonitorElement * semiE_mttbar
Definition: B2GDQM.h:193
#define M_PI
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:30
MonitorElement * semiE_hadJetDR
Definition: B2GDQM.h:187
size_t numberOfDaughters() const override
number of daughters
double semiE_LepJetPtCut_
Definition: B2GDQM.h:139
MonitorElement * semiE_hadJetY
Definition: B2GDQM.h:189
std::shared_ptr< StringCutObjectSelector< reco::GsfElectron > > elecSelect_
Definition: B2GDQM.h:145
double mass() const final
mass
edm::EDGetTokenT< edm::View< reco::BasicJet > > sdjetToken_
Definition: B2GDQM.h:113
MonitorElement * semiE_ePhi
Definition: B2GDQM.h:184
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
double phi() const final
momentum azimuthal angle
MonitorElement * semiE_hadJetWMass
Definition: B2GDQM.h:192
edm::EDGetTokenT< edm::View< reco::GsfElectron > > electronToken_
Definition: B2GDQM.h:119

◆ analyzeSemiMu()

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

Definition at line 369 of file B2GDQM.cc.

References funct::abs(), reco::CompositePtrCandidate::daughter(), reco::deltaPhi(), reco::deltaR(), HLT_2022v14_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, compareTotals::tot, and pseudoTop_cfi::wMass.

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 }
constexpr double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:26
MonitorElement * semiMu_muPtRel
Definition: B2GDQM.h:173
double semiMu_HadJetPtCut_
Definition: B2GDQM.h:131
double pt() const final
transverse momentum
MonitorElement * semiMu_muPt
Definition: B2GDQM.h:169
virtual double mass() const =0
mass
MonitorElement * semiMu_mttbar
Definition: B2GDQM.h:180
edm::EDGetTokenT< edm::View< reco::Muon > > muonToken_
Definition: B2GDQM.h:116
MonitorElement * semiMu_muPhi
Definition: B2GDQM.h:171
bool isAvailable() const
Definition: Ptr.h:230
const LorentzVector & p4() const final
four-momentum Lorentz vector
void Fill(long long x)
int iEvent
Definition: GenABIO.cc:224
MonitorElement * semiMu_hadJetY
Definition: B2GDQM.h:176
MonitorElement * semiMu_muDRMin
Definition: B2GDQM.h:172
MonitorElement * semiMu_hadJetDR
Definition: B2GDQM.h:174
double rapidity() const final
rapidity
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::shared_ptr< StringCutObjectSelector< reco::Muon > > muonSelect_
Definition: B2GDQM.h:136
MonitorElement * semiMu_hadJetWMass
Definition: B2GDQM.h:179
#define M_PI
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:30
MonitorElement * semiMu_muEta
Definition: B2GDQM.h:170
double semiMu_ptRel_
Definition: B2GDQM.h:135
size_t numberOfDaughters() const override
number of daughters
MonitorElement * semiMu_hadJetPt
Definition: B2GDQM.h:175
double mass() const final
mass
edm::EDGetTokenT< edm::View< reco::BasicJet > > sdjetToken_
Definition: B2GDQM.h:113
double semiMu_dRMin_
Definition: B2GDQM.h:134
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
MonitorElement * semiMu_hadJetPhi
Definition: B2GDQM.h:177
double phi() const final
momentum azimuthal angle
double semiMu_LepJetPtCut_
Definition: B2GDQM.h:132
MonitorElement * semiMu_hadJetMass
Definition: B2GDQM.h:178

◆ bookHistograms()

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

Implements DQMEDAnalyzer.

Definition at line 142 of file B2GDQM.cc.

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

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 }
std::vector< MonitorElement * > pfJet_nhef
Definition: B2GDQM.h:156
MonitorElement * semiE_hadJetPhi
Definition: B2GDQM.h:190
std::vector< MonitorElement * > boostedJet_subjetY
Definition: B2GDQM.h:160
std::vector< MonitorElement * > pfJet_phi
Definition: B2GDQM.h:153
MonitorElement * pfMet_pt
Definition: B2GDQM.h:166
MonitorElement * semiMu_muPtRel
Definition: B2GDQM.h:173
MonitorElement * allHad_wMass1
Definition: B2GDQM.h:204
MonitorElement * semiE_eEta
Definition: B2GDQM.h:183
MonitorElement * semiMu_muPt
Definition: B2GDQM.h:169
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
MonitorElement * semiE_ePtRel
Definition: B2GDQM.h:186
std::vector< MonitorElement * > pfJet_cemf
Definition: B2GDQM.h:157
MonitorElement * allHad_y0
Definition: B2GDQM.h:196
std::vector< MonitorElement * > pfJet_nemf
Definition: B2GDQM.h:158
MonitorElement * allHad_pt0
Definition: B2GDQM.h:195
MonitorElement * semiE_ePt
Definition: B2GDQM.h:182
MonitorElement * allHad_wMass0
Definition: B2GDQM.h:199
MonitorElement * semiMu_mttbar
Definition: B2GDQM.h:180
std::vector< MonitorElement * > boostedJet_subjetPhi
Definition: B2GDQM.h:161
std::vector< MonitorElement * > pfJet_y
Definition: B2GDQM.h:152
MonitorElement * allHad_phi0
Definition: B2GDQM.h:197
MonitorElement * allHad_y1
Definition: B2GDQM.h:201
MonitorElement * semiMu_muPhi
Definition: B2GDQM.h:171
MonitorElement * semiE_eDRMin
Definition: B2GDQM.h:185
MonitorElement * semiMu_hadJetY
Definition: B2GDQM.h:176
MonitorElement * semiMu_muDRMin
Definition: B2GDQM.h:172
MonitorElement * semiMu_hadJetDR
Definition: B2GDQM.h:174
MonitorElement * semiE_hadJetPt
Definition: B2GDQM.h:188
MonitorElement * allHad_mass0
Definition: B2GDQM.h:198
std::vector< MonitorElement * > boostedJet_subjetN
Definition: B2GDQM.h:163
std::vector< MonitorElement * > boostedJet_subjetPt
Definition: B2GDQM.h:159
MonitorElement * allHad_mass1
Definition: B2GDQM.h:203
MonitorElement * semiE_hadJetMass
Definition: B2GDQM.h:191
MonitorElement * semiE_mttbar
Definition: B2GDQM.h:193
MonitorElement * semiMu_hadJetWMass
Definition: B2GDQM.h:179
std::vector< edm::InputTag > jetLabels_
Definition: B2GDQM.h:105
MonitorElement * semiE_hadJetDR
Definition: B2GDQM.h:187
MonitorElement * semiMu_muEta
Definition: B2GDQM.h:170
MonitorElement * allHad_pt1
Definition: B2GDQM.h:200
std::vector< MonitorElement * > pfJet_m
Definition: B2GDQM.h:154
MonitorElement * semiMu_hadJetPt
Definition: B2GDQM.h:175
MonitorElement * semiE_hadJetY
Definition: B2GDQM.h:189
MonitorElement * allHad_mttbar
Definition: B2GDQM.h:205
std::vector< MonitorElement * > pfJet_pt
Definition: B2GDQM.h:151
std::vector< MonitorElement * > boostedJet_massDrop
Definition: B2GDQM.h:164
MonitorElement * semiE_ePhi
Definition: B2GDQM.h:184
std::vector< MonitorElement * > pfJet_chef
Definition: B2GDQM.h:155
std::vector< MonitorElement * > boostedJet_wMass
Definition: B2GDQM.h:165
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
MonitorElement * semiMu_hadJetPhi
Definition: B2GDQM.h:177
MonitorElement * semiE_hadJetWMass
Definition: B2GDQM.h:192
MonitorElement * pfMet_phi
Definition: B2GDQM.h:167
MonitorElement * allHad_phi1
Definition: B2GDQM.h:202
MonitorElement * semiMu_hadJetMass
Definition: B2GDQM.h:178
std::vector< MonitorElement * > boostedJet_subjetM
Definition: B2GDQM.h:162
int icoll
Definition: AMPTWrapper.h:146

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.