CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Private Member Functions | Private Attributes
HLTObjectMonitorProtonLead Class Reference

#include <DQM/HLTEvF/plugins/HLTObjectMonitorProtonLead.cc>

Inheritance diagram for HLTObjectMonitorProtonLead:

Classes

struct  hltPlot
 

Public Member Functions

 HLTObjectMonitorProtonLead (const edm::ParameterSet &)
 
 ~HLTObjectMonitorProtonLead () override
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (edm::Run const &, edm::EventSetup const &) override
 
void dqmEndRun (edm::Run const &, edm::EventSetup const &) override
 
double get_wall_time (void)
 

Private Attributes

unordered_map< string, bool > acceptMap
 
edm::EDGetTokenT< trigger::TriggerEventaodTriggerToken_
 
string backupFolder
 
hltPlot caloAK4JetEta_
 
edm::ParameterSet caloAK4JetEta_pset
 
hltPlot caloAK4JetPhi_
 
edm::ParameterSet caloAK4JetPhi_pset
 
hltPlot caloAK4JetPt_
 
edm::ParameterSet caloAK4JetPt_pset
 
hltPlot caloBJetEta_
 
edm::ParameterSet caloBJetEta_pset
 
hltPlot caloBJetPhi_
 
edm::ParameterSet caloBJetPhi_pset
 
hltPlot caloBJetPt_
 
edm::ParameterSet caloBJetPt_pset
 
hltPlot caloDiAK4JetEta_
 
edm::ParameterSet caloDiAK4JetEta_pset
 
hltPlot caloDiAK4JetPhi_
 
edm::ParameterSet caloDiAK4JetPhi_pset
 
hltPlot caloDiAK4JetPt_
 
edm::ParameterSet caloDiAK4JetPt_pset
 
bool debugPrint
 
hltPlot electronEta_
 
edm::ParameterSet electronEta_pset
 
hltPlot electronPhi_
 
edm::ParameterSet electronPhi_pset
 
hltPlot electronPt_
 
edm::ParameterSet electronPt_pset
 
HLTConfigProvider hltConfig_
 
hltPlot l2muon12Eta_
 
edm::ParameterSet l2muon12Eta_pset
 
hltPlot l2muon12Phi_
 
edm::ParameterSet l2muon12Phi_pset
 
hltPlot l2muon12Pt_
 
edm::ParameterSet l2muon12Pt_pset
 
hltPlot l3muon12Eta_
 
edm::ParameterSet l3muon12Eta_pset
 
hltPlot l3muon12Phi_
 
edm::ParameterSet l3muon12Phi_pset
 
hltPlot l3muon12Pt_
 
edm::ParameterSet l3muon12Pt_pset
 
hltPlot l3muon3Eta_
 
edm::ParameterSet l3muon3Eta_pset
 
hltPlot l3muon3Phi_
 
edm::ParameterSet l3muon3Phi_pset
 
hltPlot l3muon3Pt_
 
edm::ParameterSet l3muon3Pt_pset
 
string mainShifterFolder
 
hltPlot pAL1DoubleMuZMass_
 
edm::ParameterSet pAL1DoubleMuZMass_pset
 
hltPlot pAL2DoubleMuZMass_
 
edm::ParameterSet pAL2DoubleMuZMass_pset
 
hltPlot pAL3DoubleMuZMass_
 
edm::ParameterSet pAL3DoubleMuZMass_pset
 
hltPlot pfAK4JetEta_
 
edm::ParameterSet pfAK4JetEta_pset
 
hltPlot pfAK4JetPhi_
 
edm::ParameterSet pfAK4JetPhi_pset
 
hltPlot pfAK4JetPt_
 
edm::ParameterSet pfAK4JetPt_pset
 
hltPlot pfBJetEta_
 
edm::ParameterSet pfBJetEta_pset
 
hltPlot pfBJetPhi_
 
edm::ParameterSet pfBJetPhi_pset
 
hltPlot pfBJetPt_
 
edm::ParameterSet pfBJetPt_pset
 
hltPlot pfDiAK4JetEta_
 
edm::ParameterSet pfDiAK4JetEta_pset
 
hltPlot pfDiAK4JetPhi_
 
edm::ParameterSet pfDiAK4JetPhi_pset
 
hltPlot pfDiAK4JetPt_
 
edm::ParameterSet pfDiAK4JetPt_pset
 
hltPlot photonEta_
 
edm::ParameterSet photonEta_pset
 
hltPlot photonPhi_
 
edm::ParameterSet photonPhi_pset
 
hltPlot photonPPEta_
 
edm::ParameterSet photonPPEta_pset
 
hltPlot photonPPPhi_
 
edm::ParameterSet photonPPPhi_pset
 
hltPlot photonPPPt_
 
edm::ParameterSet photonPPPt_pset
 
hltPlot photonPt_
 
edm::ParameterSet photonPt_pset
 
vector< hltPlot * > plotList
 
unordered_map< hltPlot *, edm::ParameterSet * > plotMap
 
string processName_
 
string topDirectoryName
 
edm::EDGetTokenT< edm::TriggerResultstriggerResultsToken_
 
hltPlot wallTime_
 
edm::ParameterSet wallTime_pset
 

Detailed Description

Description: [one line class summary]

Implementation: [Notes on implementation]

Definition at line 69 of file HLTObjectMonitorProtonLead.cc.

Constructor & Destructor Documentation

HLTObjectMonitorProtonLead::HLTObjectMonitorProtonLead ( const edm::ParameterSet iConfig)
explicit

Definition at line 213 of file HLTObjectMonitorProtonLead.cc.

References edm::ParameterSet::getParameter(), B2GTnPMonitor_cfi::item, EcalCalibMonitorClient_cfi::moduleName, seedmultiplicitymonitor_newtracking_cfi::nBins, hltMonBTagIPClient_cfi::pathName, HLTObjectMonitor_cfi::plotLabel, multiplicitycorr_cfi::xMax, and photonAnalyzer_cfi::xMin.

215 {
216  //now do what ever initialization is needed
217  debugPrint = false;
218 
219  topDirectoryName = "HLT/ObjectMonitor";
220  mainShifterFolder = topDirectoryName + "/MainShifter";
221  backupFolder = topDirectoryName + "/Backup";
222 
223  //parse params
224  processName_ = iConfig.getParameter<string>("processName");
225 
226  caloAK4JetPt_pset = iConfig.getParameter<edm::ParameterSet>("caloAK4JetPt");
228  caloAK4JetEta_pset = iConfig.getParameter<edm::ParameterSet>("caloAK4JetEta");
229  plotMap[&caloAK4JetEta_] = &caloAK4JetEta_pset;
230  caloAK4JetPhi_pset = iConfig.getParameter<edm::ParameterSet>("caloAK4JetPhi");
231  plotMap[&caloAK4JetPhi_] = &caloAK4JetPhi_pset;
232  pfAK4JetPt_pset = iConfig.getParameter<edm::ParameterSet>("pfAK4JetPt");
233  plotMap[&pfAK4JetPt_] = &pfAK4JetPt_pset;
234  pfAK4JetEta_pset = iConfig.getParameter<edm::ParameterSet>("pfAK4JetEta");
235  plotMap[&pfAK4JetEta_] = &pfAK4JetEta_pset;
236  pfAK4JetPhi_pset = iConfig.getParameter<edm::ParameterSet>("pfAK4JetPhi");
237  plotMap[&pfAK4JetPhi_] = &pfAK4JetPhi_pset;
238  caloDiAK4JetPt_pset = iConfig.getParameter<edm::ParameterSet>("caloDiAK4JetPt");
240  caloDiAK4JetEta_pset = iConfig.getParameter<edm::ParameterSet>("caloDiAK4JetEta");
242  caloDiAK4JetPhi_pset = iConfig.getParameter<edm::ParameterSet>("caloDiAK4JetPhi");
244  pfDiAK4JetPt_pset = iConfig.getParameter<edm::ParameterSet>("pfDiAK4JetPt");
245  plotMap[&pfDiAK4JetPt_] = &pfDiAK4JetPt_pset;
246  pfDiAK4JetEta_pset = iConfig.getParameter<edm::ParameterSet>("pfDiAK4JetEta");
247  plotMap[&pfDiAK4JetEta_] = &pfDiAK4JetEta_pset;
248  pfDiAK4JetPhi_pset = iConfig.getParameter<edm::ParameterSet>("pfDiAK4JetPhi");
249  plotMap[&pfDiAK4JetPhi_] = &pfDiAK4JetPhi_pset;
250  photonPt_pset = iConfig.getParameter<edm::ParameterSet>("photonPt");
251  plotMap[&photonPt_] = &photonPt_pset;
252  photonEta_pset = iConfig.getParameter<edm::ParameterSet>("photonEta");
253  plotMap[&photonEta_] = &photonEta_pset;
254  photonPhi_pset = iConfig.getParameter<edm::ParameterSet>("photonPhi");
255  plotMap[&photonPhi_] = &photonPhi_pset;
256  photonPPPt_pset = iConfig.getParameter<edm::ParameterSet>("photonPPPt");
257  plotMap[&photonPPPt_] = &photonPPPt_pset;
258  photonPPEta_pset = iConfig.getParameter<edm::ParameterSet>("photonPPEta");
259  plotMap[&photonPPEta_] = &photonPPEta_pset;
260  photonPPPhi_pset = iConfig.getParameter<edm::ParameterSet>("photonPPPhi");
261  plotMap[&photonPPPhi_] = &photonPPPhi_pset;
262  caloBJetPt_pset = iConfig.getParameter<edm::ParameterSet>("caloBJetPt");
263  plotMap[&caloBJetPt_] = &caloBJetPt_pset;
264  caloBJetEta_pset = iConfig.getParameter<edm::ParameterSet>("caloBJetEta");
265  plotMap[&caloBJetEta_] = &caloBJetEta_pset;
266  caloBJetPhi_pset = iConfig.getParameter<edm::ParameterSet>("caloBJetPhi");
267  plotMap[&caloBJetPhi_] = &caloBJetPhi_pset;
268  pfBJetPt_pset = iConfig.getParameter<edm::ParameterSet>("pfBJetPt");
269  plotMap[&pfBJetPt_] = &pfBJetPt_pset;
270  pfBJetEta_pset = iConfig.getParameter<edm::ParameterSet>("pfBJetEta");
271  plotMap[&pfBJetEta_] = &pfBJetEta_pset;
272  pfBJetPhi_pset = iConfig.getParameter<edm::ParameterSet>("pfBJetPhi");
273  plotMap[&pfBJetPhi_] = &pfBJetPhi_pset;
274  electronPt_pset = iConfig.getParameter<edm::ParameterSet>("electronPt");
275  plotMap[&electronPt_] = &electronPt_pset;
276  electronEta_pset = iConfig.getParameter<edm::ParameterSet>("electronEta");
277  plotMap[&electronEta_] = &electronEta_pset;
278  electronPhi_pset = iConfig.getParameter<edm::ParameterSet>("electronPhi");
279  plotMap[&electronPhi_] = &electronPhi_pset;
280  l3muon3Pt_pset = iConfig.getParameter<edm::ParameterSet>("l3muon3Pt");
281  plotMap[&l3muon3Pt_] = &l3muon3Pt_pset;
282  l3muon3Eta_pset = iConfig.getParameter<edm::ParameterSet>("l3muon3Eta");
283  plotMap[&l3muon3Eta_] = &l3muon3Eta_pset;
284  l3muon3Phi_pset = iConfig.getParameter<edm::ParameterSet>("l3muon3Phi");
285  plotMap[&l3muon3Phi_] = &l3muon3Phi_pset;
286  l2muon12Pt_pset = iConfig.getParameter<edm::ParameterSet>("l2muon12Pt");
287  plotMap[&l2muon12Pt_] = &l2muon12Pt_pset;
288  l2muon12Eta_pset = iConfig.getParameter<edm::ParameterSet>("l2muon12Eta");
289  plotMap[&l2muon12Eta_] = &l2muon12Eta_pset;
290  l2muon12Phi_pset = iConfig.getParameter<edm::ParameterSet>("l2muon12Phi");
291  plotMap[&l2muon12Phi_] = &l2muon12Phi_pset;
292  l3muon12Pt_pset = iConfig.getParameter<edm::ParameterSet>("l3muon12Pt");
293  plotMap[&l3muon12Pt_] = &l3muon12Pt_pset;
294  l3muon12Eta_pset = iConfig.getParameter<edm::ParameterSet>("l3muon12Eta");
295  plotMap[&l3muon12Eta_] = &l3muon12Eta_pset;
296  l3muon12Phi_pset = iConfig.getParameter<edm::ParameterSet>("l3muon12Phi");
297  plotMap[&l3muon12Phi_] = &l3muon12Phi_pset;
298  pAL1DoubleMuZMass_pset = iConfig.getParameter<edm::ParameterSet>("pAL1DoubleMuZMass");
300  pAL2DoubleMuZMass_pset = iConfig.getParameter<edm::ParameterSet>("pAL2DoubleMuZMass");
302  pAL3DoubleMuZMass_pset = iConfig.getParameter<edm::ParameterSet>("pAL3DoubleMuZMass");
304  wallTime_pset = iConfig.getParameter<edm::ParameterSet>("wallTime");
305  plotMap[&wallTime_] = &wallTime_pset;
306 
307  for (auto item = plotMap.begin(); item != plotMap.end(); item++) {
308  (*item->first).pathName = (*item->second).getParameter<string>("pathName");
309  (*item->first).moduleName = (*item->second).getParameter<string>("moduleName");
310  (*item->first).nBins = (*item->second).getParameter<int>("NbinsX");
311  (*item->first).xMin = (*item->second).getParameter<double>("Xmin");
312  (*item->first).xMax = (*item->second).getParameter<double>("Xmax");
313  (*item->first).xAxisLabel = (*item->second).getParameter<string>("axisLabel");
314  (*item->first).plotLabel = (*item->second).getParameter<string>("plotLabel");
315  (*item->first).displayInPrimary = (*item->second).getParameter<bool>("mainWorkspace");
316 
317  if ((*item->second).exists("pathName_OR")) {
318  (*item->first).pathNameOR = (*item->second).getParameter<string>("pathName_OR");
319  }
320  if ((*item->second).exists("moduleName_OR")) {
321  (*item->first).moduleNameOR = (*item->second).getParameter<string>("moduleName_OR");
322  }
323 
324  plotList.push_back(item->first);
325  }
326  plotMap.clear();
327 
328  //set Token(s)
329  triggerResultsToken_ = consumes<edm::TriggerResults>(iConfig.getParameter<edm::InputTag>("triggerResults"));
330  aodTriggerToken_ = consumes<trigger::TriggerEvent>(iConfig.getParameter<edm::InputTag>("triggerEvent"));
331 }
edm::EDGetTokenT< trigger::TriggerEvent > aodTriggerToken_
T getParameter(std::string const &) const
edm::EDGetTokenT< edm::TriggerResults > triggerResultsToken_
unordered_map< hltPlot *, edm::ParameterSet * > plotMap
HLTObjectMonitorProtonLead::~HLTObjectMonitorProtonLead ( )
override

Definition at line 333 of file HLTObjectMonitorProtonLead.cc.

333  {
334  // do anything here that needs to be done at desctruction time
335  // (e.g. close files, deallocate resources etc.)
336 }

Member Function Documentation

void HLTObjectMonitorProtonLead::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivate

single-object plots


Definition at line 343 of file HLTObjectMonitorProtonLead.cc.

References funct::abs(), edm::HLTGlobalStatus::accept(), gather_cfg::cout, end, PVValHelper::eta, trigger::TriggerEvent::filterIndex(), trigger::TriggerEvent::filterKeys(), edm::Event::getByToken(), trigger::TriggerEvent::getObjects(), HLT_2018_cff::InputTag, edm::HandleBase::isValid(), crabWrapper::key, relativeConstraints::keys, hltMonBTagIPClient_cfi::pathName, plotFactory::plot, DiDispStaMuonMonitor_cfi::pt, trigger::TriggerEvent::sizeFilters(), command_line::start, AlCaHLTBitMon_QueryRunRegistry::string, HigPhotonJetHLTOfflineSource_cfi::triggerAccept, triggerResults, and HLTObjectMonitor_cfi::wallTime.

343  {
344  double start = get_wall_time();
345 
346  using namespace edm;
347 
348  if (debugPrint)
349  std::cout << "Inside analyze(). " << std::endl;
350 
351  // access trigger results
353  iEvent.getByToken(triggerResultsToken_, triggerResults);
354  if (!triggerResults.isValid())
355  return;
356 
357  edm::Handle<trigger::TriggerEvent> aodTriggerEvent;
358  iEvent.getByToken(aodTriggerToken_, aodTriggerEvent);
359  if (!aodTriggerEvent.isValid())
360  return;
361 
362  //reset everything to not accepted at beginning of each event
363  unordered_map<string, bool> firedMap = acceptMap;
364  for (auto plot : plotList) //loop over paths
365  {
366  if (firedMap[plot->pathName])
367  continue;
368  bool triggerAccept = false;
369  const TriggerObjectCollection objects = aodTriggerEvent->getObjects();
370  edm::InputTag moduleFilter;
372  if (plot->pathIndex > 0 && triggerResults->accept(plot->pathIndex) && hltConfig_.saveTags(plot->moduleName)) {
373  moduleFilter = edm::InputTag(plot->moduleName, "", processName_);
374  pathName = plot->pathName;
375  triggerAccept = true;
376  } else if (plot->pathIndexOR > 0 && triggerResults->accept(plot->pathIndexOR) &&
377  hltConfig_.saveTags(plot->moduleNameOR)) {
378  if (firedMap[plot->pathNameOR])
379  continue;
380  moduleFilter = edm::InputTag(plot->moduleNameOR, "", processName_);
381  pathName = plot->pathNameOR;
382  triggerAccept = true;
383  }
384 
385  if (triggerAccept) {
386  unsigned int moduleFilterIndex = aodTriggerEvent->filterIndex(moduleFilter);
387 
388  if (moduleFilterIndex + 1 > aodTriggerEvent->sizeFilters())
389  return;
390  const Keys& keys = aodTriggerEvent->filterKeys(moduleFilterIndex);
391 
397 
398  //calo AK4 jet pt + eta + phi
399  if (pathName == caloAK4JetPt_.pathName) {
400  for (const auto& key : keys) {
401  caloAK4JetPt_.ME->Fill(objects[key].pt());
402  caloAK4JetEta_.ME->Fill(objects[key].eta());
403  caloAK4JetPhi_.ME->Fill(objects[key].phi());
404  }
405  }
406  //pf AK4 jet pt + eta + phi
407  else if (pathName == pfAK4JetPt_.pathName) {
408  for (const auto& key : keys) {
409  pfAK4JetPt_.ME->Fill(objects[key].pt());
410  pfAK4JetEta_.ME->Fill(objects[key].eta());
411  pfAK4JetPhi_.ME->Fill(objects[key].phi());
412  }
413  }
414  //calo AK4 di jet pt + eta + phi
415  else if (pathName == caloDiAK4JetPt_.pathName) {
416  for (const auto& key : keys) {
417  caloDiAK4JetPt_.ME->Fill(objects[key].pt());
418  caloDiAK4JetEta_.ME->Fill(objects[key].eta());
419  caloDiAK4JetPhi_.ME->Fill(objects[key].phi());
420  }
421  }
422  //pf AK4 di jet pt + eta + phi
423  else if (pathName == pfDiAK4JetPt_.pathName) {
424  for (const auto& key : keys) {
425  pfDiAK4JetPt_.ME->Fill(objects[key].pt());
426  pfDiAK4JetEta_.ME->Fill(objects[key].eta());
427  pfDiAK4JetPhi_.ME->Fill(objects[key].phi());
428  }
429  }
430  //photon pt + eta + phi
431  else if (pathName == photonPt_.pathName) {
432  for (const auto& key : keys) {
433  photonPt_.ME->Fill(objects[key].pt());
434  photonEta_.ME->Fill(objects[key].eta());
435  photonPhi_.ME->Fill(objects[key].phi());
436  }
437  }
438  //photon PPStyle pt + eta + phi
439  else if (pathName == photonPPPt_.pathName) {
440  for (const auto& key : keys) {
441  photonPPPt_.ME->Fill(objects[key].pt());
442  photonPPEta_.ME->Fill(objects[key].eta());
443  photonPPPhi_.ME->Fill(objects[key].phi());
444  }
445  }
446  //calo Bjet pt + eta + phi
447  else if (pathName == caloBJetPt_.pathName) {
448  for (const auto& key : keys) {
449  caloBJetPt_.ME->Fill(objects[key].pt());
450  caloBJetEta_.ME->Fill(objects[key].eta());
451  caloBJetPhi_.ME->Fill(objects[key].phi());
452  }
453  }
454  //PF Bjet pt + eta + phi
455  else if (pathName == pfBJetPt_.pathName) {
456  for (const auto& key : keys) {
457  pfBJetPt_.ME->Fill(objects[key].pt());
458  pfBJetEta_.ME->Fill(objects[key].eta());
459  pfBJetPhi_.ME->Fill(objects[key].phi());
460  }
461  }
462  //electron pt + eta + phi
463  else if (pathName == electronPt_.pathName) {
464  for (const auto& key : keys) {
465  electronPt_.ME->Fill(objects[key].pt());
466  electronEta_.ME->Fill(objects[key].eta());
467  electronPhi_.ME->Fill(objects[key].phi());
468  }
469  } else if (pathName == l3muon3Pt_.pathName) {
470  for (const auto& key : keys) {
471  l3muon3Pt_.ME->Fill(objects[key].pt());
472  l3muon3Eta_.ME->Fill(objects[key].eta());
473  l3muon3Phi_.ME->Fill(objects[key].phi());
474  }
475  } else if (pathName == l2muon12Pt_.pathName) {
476  for (const auto& key : keys) {
477  l2muon12Pt_.ME->Fill(objects[key].pt());
478  l2muon12Eta_.ME->Fill(objects[key].eta());
479  l2muon12Phi_.ME->Fill(objects[key].phi());
480  }
481  } else if (pathName == l3muon12Pt_.pathName) {
482  for (const auto& key : keys) {
483  l3muon12Pt_.ME->Fill(objects[key].pt());
484  l3muon12Eta_.ME->Fill(objects[key].eta());
485  l3muon12Phi_.ME->Fill(objects[key].phi());
486  }
487  }
488 
489  // ////////////////////////////////
490  // ///
491  // /// double-object plots
492  // ///
493  // ////////////////////////////////
494 
495  else if (pathName == pAL1DoubleMuZMass_.pathName) {
496  const double mu_mass(.105658);
497  unsigned int kCnt0 = 0;
498  for (const auto& key0 : keys) {
499  unsigned int kCnt1 = 0;
500  for (const auto& key1 : keys) {
501  if (key0 != key1 &&
502  kCnt1 > kCnt0) { // avoid filling hists with same objs && avoid double counting separate objs
503  // if (abs(objects[key0].id()) == 13 && (objects[key0].id()+objects[key1].id()==0)) // id is not filled for l1 stage2 muons
504  TLorentzVector mu1, mu2, dimu;
505  mu1.SetPtEtaPhiM(objects[key0].pt(), objects[key0].eta(), objects[key0].phi(), mu_mass);
506  mu2.SetPtEtaPhiM(objects[key1].pt(), objects[key1].eta(), objects[key1].phi(), mu_mass);
507  dimu = mu1 + mu2;
508  if (dimu.M() > pAL1DoubleMuZMass_.xMin && dimu.M() < pAL1DoubleMuZMass_.xMax)
509  pAL1DoubleMuZMass_.ME->Fill(dimu.M());
510  }
511  kCnt1 += 1;
512  }
513  kCnt0 += 1;
514  }
515  } else if (pathName == pAL2DoubleMuZMass_.pathName) {
516  const double mu_mass(.105658);
517  unsigned int kCnt0 = 0;
518  for (const auto& key0 : keys) {
519  unsigned int kCnt1 = 0;
520  for (const auto& key1 : keys) {
521  if (key0 != key1 &&
522  kCnt1 > kCnt0) { // avoid filling hists with same objs && avoid double counting separate objs
523  if (abs(objects[key0].id()) == 13 &&
524  (objects[key0].id() + objects[key1].id() == 0)) { // check muon id and dimuon charge
525  TLorentzVector mu1, mu2, dimu;
526  mu1.SetPtEtaPhiM(objects[key0].pt(), objects[key0].eta(), objects[key0].phi(), mu_mass);
527  mu2.SetPtEtaPhiM(objects[key1].pt(), objects[key1].eta(), objects[key1].phi(), mu_mass);
528  dimu = mu1 + mu2;
529  if (dimu.M() > pAL2DoubleMuZMass_.xMin && dimu.M() < pAL2DoubleMuZMass_.xMax)
530  pAL2DoubleMuZMass_.ME->Fill(dimu.M());
531  }
532  }
533  kCnt1 += 1;
534  }
535  kCnt0 += 1;
536  }
537  } else if (pathName == pAL3DoubleMuZMass_.pathName) {
538  const double mu_mass(.105658);
539  unsigned int kCnt0 = 0;
540  for (const auto& key0 : keys) {
541  unsigned int kCnt1 = 0;
542  for (const auto& key1 : keys) {
543  if (key0 != key1 &&
544  kCnt1 > kCnt0) { // avoid filling hists with same objs && avoid double counting separate objs
545  if (abs(objects[key0].id()) == 13 &&
546  (objects[key0].id() + objects[key1].id() == 0)) { // check muon id and dimuon charge
547  TLorentzVector mu1, mu2, dimu;
548  mu1.SetPtEtaPhiM(objects[key0].pt(), objects[key0].eta(), objects[key0].phi(), mu_mass);
549  mu2.SetPtEtaPhiM(objects[key1].pt(), objects[key1].eta(), objects[key1].phi(), mu_mass);
550  dimu = mu1 + mu2;
551  if (dimu.M() > pAL3DoubleMuZMass_.xMin && dimu.M() < pAL3DoubleMuZMass_.xMax)
552  pAL3DoubleMuZMass_.ME->Fill(dimu.M());
553  }
554  }
555  kCnt1 += 1;
556  }
557  kCnt0 += 1;
558  }
559  }
560 
561  firedMap[pathName] = true;
562  } //end if trigger accept
563  } //end loop over plots/paths
564 
565  // sleep(1); //sleep for 1s, used to calibrate timing
566  double end = get_wall_time();
567  double wallTime = end - start;
568  wallTime_.ME->Fill(wallTime);
569 }
Definition: start.py:1
edm::EDGetTokenT< trigger::TriggerEvent > aodTriggerToken_
bool saveTags(const std::string &module) const
Is module an L3 filter (ie, tracked saveTags=true)
trigger::size_type sizeFilters() const
Definition: TriggerEvent.h:146
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
bool accept() const
Has at least one path accepted the event?
const Keys & filterKeys(trigger::size_type index) const
Definition: TriggerEvent.h:118
trigger::size_type filterIndex(const edm::InputTag &filterTag) const
find index of filter in data-member vector from filter tag
Definition: TriggerEvent.h:132
unordered_map< string, bool > acceptMap
edm::EDGetTokenT< edm::TriggerResults > triggerResultsToken_
void Fill(long long x)
const TriggerObjectCollection & getObjects() const
Definition: TriggerEvent.h:101
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
#define end
Definition: vmac.h:39
static std::string const triggerResults
Definition: EdmProvDump.cc:45
bool isValid() const
Definition: HandleBase.h:70
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
std::vector< size_type > Keys
HLT enums.
void HLTObjectMonitorProtonLead::bookHistograms ( DQMStore::IBooker &  i,
edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprivate

Main shifter workspace plots


Definition at line 616 of file HLTObjectMonitorProtonLead.cc.

References plotFactory::plot, and AlCaHLTBitMon_QueryRunRegistry::string.

618  {
624 
625  //book wall time separately
626  ibooker.setCurrentFolder(mainShifterFolder);
627  wallTime_.ME =
630 
631  for (auto plot : plotList) {
632  std::string display_pathNames = plot->pathName;
633  if (!plot->pathNameOR.empty())
634  display_pathNames = plot->pathName + " OR " + plot->pathNameOR;
635 
636  if (plot->displayInPrimary) {
637  ibooker.setCurrentFolder(mainShifterFolder);
638  (*plot).ME = ibooker.book1D(plot->plotLabel, display_pathNames.c_str(), plot->nBins, plot->xMin, plot->xMax);
639  (*plot).ME->setAxisTitle(plot->xAxisLabel);
640  //need to add OR statement
641  } else {
642  ibooker.setCurrentFolder(backupFolder);
643  (*plot).ME = ibooker.book1D(plot->plotLabel, display_pathNames.c_str(), plot->nBins, plot->xMin, plot->xMax);
644  (*plot).ME->setAxisTitle(plot->xAxisLabel);
645  }
646  }
647 }
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void HLTObjectMonitorProtonLead::dqmBeginRun ( edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprivate

Definition at line 572 of file HLTObjectMonitorProtonLead.cc.

References gather_cfg::cout, hltMonBTagIPClient_cfi::pathName, plotFactory::plot, and triggerPaths.

572  {
573  if (debugPrint)
574  std::cout << "Calling beginRun. " << std::endl;
575  bool changed = true;
576  if (hltConfig_.init(iRun, iSetup, processName_, changed)) {
577  if (debugPrint)
578  std::cout << "Extracting HLTconfig. " << std::endl;
579  }
580 
581  //get path indicies from menu
582  string pathName_noVersion;
583  vector<string> triggerPaths = hltConfig_.triggerNames();
584 
585  for (const auto& pathName : triggerPaths) {
586  pathName_noVersion = hltConfig_.removeVersion(pathName);
587  for (auto plot : plotList) {
588  if (plot->pathName == pathName_noVersion) {
589  (*plot).pathIndex = hltConfig_.triggerIndex(pathName);
590  } else if (plot->pathNameOR == pathName_noVersion) {
591  (*plot).pathIndexOR = hltConfig_.triggerIndex(pathName);
592  }
593  }
594  }
595  vector<hltPlot*> plotList_temp;
596  for (auto plot : plotList) {
597  if (plot->pathIndex > 0 || plot->pathIndexOR > 0) {
598  plotList_temp.push_back(plot);
599  acceptMap[plot->pathName] = false;
600  if (plot->pathIndexOR > 0)
601  acceptMap[plot->pathNameOR] = false;
602  }
603  }
604  //now re-assign plotList to contain only the plots with paths in the menu.
605  plotList = plotList_temp;
606  plotList_temp.clear();
607 }
const std::vector< std::string > & triggerNames() const
names of trigger paths
unordered_map< string, bool > acceptMap
static const std::string removeVersion(const std::string &trigger)
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 to size-1)
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
static std::string const triggerPaths
Definition: EdmProvDump.cc:46
void HLTObjectMonitorProtonLead::dqmEndRun ( edm::Run const &  ,
edm::EventSetup const &   
)
overrideprivate

Definition at line 611 of file HLTObjectMonitorProtonLead.cc.

References gather_cfg::cout.

611  {
612  if (debugPrint)
613  std::cout << "Calling endRun. " << std::endl;
614 }
double HLTObjectMonitorProtonLead::get_wall_time ( void  )
private

Definition at line 649 of file HLTObjectMonitorProtonLead.cc.

649  {
650  struct timeval time;
651  if (gettimeofday(&time, nullptr))
652  return 0;
653  return (double)time.tv_sec + (double)time.tv_usec * .000001;
654 }

Member Data Documentation

unordered_map<string, bool> HLTObjectMonitorProtonLead::acceptMap
private

Definition at line 108 of file HLTObjectMonitorProtonLead.cc.

edm::EDGetTokenT<trigger::TriggerEvent> HLTObjectMonitorProtonLead::aodTriggerToken_
private

Definition at line 113 of file HLTObjectMonitorProtonLead.cc.

string HLTObjectMonitorProtonLead::backupFolder
private

Definition at line 107 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::caloAK4JetEta_
private

Definition at line 161 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::caloAK4JetEta_pset
private

Definition at line 118 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::caloAK4JetPhi_
private

Definition at line 162 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::caloAK4JetPhi_pset
private

Definition at line 119 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::caloAK4JetPt_
private

Definition at line 160 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::caloAK4JetPt_pset
private

Definition at line 117 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::caloBJetEta_
private

Definition at line 179 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::caloBJetEta_pset
private

Definition at line 136 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::caloBJetPhi_
private

Definition at line 180 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::caloBJetPhi_pset
private

Definition at line 137 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::caloBJetPt_
private

Definition at line 178 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::caloBJetPt_pset
private

Definition at line 135 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::caloDiAK4JetEta_
private

Definition at line 167 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::caloDiAK4JetEta_pset
private

Definition at line 124 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::caloDiAK4JetPhi_
private

Definition at line 168 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::caloDiAK4JetPhi_pset
private

Definition at line 125 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::caloDiAK4JetPt_
private

Definition at line 166 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::caloDiAK4JetPt_pset
private

Definition at line 123 of file HLTObjectMonitorProtonLead.cc.

bool HLTObjectMonitorProtonLead::debugPrint
private

Definition at line 103 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::electronEta_
private

Definition at line 185 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::electronEta_pset
private

Definition at line 142 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::electronPhi_
private

Definition at line 186 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::electronPhi_pset
private

Definition at line 143 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::electronPt_
private

Definition at line 184 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::electronPt_pset
private

Definition at line 141 of file HLTObjectMonitorProtonLead.cc.

HLTConfigProvider HLTObjectMonitorProtonLead::hltConfig_
private

Definition at line 104 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::l2muon12Eta_
private

Definition at line 191 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::l2muon12Eta_pset
private

Definition at line 148 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::l2muon12Phi_
private

Definition at line 192 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::l2muon12Phi_pset
private

Definition at line 149 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::l2muon12Pt_
private

Definition at line 190 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::l2muon12Pt_pset
private

Definition at line 147 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::l3muon12Eta_
private

Definition at line 194 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::l3muon12Eta_pset
private

Definition at line 151 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::l3muon12Phi_
private

Definition at line 195 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::l3muon12Phi_pset
private

Definition at line 152 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::l3muon12Pt_
private

Definition at line 193 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::l3muon12Pt_pset
private

Definition at line 150 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::l3muon3Eta_
private

Definition at line 188 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::l3muon3Eta_pset
private

Definition at line 145 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::l3muon3Phi_
private

Definition at line 189 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::l3muon3Phi_pset
private

Definition at line 146 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::l3muon3Pt_
private

Definition at line 187 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::l3muon3Pt_pset
private

Definition at line 144 of file HLTObjectMonitorProtonLead.cc.

string HLTObjectMonitorProtonLead::mainShifterFolder
private

Definition at line 106 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::pAL1DoubleMuZMass_
private

Definition at line 196 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::pAL1DoubleMuZMass_pset
private

Definition at line 153 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::pAL2DoubleMuZMass_
private

Definition at line 197 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::pAL2DoubleMuZMass_pset
private

Definition at line 154 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::pAL3DoubleMuZMass_
private

Definition at line 198 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::pAL3DoubleMuZMass_pset
private

Definition at line 155 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::pfAK4JetEta_
private

Definition at line 164 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::pfAK4JetEta_pset
private

Definition at line 121 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::pfAK4JetPhi_
private

Definition at line 165 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::pfAK4JetPhi_pset
private

Definition at line 122 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::pfAK4JetPt_
private

Definition at line 163 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::pfAK4JetPt_pset
private

Definition at line 120 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::pfBJetEta_
private

Definition at line 182 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::pfBJetEta_pset
private

Definition at line 139 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::pfBJetPhi_
private

Definition at line 183 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::pfBJetPhi_pset
private

Definition at line 140 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::pfBJetPt_
private

Definition at line 181 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::pfBJetPt_pset
private

Definition at line 138 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::pfDiAK4JetEta_
private

Definition at line 170 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::pfDiAK4JetEta_pset
private

Definition at line 127 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::pfDiAK4JetPhi_
private

Definition at line 171 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::pfDiAK4JetPhi_pset
private

Definition at line 128 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::pfDiAK4JetPt_
private

Definition at line 169 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::pfDiAK4JetPt_pset
private

Definition at line 126 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::photonEta_
private

Definition at line 173 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::photonEta_pset
private

Definition at line 130 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::photonPhi_
private

Definition at line 174 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::photonPhi_pset
private

Definition at line 131 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::photonPPEta_
private

Definition at line 176 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::photonPPEta_pset
private

Definition at line 133 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::photonPPPhi_
private

Definition at line 177 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::photonPPPhi_pset
private

Definition at line 134 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::photonPPPt_
private

Definition at line 175 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::photonPPPt_pset
private

Definition at line 132 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::photonPt_
private

Definition at line 172 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::photonPt_pset
private

Definition at line 129 of file HLTObjectMonitorProtonLead.cc.

vector<hltPlot*> HLTObjectMonitorProtonLead::plotList
private

Definition at line 97 of file HLTObjectMonitorProtonLead.cc.

unordered_map<hltPlot*, edm::ParameterSet*> HLTObjectMonitorProtonLead::plotMap
private

Definition at line 109 of file HLTObjectMonitorProtonLead.cc.

string HLTObjectMonitorProtonLead::processName_
private

Definition at line 158 of file HLTObjectMonitorProtonLead.cc.

string HLTObjectMonitorProtonLead::topDirectoryName
private

Definition at line 105 of file HLTObjectMonitorProtonLead.cc.

edm::EDGetTokenT<edm::TriggerResults> HLTObjectMonitorProtonLead::triggerResultsToken_
private

Definition at line 112 of file HLTObjectMonitorProtonLead.cc.

hltPlot HLTObjectMonitorProtonLead::wallTime_
private

Definition at line 199 of file HLTObjectMonitorProtonLead.cc.

edm::ParameterSet HLTObjectMonitorProtonLead::wallTime_pset
private

Definition at line 156 of file HLTObjectMonitorProtonLead.cc.