CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes
DiJetMonitor Class Reference
Inheritance diagram for DiJetMonitor:
DQMEDAnalyzer TriggerDQMBase edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Types

typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- 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
 
- Public Types inherited from TriggerDQMBase
typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 

Public Member Functions

 DiJetMonitor (const edm::ParameterSet &)
 
 ~DiJetMonitor () override throw ()
 
- 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
 
- Public Member Functions inherited from TriggerDQMBase
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbins, const double xmin, const double xmax, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const std::vector< double > &binningX, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbinsX, const double xmin, const double xmax, const double ymin, const double ymax, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbinsX, const double xmin, const double xmax, const uint nbinsY, const double ymin, const double ymax, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const std::vector< double > &binningX, const std::vector< double > &binningY, const bool bookDen=true)
 
void setMETitle (ObjME &me, const std::string &titleX, const std::string &titleY)
 
 TriggerDQMBase ()=default
 
virtual ~TriggerDQMBase ()=default
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- 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 &)
 
- Static Public Member Functions inherited from TriggerDQMBase
static void fillHistoLSPSetDescription (edm::ParameterSetDescription &pset)
 
static void fillHistoPSetDescription (edm::ParameterSetDescription &pset)
 
static MEbinning getHistoLSPSet (const edm::ParameterSet &pset)
 
static MEbinning getHistoPSet (const edm::ParameterSet &pset)
 

Protected Member Functions

void analyze (edm::Event const &iEvent, edm::EventSetup const &iSetup) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
bool dijet_selection (double eta_1, double phi_1, double eta_2, double phi_2, double pt_1, double pt_2, int &tag_id, int &probe_id, int Event)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Private Attributes

MEbinning asy_binning {N_asy, MIN_asy, MAX_asy}
 
std::unique_ptr< GenericTriggerEventFlagden_genTriggerEventFlag_
 
MEbinning dijet_eta_binning {DiJet_N_ETA, -DiJet_MAX_ETA, DiJet_MAX_ETA}
 
const double DiJet_MAX_ETA = 5
 
const double DiJet_MAX_PHI = 3.2
 
unsigned int DiJet_N_ETA = 20
 
unsigned int DiJet_N_PHI = 32
 
MEbinning dijet_phi_binning {DiJet_N_PHI, -DiJet_MAX_PHI, DiJet_MAX_PHI}
 
MEbinning dijetpt_binning_
 
MEbinning dijetptThr_binning_
 
edm::EDGetTokenT< reco::PFJetCollectiondijetSrc_
 
edm::EDGetTokenT< reco::GsfElectronCollectioneleToken_
 
const std::string folderName_
 
bool hltPathsAreValid_
 
ObjME jetAsyEtaME_
 
ObjME jetEta1ME_
 
ObjME jetEta2ME_
 
ObjME jetEtaPhiME_
 
ObjME jetetaPrbME_
 
ObjME jetetaTagME_
 
ObjME jetPhi1ME_
 
ObjME jetPhi2ME_
 
ObjME jetphiPrbME_
 
ObjME jetphiTagME_
 
ObjME jetpt1ME_
 
ObjME jetpt2ME_
 
ObjME jetptAsyME_
 
ObjME jetptAvgaME_
 
ObjME jetptAvgaThrME_
 
ObjME jetptAvgbME_
 
ObjME jetptPrbME_
 
ObjME jetptTagME_
 
const double MAX_asy = 1
 
edm::EDGetTokenT< reco::PFMETCollectionmetToken_
 
const double MIN_asy = -1
 
edm::EDGetTokenT< reco::MuonCollectionmuoToken_
 
unsigned int N_asy = 50
 
int nmuons_
 
std::unique_ptr< GenericTriggerEventFlagnum_genTriggerEventFlag_
 
double ptcut_
 
const bool requireValidHLTPaths_
 

Additional Inherited Members

- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 32 of file DiJetMonitor.cc.

Member Typedef Documentation

◆ DQMStore

Definition at line 35 of file DiJetMonitor.cc.

◆ MonitorElement

Definition at line 34 of file DiJetMonitor.cc.

Constructor & Destructor Documentation

◆ DiJetMonitor()

DiJetMonitor::DiJetMonitor ( const edm::ParameterSet iConfig)

Definition at line 111 of file DiJetMonitor.cc.

112  : folderName_(iConfig.getParameter<std::string>("FolderName")),
113  requireValidHLTPaths_(iConfig.getParameter<bool>("requireValidHLTPaths")),
114  hltPathsAreValid_(false),
115  dijetSrc_(mayConsume<reco::PFJetCollection>(iConfig.getParameter<edm::InputTag>("dijetSrc"))),
117  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("dijetPSet"))),
119  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("dijetPtThrPSet"))),
121  iConfig.getParameter<edm::ParameterSet>("numGenericTriggerEventPSet"), consumesCollector(), *this)),
123  iConfig.getParameter<edm::ParameterSet>("denGenericTriggerEventPSet"), consumesCollector(), *this)),
124  ptcut_(iConfig.getParameter<double>("ptcut")) {}
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: DiJetMonitor.cc:88
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: DiJetMonitor.cc:87
MEbinning dijetpt_binning_
Definition: DiJetMonitor.cc:65
MEbinning dijetptThr_binning_
Definition: DiJetMonitor.cc:66
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
const std::string folderName_
Definition: DiJetMonitor.cc:55
bool hltPathsAreValid_
Definition: DiJetMonitor.cc:58
edm::EDGetTokenT< reco::PFJetCollection > dijetSrc_
Definition: DiJetMonitor.cc:63
static MEbinning getHistoPSet(const edm::ParameterSet &pset)
const bool requireValidHLTPaths_
Definition: DiJetMonitor.cc:57

◆ ~DiJetMonitor()

DiJetMonitor::~DiJetMonitor ( )
throw (
)
override

Definition at line 126 of file DiJetMonitor.cc.

References den_genTriggerEventFlag_, and num_genTriggerEventFlag_.

126  {
128  num_genTriggerEventFlag_.reset();
129  }
131  den_genTriggerEventFlag_.reset();
132  }
133 }
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: DiJetMonitor.cc:88
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: DiJetMonitor.cc:87

Member Function Documentation

◆ analyze()

void DiJetMonitor::analyze ( edm::Event const &  iEvent,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 306 of file DiJetMonitor.cc.

References den_genTriggerEventFlag_, TriggerDQMBase::ObjME::denominator, dijet_selection(), dijetSrc_, gmt_cfi::eta_1, gmt_cfi::eta_2, dqm::impl::MonitorElement::Fill(), hltPathsAreValid_, iEvent, edm::HandleBase::isValid(), jetAsyEtaME_, jetEta1ME_, jetEta2ME_, jetEtaPhiME_, jetetaPrbME_, jetetaTagME_, jetPhi1ME_, jetPhi2ME_, jetphiPrbME_, jetphiTagME_, jetpt1ME_, jetpt2ME_, jetptAsyME_, jetptAvgaME_, jetptAvgaThrME_, jetptAvgbME_, jetptPrbME_, jetptTagME_, num_genTriggerEventFlag_, TriggerDQMBase::ObjME::numerator, ptcut_, and requireValidHLTPaths_.

306  {
307  // if valid HLT paths are required,
308  // analyze event only if all paths are valid
310  return;
311  }
312 
313  // Filter out events if Trigger Filtering is requested
314  if (den_genTriggerEventFlag_->on() && !den_genTriggerEventFlag_->accept(iEvent, iSetup))
315  return;
316 
317  std::vector<double> v_jetpt;
318  std::vector<double> v_jeteta;
319  std::vector<double> v_jetphi;
320 
321  v_jetpt.clear();
322  v_jeteta.clear();
323  v_jetphi.clear();
324 
326  iEvent.getByToken(dijetSrc_, offjets);
327  if (!offjets.isValid()) {
328  edm::LogWarning("DiJetMonitor") << "DiJet handle not valid \n";
329  return;
330  }
331  for (reco::PFJetCollection::const_iterator ibegin = offjets->begin(), iend = offjets->end(), ijet = ibegin;
332  ijet != iend;
333  ++ijet) {
334  if (ijet->pt() < ptcut_) {
335  continue;
336  }
337  v_jetpt.push_back(ijet->pt());
338  v_jeteta.push_back(ijet->eta());
339  v_jetphi.push_back(ijet->phi());
340  }
341  if (v_jetpt.size() < 2) {
342  return;
343  }
344  double pt_1 = v_jetpt[0];
345  double eta_1 = v_jeteta[0];
346  double phi_1 = v_jetphi[0];
347  double pt_2 = v_jetpt[1];
348  double eta_2 = v_jeteta[1];
349  double phi_2 = v_jetphi[1];
350  double pt_avg_b = (pt_1 + pt_2) * 0.5;
351  int tag_id = -999, probe_id = -999;
352 
353  jetpt1ME_.denominator->Fill(pt_1);
354  jetpt2ME_.denominator->Fill(pt_2);
355  jetPhi1ME_.denominator->Fill(phi_1);
356  jetPhi2ME_.denominator->Fill(phi_2);
359  jetptAvgbME_.denominator->Fill(pt_avg_b);
360 
361  if (dijet_selection(eta_1, phi_1, eta_2, phi_2, pt_1, pt_2, tag_id, probe_id, iEvent.id().event())) {
362  if (tag_id == 0 && probe_id == 1) {
363  double pt_asy = (pt_2 - pt_1) / (pt_1 + pt_2);
364  double pt_avg = (pt_1 + pt_2) * 0.5;
365  jetptAvgaME_.denominator->Fill(pt_avg);
371  jetptAsyME_.denominator->Fill(pt_asy);
372  jetphiPrbME_.denominator->Fill(phi_2);
373  jetphiTagME_.denominator->Fill(phi_1);
376  }
377  if (tag_id == 1 && probe_id == 0) {
378  double pt_asy = (pt_1 - pt_2) / (pt_2 + pt_1);
379  double pt_avg = (pt_2 + pt_1) * 0.5;
380  jetptAvgaME_.denominator->Fill(pt_avg);
386  jetptAsyME_.denominator->Fill(pt_asy);
387  jetphiPrbME_.denominator->Fill(phi_1);
388  jetphiTagME_.denominator->Fill(phi_2);
391  }
392 
393  if (num_genTriggerEventFlag_->on() && !num_genTriggerEventFlag_->accept(iEvent, iSetup))
394  return;
395 
396  jetpt1ME_.numerator->Fill(pt_1);
397  jetpt2ME_.numerator->Fill(pt_2);
398  jetPhi1ME_.numerator->Fill(phi_1);
399  jetPhi2ME_.numerator->Fill(phi_2);
402  jetptAvgbME_.numerator->Fill(pt_avg_b);
403 
404  if (tag_id == 0 && probe_id == 1) {
405  double pt_asy = (pt_2 - pt_1) / (pt_1 + pt_2);
406  double pt_avg = (pt_1 + pt_2) * 0.5;
407  jetptAvgaME_.numerator->Fill(pt_avg);
408  jetptAvgaThrME_.numerator->Fill(pt_avg);
409  jetptTagME_.numerator->Fill(pt_1);
410  jetptPrbME_.numerator->Fill(pt_2);
413  jetptAsyME_.numerator->Fill(pt_asy);
414  jetphiPrbME_.numerator->Fill(phi_2);
415  jetphiTagME_.numerator->Fill(phi_1);
416  jetAsyEtaME_.numerator->Fill(pt_asy, eta_2);
417  jetEtaPhiME_.numerator->Fill(eta_2, phi_2);
418  }
419  if (tag_id == 1 && probe_id == 0) {
420  double pt_asy = (pt_1 - pt_2) / (pt_2 + pt_1);
421  double pt_avg = (pt_2 + pt_1) * 0.5;
422  jetptAvgaME_.numerator->Fill(pt_avg);
423  jetptAvgaThrME_.numerator->Fill(pt_avg);
424  jetptTagME_.numerator->Fill(pt_2);
425  jetptPrbME_.numerator->Fill(pt_1);
428  jetptAsyME_.numerator->Fill(pt_asy);
429  jetphiPrbME_.numerator->Fill(phi_1);
430  jetphiTagME_.numerator->Fill(phi_2);
431  jetAsyEtaME_.numerator->Fill(pt_asy, eta_1);
432  jetEtaPhiME_.numerator->Fill(eta_1, phi_1);
433  }
434  }
435 }
ObjME jetetaPrbME_
Definition: DiJetMonitor.cc:81
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: DiJetMonitor.cc:88
ObjME jetphiPrbME_
Definition: DiJetMonitor.cc:83
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: DiJetMonitor.cc:87
ObjME jetptPrbME_
Definition: DiJetMonitor.cc:79
ObjME jetAsyEtaME_
Definition: DiJetMonitor.cc:84
ObjME jetPhi2ME_
Definition: DiJetMonitor.cc:71
ObjME jetptAvgbME_
Definition: DiJetMonitor.cc:77
bool hltPathsAreValid_
Definition: DiJetMonitor.cc:58
ObjME jetPhi1ME_
Definition: DiJetMonitor.cc:70
ObjME jetptAsyME_
Definition: DiJetMonitor.cc:80
void Fill(long long x)
edm::EDGetTokenT< reco::PFJetCollection > dijetSrc_
Definition: DiJetMonitor.cc:63
const bool requireValidHLTPaths_
Definition: DiJetMonitor.cc:57
int iEvent
Definition: GenABIO.cc:224
ObjME jetetaTagME_
Definition: DiJetMonitor.cc:82
ObjME jetphiTagME_
Definition: DiJetMonitor.cc:74
bool dijet_selection(double eta_1, double phi_1, double eta_2, double phi_2, double pt_1, double pt_2, int &tag_id, int &probe_id, int Event)
MonitorElement * denominator
MonitorElement * numerator
ObjME jetEta1ME_
Definition: DiJetMonitor.cc:72
ObjME jetptAvgaME_
Definition: DiJetMonitor.cc:75
ObjME jetptTagME_
Definition: DiJetMonitor.cc:78
bool isValid() const
Definition: HandleBase.h:70
ObjME jetEta2ME_
Definition: DiJetMonitor.cc:73
ObjME jetptAvgaThrME_
Definition: DiJetMonitor.cc:76
Log< level::Warning, false > LogWarning
ObjME jetEtaPhiME_
Definition: DiJetMonitor.cc:85

◆ bookHistograms()

void DiJetMonitor::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 135 of file DiJetMonitor.cc.

References asy_binning, TriggerDQMBase::bookME(), den_genTriggerEventFlag_, dijet_eta_binning, dijet_phi_binning, dijetpt_binning_, dijetptThr_binning_, folderName_, hltPathsAreValid_, jetAsyEtaME_, jetEta1ME_, jetEta2ME_, jetEtaPhiME_, jetetaPrbME_, jetetaTagME_, jetPhi1ME_, jetPhi2ME_, jetphiPrbME_, jetphiTagME_, jetpt1ME_, jetpt2ME_, jetptAsyME_, jetptAvgaME_, jetptAvgaThrME_, jetptAvgbME_, jetptPrbME_, jetptTagME_, TriggerDQMBase::MEbinning::nbins, num_genTriggerEventFlag_, requireValidHLTPaths_, dqm::implementation::NavigatorBase::setCurrentFolder(), TriggerDQMBase::setMETitle(), AlCaHLTBitMon_QueryRunRegistry::string, TriggerDQMBase::MEbinning::xmax, and TriggerDQMBase::MEbinning::xmin.

135  {
136  // Initialize the GenericTriggerEventFlag
138  num_genTriggerEventFlag_->initRun(iRun, iSetup);
139  }
141  den_genTriggerEventFlag_->initRun(iRun, iSetup);
142  }
143 
144  // check if every HLT path specified in numerator and denominator has a valid match in the HLT Menu
146  den_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->allHLTPathsAreValid() &&
147  den_genTriggerEventFlag_->allHLTPathsAreValid());
148 
149  // if valid HLT paths are required,
150  // create DQM outputs only if all paths are valid
152  return;
153  }
154 
155  std::string histname, histtitle;
156  std::string currentFolder = folderName_;
157  ibooker.setCurrentFolder(currentFolder);
158 
159  histname = "jetpt1";
160  histtitle = "leading Jet Pt";
162  setMETitle(jetpt1ME_, "Pt_1 [GeV]", "events");
163 
164  histname = "jetpt2";
165  histtitle = "second leading Jet Pt";
167  setMETitle(jetpt2ME_, "Pt_2 [GeV]", "events");
168 
169  histname = "jetphi1";
170  histtitle = "leading Jet Phi";
171  bookME(
173  setMETitle(jetPhi1ME_, "Jet_Phi_1", "events");
174 
175  histname = "jetphi2";
176  histtitle = "second leading Jet Phi";
177  bookME(
179  setMETitle(jetPhi2ME_, "Jet_Phi_2", "events");
180 
181  histname = "jeteta1";
182  histtitle = "leading Jet Eta";
183  bookME(
185  setMETitle(jetEta1ME_, "Jet_Eta_1", "events");
186 
187  histname = "jeteta2";
188  histtitle = "second leading Jet Eta";
189  bookME(
191  setMETitle(jetEta2ME_, "Jet_Eta_2", "events");
192 
193  histname = "jetptAvgB";
194  histtitle = "Pt average before offline selection";
195  bookME(
197  setMETitle(jetptAvgbME_, "(pt_1 + pt_2)*0.5 [GeV]", "events");
198 
199  histname = "jetptAvgA";
200  histtitle = "Pt average after offline selection";
201  bookME(
203  setMETitle(jetptAvgaME_, "(pt_1 + pt_2)*0.5 [GeV]", "events");
204 
205  histname = "jetptAvgAThr";
206  histtitle = "Pt average after offline selection";
207  bookME(ibooker,
209  histname,
210  histtitle,
214  setMETitle(jetptAvgaThrME_, "(pt_1 + pt_2)*0.5 [GeV]", "events");
215 
216  histname = "jetptTag";
217  histtitle = "Tag Jet Pt";
218  bookME(
219  ibooker, jetptTagME_, histname, histtitle, dijetpt_binning_.nbins, dijetpt_binning_.xmin, dijetpt_binning_.xmax);
220  setMETitle(jetptTagME_, "Pt_tag [GeV]", "events ");
221 
222  histname = "jetptPrb";
223  histtitle = "Probe Jet Pt";
224  bookME(
225  ibooker, jetptPrbME_, histname, histtitle, dijetpt_binning_.nbins, dijetpt_binning_.xmin, dijetpt_binning_.xmax);
226  setMETitle(jetptPrbME_, "Pt_prb [GeV]", "events");
227 
228  histname = "jetptAsym";
229  histtitle = "Jet Pt Asymetry";
230  bookME(ibooker, jetptAsyME_, histname, histtitle, asy_binning.nbins, asy_binning.xmin, asy_binning.xmax);
231  setMETitle(jetptAsyME_, "(pt_prb - pt_tag)/(pt_prb + pt_tag)", "events");
232 
233  histname = "jetetaPrb";
234  histtitle = "Probe Jet eta";
235  bookME(ibooker,
236  jetetaPrbME_,
237  histname,
238  histtitle,
242  setMETitle(jetetaPrbME_, "Eta_probe #eta", "events");
243 
244  histname = "jetetaTag";
245  histtitle = "Tag Jet eta";
246  bookME(ibooker,
247  jetetaTagME_,
248  histname,
249  histtitle,
253  setMETitle(jetetaTagME_, "Eta_tag #eta", "events");
254 
255  histname = "ptAsymVSetaPrb";
256  histtitle = "Pt_Asym vs eta_prb";
257  bookME(ibooker,
258  jetAsyEtaME_,
259  histname,
260  histtitle,
267  setMETitle(jetAsyEtaME_, "(pt_prb - pt_tag)/(pt_prb + pt_tag)", "Eta_probe #eta");
268 
269  histname = "etaPrbVSphiPrb";
270  histtitle = "eta_prb vs phi_prb";
271  bookME(ibooker,
272  jetEtaPhiME_,
273  histname,
274  histtitle,
281  setMETitle(jetEtaPhiME_, "Eta_probe #eta", "Phi_probe #phi");
282 
283  histname = "jetphiPrb";
284  histtitle = "Probe Jet phi";
285  bookME(ibooker,
286  jetphiPrbME_,
287  histname,
288  histtitle,
292  setMETitle(jetphiPrbME_, "Phi_probe #phi", "events");
293 
294  histname = "jetphiTag";
295  histtitle = "Tag Jet phi";
296  bookME(ibooker,
297  jetphiTagME_,
298  histname,
299  histtitle,
303  setMETitle(jetphiTagME_, "Phi_tag #phi", "events");
304 }
ObjME jetetaPrbME_
Definition: DiJetMonitor.cc:81
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: DiJetMonitor.cc:88
ObjME jetphiPrbME_
Definition: DiJetMonitor.cc:83
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: DiJetMonitor.cc:87
ObjME jetptPrbME_
Definition: DiJetMonitor.cc:79
MEbinning dijetpt_binning_
Definition: DiJetMonitor.cc:65
ObjME jetAsyEtaME_
Definition: DiJetMonitor.cc:84
MEbinning asy_binning
MEbinning dijetptThr_binning_
Definition: DiJetMonitor.cc:66
ObjME jetPhi2ME_
Definition: DiJetMonitor.cc:71
ObjME jetptAvgbME_
Definition: DiJetMonitor.cc:77
const std::string folderName_
Definition: DiJetMonitor.cc:55
void setMETitle(ObjME &me, const std::string &titleX, const std::string &titleY)
bool hltPathsAreValid_
Definition: DiJetMonitor.cc:58
ObjME jetPhi1ME_
Definition: DiJetMonitor.cc:70
ObjME jetptAsyME_
Definition: DiJetMonitor.cc:80
const bool requireValidHLTPaths_
Definition: DiJetMonitor.cc:57
ObjME jetetaTagME_
Definition: DiJetMonitor.cc:82
ObjME jetphiTagME_
Definition: DiJetMonitor.cc:74
MEbinning dijet_phi_binning
Definition: DiJetMonitor.cc:97
ObjME jetEta1ME_
Definition: DiJetMonitor.cc:72
ObjME jetptAvgaME_
Definition: DiJetMonitor.cc:75
ObjME jetptTagME_
Definition: DiJetMonitor.cc:78
void bookME(DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbins, const double xmin, const double xmax, const bool bookDen=true)
ObjME jetEta2ME_
Definition: DiJetMonitor.cc:73
MEbinning dijet_eta_binning
ObjME jetptAvgaThrME_
Definition: DiJetMonitor.cc:76
ObjME jetEtaPhiME_
Definition: DiJetMonitor.cc:85

◆ dijet_selection()

bool DiJetMonitor::dijet_selection ( double  eta_1,
double  phi_1,
double  eta_2,
double  phi_2,
double  pt_1,
double  pt_2,
int &  tag_id,
int &  probe_id,
int  Event 
)
protected

Definition at line 438 of file DiJetMonitor.cc.

References funct::abs(), gmt_cfi::eta_1, and gmt_cfi::eta_2.

Referenced by analyze().

446  {
447  double etacut = 1.7;
448  double phicut = 2.7;
449 
450  bool passeta = (std::abs(eta_1) < etacut || std::abs(eta_2) < etacut); //check that one of the jets in the barrel
451 
452  float delta_phi_1_2 = (phi_1 - phi_2);
453  bool other_cuts = (std::abs(delta_phi_1_2) >= phicut); //check that jets are back to back
454 
455  if (std::abs(eta_1) < etacut && std::abs(eta_2) > etacut) {
456  tag_id = 0;
457  probe_id = 1;
458  } else if (std::abs(eta_2) < etacut && std::abs(eta_1) > etacut) {
459  tag_id = 1;
460  probe_id = 0;
461  } else if (std::abs(eta_2) < etacut && std::abs(eta_1) < etacut) {
462  int numb = Event % 2;
463  if (numb == 0) {
464  tag_id = 0;
465  probe_id = 1;
466  }
467  if (numb == 1) {
468  tag_id = 1;
469  probe_id = 0;
470  }
471  }
472 
473  return (passeta && other_cuts);
474 }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22

◆ fillDescriptions()

void DiJetMonitor::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 476 of file DiJetMonitor.cc.

References edm::ConfigurationDescriptions::add(), trigObjTnPSource_cfi::bins, submitPVResolutionJobs::desc, DiJetMonitor_cfi::dijetPSet, DiJetMonitor_cff::dijetPtThrPSet, TriggerDQMBase::fillHistoLSPSetDescription(), TriggerDQMBase::fillHistoPSetDescription(), GenericTriggerEventFlag::fillPSetDescription(), SiStripSourceConfigTier0_cff::genericTriggerEventPSet, V0Monitor_cff::histoPSet, ProducerED_cfi::InputTag, V0Monitor_cfi::lsPSet, and AlCaHLTBitMon_QueryRunRegistry::string.

476  {
478  desc.add<std::string>("FolderName", "HLT/JME/Jets/AK4/PF");
479  desc.add<bool>("requireValidHLTPaths", true);
480 
481  desc.add<edm::InputTag>("met", edm::InputTag("pfMet"));
482  desc.add<edm::InputTag>("dijetSrc", edm::InputTag("ak4PFJets"));
483  desc.add<edm::InputTag>("electrons", edm::InputTag("gedGsfElectrons"));
484  desc.add<edm::InputTag>("muons", edm::InputTag("muons"));
485  desc.add<int>("njets", 0);
486  desc.add<int>("nelectrons", 0);
487  desc.add<double>("ptcut", 20);
488 
491 
492  desc.add<edm::ParameterSetDescription>("numGenericTriggerEventPSet", genericTriggerEventPSet);
493  desc.add<edm::ParameterSetDescription>("denGenericTriggerEventPSet", genericTriggerEventPSet);
494 
501  histoPSet.add<edm::ParameterSetDescription>("dijetPtThrPSet", dijetPtThrPSet);
502  std::vector<double> bins = {
503  0., 20., 40., 60., 80., 90., 100., 110., 120., 130., 140., 150., 160.,
504  170., 180., 190., 200., 220., 240., 260., 280., 300., 350., 400., 450., 1000.}; // DiJet pT Binning
505  histoPSet.add<std::vector<double> >("jetptBinning", bins);
506 
510  desc.add<edm::ParameterSetDescription>("histoPSet", histoPSet);
511 
512  descriptions.add("dijetMonitoring", desc);
513 }
static void fillHistoLSPSetDescription(edm::ParameterSetDescription &pset)
static void fillHistoPSetDescription(edm::ParameterSetDescription &pset)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
static void fillPSetDescription(edm::ParameterSetDescription &desc)

Member Data Documentation

◆ asy_binning

MEbinning DiJetMonitor::asy_binning {N_asy, MIN_asy, MAX_asy}
private

Definition at line 108 of file DiJetMonitor.cc.

Referenced by bookHistograms().

◆ den_genTriggerEventFlag_

std::unique_ptr<GenericTriggerEventFlag> DiJetMonitor::den_genTriggerEventFlag_
private

Definition at line 88 of file DiJetMonitor.cc.

Referenced by analyze(), bookHistograms(), and ~DiJetMonitor().

◆ dijet_eta_binning

MEbinning DiJetMonitor::dijet_eta_binning {DiJet_N_ETA, -DiJet_MAX_ETA, DiJet_MAX_ETA}
private

Definition at line 102 of file DiJetMonitor.cc.

Referenced by bookHistograms().

◆ DiJet_MAX_ETA

const double DiJetMonitor::DiJet_MAX_ETA = 5
private

Definition at line 99 of file DiJetMonitor.cc.

◆ DiJet_MAX_PHI

const double DiJetMonitor::DiJet_MAX_PHI = 3.2
private

Definition at line 94 of file DiJetMonitor.cc.

◆ DiJet_N_ETA

unsigned int DiJetMonitor::DiJet_N_ETA = 20
private

Definition at line 101 of file DiJetMonitor.cc.

◆ DiJet_N_PHI

unsigned int DiJetMonitor::DiJet_N_PHI = 32
private

Definition at line 96 of file DiJetMonitor.cc.

◆ dijet_phi_binning

MEbinning DiJetMonitor::dijet_phi_binning {DiJet_N_PHI, -DiJet_MAX_PHI, DiJet_MAX_PHI}
private

Definition at line 97 of file DiJetMonitor.cc.

Referenced by bookHistograms().

◆ dijetpt_binning_

MEbinning DiJetMonitor::dijetpt_binning_
private

Definition at line 65 of file DiJetMonitor.cc.

Referenced by bookHistograms().

◆ dijetptThr_binning_

MEbinning DiJetMonitor::dijetptThr_binning_
private

Definition at line 66 of file DiJetMonitor.cc.

Referenced by bookHistograms().

◆ dijetSrc_

edm::EDGetTokenT<reco::PFJetCollection> DiJetMonitor::dijetSrc_
private

Definition at line 63 of file DiJetMonitor.cc.

Referenced by analyze().

◆ eleToken_

edm::EDGetTokenT<reco::GsfElectronCollection> DiJetMonitor::eleToken_
private

Definition at line 61 of file DiJetMonitor.cc.

◆ folderName_

const std::string DiJetMonitor::folderName_
private

Definition at line 55 of file DiJetMonitor.cc.

Referenced by bookHistograms().

◆ hltPathsAreValid_

bool DiJetMonitor::hltPathsAreValid_
private

Definition at line 58 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetAsyEtaME_

ObjME DiJetMonitor::jetAsyEtaME_
private

Definition at line 84 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetEta1ME_

ObjME DiJetMonitor::jetEta1ME_
private

Definition at line 72 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetEta2ME_

ObjME DiJetMonitor::jetEta2ME_
private

Definition at line 73 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetEtaPhiME_

ObjME DiJetMonitor::jetEtaPhiME_
private

Definition at line 85 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetetaPrbME_

ObjME DiJetMonitor::jetetaPrbME_
private

Definition at line 81 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetetaTagME_

ObjME DiJetMonitor::jetetaTagME_
private

Definition at line 82 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetPhi1ME_

ObjME DiJetMonitor::jetPhi1ME_
private

Definition at line 70 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetPhi2ME_

ObjME DiJetMonitor::jetPhi2ME_
private

Definition at line 71 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetphiPrbME_

ObjME DiJetMonitor::jetphiPrbME_
private

Definition at line 83 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetphiTagME_

ObjME DiJetMonitor::jetphiTagME_
private

Definition at line 74 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetpt1ME_

ObjME DiJetMonitor::jetpt1ME_
private

Definition at line 68 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetpt2ME_

ObjME DiJetMonitor::jetpt2ME_
private

Definition at line 69 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetptAsyME_

ObjME DiJetMonitor::jetptAsyME_
private

Definition at line 80 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetptAvgaME_

ObjME DiJetMonitor::jetptAvgaME_
private

Definition at line 75 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetptAvgaThrME_

ObjME DiJetMonitor::jetptAvgaThrME_
private

Definition at line 76 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetptAvgbME_

ObjME DiJetMonitor::jetptAvgbME_
private

Definition at line 77 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetptPrbME_

ObjME DiJetMonitor::jetptPrbME_
private

Definition at line 79 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ jetptTagME_

ObjME DiJetMonitor::jetptTagME_
private

Definition at line 78 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ MAX_asy

const double DiJetMonitor::MAX_asy = 1
private

Definition at line 104 of file DiJetMonitor.cc.

◆ metToken_

edm::EDGetTokenT<reco::PFMETCollection> DiJetMonitor::metToken_
private

Definition at line 60 of file DiJetMonitor.cc.

◆ MIN_asy

const double DiJetMonitor::MIN_asy = -1
private

Definition at line 105 of file DiJetMonitor.cc.

◆ muoToken_

edm::EDGetTokenT<reco::MuonCollection> DiJetMonitor::muoToken_
private

Definition at line 62 of file DiJetMonitor.cc.

◆ N_asy

unsigned int DiJetMonitor::N_asy = 50
private

Definition at line 107 of file DiJetMonitor.cc.

◆ nmuons_

int DiJetMonitor::nmuons_
private

Definition at line 90 of file DiJetMonitor.cc.

◆ num_genTriggerEventFlag_

std::unique_ptr<GenericTriggerEventFlag> DiJetMonitor::num_genTriggerEventFlag_
private

Definition at line 87 of file DiJetMonitor.cc.

Referenced by analyze(), bookHistograms(), and ~DiJetMonitor().

◆ ptcut_

double DiJetMonitor::ptcut_
private

Definition at line 91 of file DiJetMonitor.cc.

Referenced by analyze().

◆ requireValidHLTPaths_

const bool DiJetMonitor::requireValidHLTPaths_
private

Definition at line 57 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().