CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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
< DQMEDAnalyzerGlobalCache
initializeGlobalCache (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
< GenericTriggerEventFlag
den_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::PFJetCollection
dijetSrc_
 
edm::EDGetTokenT
< reco::GsfElectronCollection
eleToken_
 
const std::string folderName_
 
bool hltPathsAreValid_
 
ObjME jetAsyEtaME_
 
ObjME jetEtaPhiME_
 
ObjME jetetaPrbME_
 
ObjME jetetaTagME_
 
ObjME jetphiPrbME_
 
ObjME jetpt1ME_
 
ObjME jetpt2ME_
 
ObjME jetptAsyME_
 
ObjME jetptAvgaME_
 
ObjME jetptAvgaThrME_
 
ObjME jetptAvgbME_
 
ObjME jetptPrbME_
 
ObjME jetptTagME_
 
const double MAX_asy = 1
 
edm::EDGetTokenT
< reco::PFMETCollection
metToken_
 
const double MIN_asy = -1
 
edm::EDGetTokenT
< reco::MuonCollection
muoToken_
 
unsigned int N_asy = 50
 
int nmuons_
 
std::unique_ptr
< GenericTriggerEventFlag
num_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

Definition at line 35 of file DiJetMonitor.cc.

Definition at line 34 of file DiJetMonitor.cc.

Constructor & Destructor Documentation

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

Definition at line 106 of file DiJetMonitor.cc.

107  : folderName_(iConfig.getParameter<std::string>("FolderName")),
108  requireValidHLTPaths_(iConfig.getParameter<bool>("requireValidHLTPaths")),
109  hltPathsAreValid_(false),
110  dijetSrc_(mayConsume<reco::PFJetCollection>(iConfig.getParameter<edm::InputTag>("dijetSrc"))),
112  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("dijetPSet"))),
114  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("dijetPtThrPSet"))),
116  iConfig.getParameter<edm::ParameterSet>("numGenericTriggerEventPSet"), consumesCollector(), *this)),
118  iConfig.getParameter<edm::ParameterSet>("denGenericTriggerEventPSet"), consumesCollector(), *this)),
119  ptcut_(iConfig.getParameter<double>("ptcut")) {}
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: DiJetMonitor.cc:83
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: DiJetMonitor.cc:82
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
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
DiJetMonitor::~DiJetMonitor ( )
throw (
)
override

Definition at line 121 of file DiJetMonitor.cc.

References den_genTriggerEventFlag_, and num_genTriggerEventFlag_.

121  {
123  num_genTriggerEventFlag_.reset();
124  }
126  den_genTriggerEventFlag_.reset();
127  }
128 }
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: DiJetMonitor.cc:83
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: DiJetMonitor.cc:82

Member Function Documentation

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

Reimplemented from DQMEDAnalyzer.

Definition at line 266 of file DiJetMonitor.cc.

References den_genTriggerEventFlag_, TriggerDQMBase::ObjME::denominator, dijet_selection(), dijetSrc_, edm::EventID::event(), dqm::impl::MonitorElement::Fill(), edm::Event::getByToken(), hltPathsAreValid_, edm::EventBase::id(), edm::HandleBase::isValid(), jetAsyEtaME_, jetEtaPhiME_, jetetaPrbME_, jetetaTagME_, jetphiPrbME_, jetpt1ME_, jetpt2ME_, jetptAsyME_, jetptAvgaME_, jetptAvgaThrME_, jetptAvgbME_, jetptPrbME_, jetptTagME_, num_genTriggerEventFlag_, TriggerDQMBase::ObjME::numerator, ptcut_, and requireValidHLTPaths_.

266  {
267  // if valid HLT paths are required,
268  // analyze event only if all paths are valid
270  return;
271  }
272 
273  // Filter out events if Trigger Filtering is requested
274  if (den_genTriggerEventFlag_->on() && !den_genTriggerEventFlag_->accept(iEvent, iSetup))
275  return;
276 
277  std::vector<double> v_jetpt;
278  std::vector<double> v_jeteta;
279  std::vector<double> v_jetphi;
280 
281  v_jetpt.clear();
282  v_jeteta.clear();
283  v_jetphi.clear();
284 
286  iEvent.getByToken(dijetSrc_, offjets);
287  if (!offjets.isValid()) {
288  edm::LogWarning("DiJetMonitor") << "DiJet handle not valid \n";
289  return;
290  }
291  for (reco::PFJetCollection::const_iterator ibegin = offjets->begin(), iend = offjets->end(), ijet = ibegin;
292  ijet != iend;
293  ++ijet) {
294  if (ijet->pt() < ptcut_) {
295  continue;
296  }
297  v_jetpt.push_back(ijet->pt());
298  v_jeteta.push_back(ijet->eta());
299  v_jetphi.push_back(ijet->phi());
300  }
301  if (v_jetpt.size() < 2) {
302  return;
303  }
304  double pt_1 = v_jetpt[0];
305  double eta_1 = v_jeteta[0];
306  double phi_1 = v_jetphi[0];
307  double pt_2 = v_jetpt[1];
308  double eta_2 = v_jeteta[1];
309  double phi_2 = v_jetphi[1];
310  double pt_avg_b = (pt_1 + pt_2) * 0.5;
311  int tag_id = -999, probe_id = -999;
312 
313  jetpt1ME_.denominator->Fill(pt_1);
314  jetpt2ME_.denominator->Fill(pt_2);
315  jetptAvgbME_.denominator->Fill(pt_avg_b);
316 
317  if (dijet_selection(eta_1, phi_1, eta_2, phi_2, pt_1, pt_2, tag_id, probe_id, iEvent.id().event())) {
318  if (tag_id == 0 && probe_id == 1) {
319  double pt_asy = (pt_2 - pt_1) / (pt_1 + pt_2);
320  double pt_avg = (pt_1 + pt_2) * 0.5;
321  jetptAvgaME_.denominator->Fill(pt_avg);
325  jetetaPrbME_.denominator->Fill(eta_2);
326  jetetaTagME_.denominator->Fill(eta_1);
327  jetptAsyME_.denominator->Fill(pt_asy);
328  jetphiPrbME_.denominator->Fill(phi_2);
329  jetAsyEtaME_.denominator->Fill(pt_asy, eta_2);
330  jetEtaPhiME_.denominator->Fill(eta_2, phi_2);
331  }
332  if (tag_id == 1 && probe_id == 0) {
333  double pt_asy = (pt_1 - pt_2) / (pt_2 + pt_1);
334  double pt_avg = (pt_2 + pt_1) * 0.5;
335  jetptAvgaME_.denominator->Fill(pt_avg);
339  jetetaPrbME_.denominator->Fill(eta_1);
340  jetetaTagME_.denominator->Fill(eta_2);
341  jetptAsyME_.denominator->Fill(pt_asy);
342  jetphiPrbME_.denominator->Fill(phi_1);
343  jetAsyEtaME_.denominator->Fill(pt_asy, eta_1);
344  jetEtaPhiME_.denominator->Fill(eta_1, phi_1);
345  }
346 
347  if (num_genTriggerEventFlag_->on() && !num_genTriggerEventFlag_->accept(iEvent, iSetup))
348  return;
349 
350  jetpt1ME_.numerator->Fill(pt_1);
351  jetpt2ME_.numerator->Fill(pt_2);
352  jetptAvgbME_.numerator->Fill(pt_avg_b);
353 
354  if (tag_id == 0 && probe_id == 1) {
355  double pt_asy = (pt_2 - pt_1) / (pt_1 + pt_2);
356  double pt_avg = (pt_1 + pt_2) * 0.5;
357  jetptAvgaME_.numerator->Fill(pt_avg);
358  jetptAvgaThrME_.numerator->Fill(pt_avg);
359  jetptTagME_.numerator->Fill(pt_1);
360  jetptPrbME_.numerator->Fill(pt_2);
361  jetetaPrbME_.numerator->Fill(eta_2);
362  jetetaTagME_.numerator->Fill(eta_1);
363  jetptAsyME_.numerator->Fill(pt_asy);
364  jetphiPrbME_.numerator->Fill(phi_2);
365  jetAsyEtaME_.numerator->Fill(pt_asy, eta_2);
366  jetEtaPhiME_.numerator->Fill(eta_2, phi_2);
367  }
368  if (tag_id == 1 && probe_id == 0) {
369  double pt_asy = (pt_1 - pt_2) / (pt_2 + pt_1);
370  double pt_avg = (pt_2 + pt_1) * 0.5;
371  jetptAvgaME_.numerator->Fill(pt_avg);
372  jetptAvgaThrME_.numerator->Fill(pt_avg);
373  jetptTagME_.numerator->Fill(pt_2);
374  jetptPrbME_.numerator->Fill(pt_1);
375  jetetaPrbME_.numerator->Fill(eta_1);
376  jetetaTagME_.numerator->Fill(eta_2);
377  jetptAsyME_.numerator->Fill(pt_asy);
378  jetphiPrbME_.numerator->Fill(phi_1);
379  jetAsyEtaME_.numerator->Fill(pt_asy, eta_1);
380  jetEtaPhiME_.numerator->Fill(eta_1, phi_1);
381  }
382  }
383 }
ObjME jetetaPrbME_
Definition: DiJetMonitor.cc:76
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: DiJetMonitor.cc:83
ObjME jetphiPrbME_
Definition: DiJetMonitor.cc:78
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: DiJetMonitor.cc:82
ObjME jetptPrbME_
Definition: DiJetMonitor.cc:74
ObjME jetAsyEtaME_
Definition: DiJetMonitor.cc:79
ObjME jetptAvgbME_
Definition: DiJetMonitor.cc:72
bool hltPathsAreValid_
Definition: DiJetMonitor.cc:58
ObjME jetptAsyME_
Definition: DiJetMonitor.cc:75
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:77
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
bool isValid() const
Definition: HandleBase.h:70
ObjME jetptAvgaME_
Definition: DiJetMonitor.cc:70
ObjME jetptTagME_
Definition: DiJetMonitor.cc:73
ObjME jetptAvgaThrME_
Definition: DiJetMonitor.cc:71
Log< level::Warning, false > LogWarning
ObjME jetEtaPhiME_
Definition: DiJetMonitor.cc:80
void DiJetMonitor::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 130 of file DiJetMonitor.cc.

References asy_binning, TriggerDQMBase::bookME(), den_genTriggerEventFlag_, dijet_eta_binning, dijet_phi_binning, dijetpt_binning_, dijetptThr_binning_, folderName_, hltPathsAreValid_, jetAsyEtaME_, jetEtaPhiME_, jetetaPrbME_, jetetaTagME_, jetphiPrbME_, 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.

130  {
131  // Initialize the GenericTriggerEventFlag
133  num_genTriggerEventFlag_->initRun(iRun, iSetup);
134  }
136  den_genTriggerEventFlag_->initRun(iRun, iSetup);
137  }
138 
139  // check if every HLT path specified in numerator and denominator has a valid match in the HLT Menu
141  den_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->allHLTPathsAreValid() &&
142  den_genTriggerEventFlag_->allHLTPathsAreValid());
143 
144  // if valid HLT paths are required,
145  // create DQM outputs only if all paths are valid
147  return;
148  }
149 
150  std::string histname, histtitle;
151  std::string currentFolder = folderName_;
152  ibooker.setCurrentFolder(currentFolder);
153 
154  histname = "jetpt1";
155  histtitle = "leading Jet Pt";
157  setMETitle(jetpt1ME_, "Pt_1 [GeV]", "events");
158 
159  histname = "jetpt2";
160  histtitle = "second leading Jet Pt";
162  setMETitle(jetpt2ME_, "Pt_2 [GeV]", "events");
163 
164  histname = "jetptAvgB";
165  histtitle = "Pt average before offline selection";
166  bookME(
168  setMETitle(jetptAvgbME_, "(pt_1 + pt_2)*0.5 [GeV]", "events");
169 
170  histname = "jetptAvgA";
171  histtitle = "Pt average after offline selection";
172  bookME(
174  setMETitle(jetptAvgaME_, "(pt_1 + pt_2)*0.5 [GeV]", "events");
175 
176  histname = "jetptAvgAThr";
177  histtitle = "Pt average after offline selection";
178  bookME(ibooker,
180  histname,
181  histtitle,
185  setMETitle(jetptAvgaThrME_, "(pt_1 + pt_2)*0.5 [GeV]", "events");
186 
187  histname = "jetptTag";
188  histtitle = "Tag Jet Pt";
189  bookME(
190  ibooker, jetptTagME_, histname, histtitle, dijetpt_binning_.nbins, dijetpt_binning_.xmin, dijetpt_binning_.xmax);
191  setMETitle(jetptTagME_, "Pt_tag [GeV]", "events ");
192 
193  histname = "jetptPrb";
194  histtitle = "Probe Jet Pt";
195  bookME(
196  ibooker, jetptPrbME_, histname, histtitle, dijetpt_binning_.nbins, dijetpt_binning_.xmin, dijetpt_binning_.xmax);
197  setMETitle(jetptPrbME_, "Pt_prb [GeV]", "events");
198 
199  histname = "jetptAsym";
200  histtitle = "Jet Pt Asymetry";
201  bookME(ibooker, jetptAsyME_, histname, histtitle, asy_binning.nbins, asy_binning.xmin, asy_binning.xmax);
202  setMETitle(jetptAsyME_, "(pt_prb - pt_tag)/(pt_prb + pt_tag)", "events");
203 
204  histname = "jetetaPrb";
205  histtitle = "Probe Jet eta";
206  bookME(ibooker,
207  jetetaPrbME_,
208  histname,
209  histtitle,
213  setMETitle(jetetaPrbME_, "Eta_probe #eta", "events");
214 
215  histname = "jetetaTag";
216  histtitle = "Tag Jet eta";
217  bookME(ibooker,
218  jetetaTagME_,
219  histname,
220  histtitle,
224  setMETitle(jetetaTagME_, "Eta_tag #eta", "events");
225 
226  histname = "ptAsymVSetaPrb";
227  histtitle = "Pt_Asym vs eta_prb";
228  bookME(ibooker,
229  jetAsyEtaME_,
230  histname,
231  histtitle,
238  setMETitle(jetAsyEtaME_, "(pt_prb - pt_tag)/(pt_prb + pt_tag)", "Eta_probe #eta");
239 
240  histname = "etaPrbVSphiPrb";
241  histtitle = "eta_prb vs phi_prb";
242  bookME(ibooker,
243  jetEtaPhiME_,
244  histname,
245  histtitle,
252  setMETitle(jetEtaPhiME_, "Eta_probe #eta", "Phi_probe #phi");
253 
254  histname = "jetphiPrb";
255  histtitle = "Probe Jet phi";
256  bookME(ibooker,
257  jetphiPrbME_,
258  histname,
259  histtitle,
263  setMETitle(jetphiPrbME_, "Phi_probe #phi", "events");
264 }
ObjME jetetaPrbME_
Definition: DiJetMonitor.cc:76
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: DiJetMonitor.cc:83
ObjME jetphiPrbME_
Definition: DiJetMonitor.cc:78
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: DiJetMonitor.cc:82
ObjME jetptPrbME_
Definition: DiJetMonitor.cc:74
MEbinning dijetpt_binning_
Definition: DiJetMonitor.cc:65
ObjME jetAsyEtaME_
Definition: DiJetMonitor.cc:79
MEbinning asy_binning
MEbinning dijetptThr_binning_
Definition: DiJetMonitor.cc:66
ObjME jetptAvgbME_
Definition: DiJetMonitor.cc:72
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 jetptAsyME_
Definition: DiJetMonitor.cc:75
const bool requireValidHLTPaths_
Definition: DiJetMonitor.cc:57
ObjME jetetaTagME_
Definition: DiJetMonitor.cc:77
MEbinning dijet_phi_binning
Definition: DiJetMonitor.cc:92
ObjME jetptAvgaME_
Definition: DiJetMonitor.cc:70
ObjME jetptTagME_
Definition: DiJetMonitor.cc:73
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)
MEbinning dijet_eta_binning
Definition: DiJetMonitor.cc:97
ObjME jetptAvgaThrME_
Definition: DiJetMonitor.cc:71
ObjME jetEtaPhiME_
Definition: DiJetMonitor.cc:80
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 386 of file DiJetMonitor.cc.

References funct::abs().

Referenced by analyze().

394  {
395  double etacut = 1.7;
396  double phicut = 2.7;
397 
398  bool passeta = (std::abs(eta_1) < etacut || std::abs(eta_2) < etacut); //check that one of the jets in the barrel
399 
400  float delta_phi_1_2 = (phi_1 - phi_2);
401  bool other_cuts = (std::abs(delta_phi_1_2) >= phicut); //check that jets are back to back
402 
403  if (std::abs(eta_1) < etacut && std::abs(eta_2) > etacut) {
404  tag_id = 0;
405  probe_id = 1;
406  } else if (std::abs(eta_2) < etacut && std::abs(eta_1) > etacut) {
407  tag_id = 1;
408  probe_id = 0;
409  } else if (std::abs(eta_2) < etacut && std::abs(eta_1) < etacut) {
410  int numb = Event % 2;
411  if (numb == 0) {
412  tag_id = 0;
413  probe_id = 1;
414  }
415  if (numb == 1) {
416  tag_id = 1;
417  probe_id = 0;
418  }
419  }
420 
421  return (passeta && other_cuts);
422 }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
void DiJetMonitor::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 424 of file DiJetMonitor.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), submitPVResolutionJobs::desc, TriggerDQMBase::fillHistoLSPSetDescription(), TriggerDQMBase::fillHistoPSetDescription(), GenericTriggerEventFlag::fillPSetDescription(), HLT_FULL_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

424  {
426  desc.add<std::string>("FolderName", "HLT/JME/Jets/AK4/PF");
427  desc.add<bool>("requireValidHLTPaths", true);
428 
429  desc.add<edm::InputTag>("met", edm::InputTag("pfMet"));
430  desc.add<edm::InputTag>("dijetSrc", edm::InputTag("ak4PFJets"));
431  desc.add<edm::InputTag>("electrons", edm::InputTag("gedGsfElectrons"));
432  desc.add<edm::InputTag>("muons", edm::InputTag("muons"));
433  desc.add<int>("njets", 0);
434  desc.add<int>("nelectrons", 0);
435  desc.add<double>("ptcut", 20);
436 
437  edm::ParameterSetDescription genericTriggerEventPSet;
438  GenericTriggerEventFlag::fillPSetDescription(genericTriggerEventPSet);
439  desc.add<edm::ParameterSetDescription>("numGenericTriggerEventPSet", genericTriggerEventPSet);
440  desc.add<edm::ParameterSetDescription>("denGenericTriggerEventPSet", genericTriggerEventPSet);
441 
444  edm::ParameterSetDescription dijetPtThrPSet;
445  fillHistoPSetDescription(dijetPSet);
446  fillHistoPSetDescription(dijetPtThrPSet);
447  histoPSet.add<edm::ParameterSetDescription>("dijetPSet", dijetPSet);
448  histoPSet.add<edm::ParameterSetDescription>("dijetPtThrPSet", dijetPtThrPSet);
449  std::vector<double> bins = {
450  0., 20., 40., 60., 80., 90., 100., 110., 120., 130., 140., 150., 160.,
451  170., 180., 190., 200., 220., 240., 260., 280., 300., 350., 400., 450., 1000.}; // DiJet pT Binning
452  histoPSet.add<std::vector<double> >("jetptBinning", bins);
453 
456  histoPSet.add<edm::ParameterSetDescription>("lsPSet", lsPSet);
457  desc.add<edm::ParameterSetDescription>("histoPSet", histoPSet);
458 
459  descriptions.add("dijetMonitoring", desc);
460 }
static void fillHistoLSPSetDescription(edm::ParameterSetDescription &pset)
static void fillHistoPSetDescription(edm::ParameterSetDescription &pset)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
static void fillPSetDescription(edm::ParameterSetDescription &desc)

Member Data Documentation

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

Definition at line 103 of file DiJetMonitor.cc.

Referenced by bookHistograms().

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

Definition at line 83 of file DiJetMonitor.cc.

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

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

Definition at line 97 of file DiJetMonitor.cc.

Referenced by bookHistograms().

const double DiJetMonitor::DiJet_MAX_ETA = 5
private

Definition at line 94 of file DiJetMonitor.cc.

const double DiJetMonitor::DiJet_MAX_PHI = 3.2
private

Definition at line 89 of file DiJetMonitor.cc.

unsigned int DiJetMonitor::DiJet_N_ETA = 20
private

Definition at line 96 of file DiJetMonitor.cc.

unsigned int DiJetMonitor::DiJet_N_PHI = 32
private

Definition at line 91 of file DiJetMonitor.cc.

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

Definition at line 92 of file DiJetMonitor.cc.

Referenced by bookHistograms().

MEbinning DiJetMonitor::dijetpt_binning_
private

Definition at line 65 of file DiJetMonitor.cc.

Referenced by bookHistograms().

MEbinning DiJetMonitor::dijetptThr_binning_
private

Definition at line 66 of file DiJetMonitor.cc.

Referenced by bookHistograms().

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

Definition at line 63 of file DiJetMonitor.cc.

Referenced by analyze().

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

Definition at line 61 of file DiJetMonitor.cc.

const std::string DiJetMonitor::folderName_
private

Definition at line 55 of file DiJetMonitor.cc.

Referenced by bookHistograms().

bool DiJetMonitor::hltPathsAreValid_
private

Definition at line 58 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetAsyEtaME_
private

Definition at line 79 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetEtaPhiME_
private

Definition at line 80 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetetaPrbME_
private

Definition at line 76 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetetaTagME_
private

Definition at line 77 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetphiPrbME_
private

Definition at line 78 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetpt1ME_
private

Definition at line 68 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetpt2ME_
private

Definition at line 69 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetptAsyME_
private

Definition at line 75 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetptAvgaME_
private

Definition at line 70 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetptAvgaThrME_
private

Definition at line 71 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetptAvgbME_
private

Definition at line 72 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetptPrbME_
private

Definition at line 74 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetptTagME_
private

Definition at line 73 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().

const double DiJetMonitor::MAX_asy = 1
private

Definition at line 99 of file DiJetMonitor.cc.

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

Definition at line 60 of file DiJetMonitor.cc.

const double DiJetMonitor::MIN_asy = -1
private

Definition at line 100 of file DiJetMonitor.cc.

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

Definition at line 62 of file DiJetMonitor.cc.

unsigned int DiJetMonitor::N_asy = 50
private

Definition at line 102 of file DiJetMonitor.cc.

int DiJetMonitor::nmuons_
private

Definition at line 85 of file DiJetMonitor.cc.

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

Definition at line 82 of file DiJetMonitor.cc.

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

double DiJetMonitor::ptcut_
private

Definition at line 86 of file DiJetMonitor.cc.

Referenced by analyze().

const bool DiJetMonitor::requireValidHLTPaths_
private

Definition at line 57 of file DiJetMonitor.cc.

Referenced by analyze(), and bookHistograms().