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 74 of file B2GDQM.cc.

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

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

131  {
132  edm::LogInfo("B2GDQM") << " Deleting B2GDQM "
133  << "\n";
134 }
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 226 of file B2GDQM.cc.

References iEvent.

226  {
227  analyzeJets(iEvent, iSetup);
228  analyzeSemiMu(iEvent, iSetup);
229  analyzeSemiE(iEvent, iSetup);
230  analyzeAllHad(iEvent, iSetup);
231 }
virtual void analyzeSemiMu(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: B2GDQM.cc:364
virtual void analyzeAllHad(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: B2GDQM.cc:316
int iEvent
Definition: GenABIO.cc:224
virtual void analyzeSemiE(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: B2GDQM.cc:446
virtual void analyzeJets(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: B2GDQM.cc:233

◆ analyzeAllHad()

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

Definition at line 316 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.

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

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

References funct::abs(), reco::CompositePtrCandidate::daughter(), reco::deltaPhi(), reco::deltaR(), HLT_2023v12_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.

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

References funct::abs(), reco::CompositePtrCandidate::daughter(), reco::deltaPhi(), reco::deltaR(), HLT_2023v12_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.

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

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

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