CMS 3D CMS Logo

HLTTauDQMPathSummaryPlotter.cc
Go to the documentation of this file.
3 
5  bool doRefAnalysis,
6  const std::string& dqmBaseFolder,
7  double hltMatchDr)
8  : HLTTauDQMPlotter(pset, dqmBaseFolder), hltMatchDr_(hltMatchDr), doRefAnalysis_(doRefAnalysis) {}
9 
11 
13  if (!isValid() || pathObjects_.empty())
14  return;
15 
16  //Create the histograms
17  iBooker.setCurrentFolder(triggerTag() + "/helpers");
18 
19  all_events = iBooker.book1D("RefEvents", "All events", pathObjects_.size(), 0, pathObjects_.size());
20  accepted_events = iBooker.book1D(
21  "PathTriggerBits", "Accepted Events per Path;;entries", pathObjects_.size(), 0, pathObjects_.size());
22  for (size_t i = 0; i < pathObjects_.size(); ++i) {
23  all_events->setBinLabel(i + 1, pathObjects_[i]->getPathName());
24  accepted_events->setBinLabel(i + 1, pathObjects_[i]->getPathName());
25  }
26 
27  iBooker.setCurrentFolder(triggerTag());
28 }
29 
32  const HLTTauDQMOfflineObjects& refCollection) {
33  if (doRefAnalysis_) {
34  std::vector<HLTTauDQMPath::Object> triggerObjs;
35  std::vector<HLTTauDQMPath::Object> matchedTriggerObjs;
36  HLTTauDQMOfflineObjects matchedOfflineObjs;
37 
38  for (size_t i = 0; i < pathObjects_.size(); ++i) {
39  const HLTTauDQMPath* path = pathObjects_[i];
40  const int lastFilter = path->filtersSize() - 1;
41 
42  if (path->goodOfflineEvent(lastFilter, refCollection)) {
43  all_events->Fill(i + 0.5);
44  }
45  if (path->fired(triggerResults)) {
46  triggerObjs.clear();
47  matchedTriggerObjs.clear();
48  matchedOfflineObjs.clear();
49  path->getFilterObjects(triggerEvent, lastFilter, triggerObjs);
50  if (path->offlineMatching(
51  lastFilter, triggerObjs, refCollection, hltMatchDr_, matchedTriggerObjs, matchedOfflineObjs)) {
52  accepted_events->Fill(i + 0.5);
53  }
54  }
55  }
56  } else {
57  for (size_t i = 0; i < pathObjects_.size(); ++i) {
58  const HLTTauDQMPath* path = pathObjects_[i];
59  all_events->Fill(i + 0.5);
60  if (path->fired(triggerResults)) {
61  accepted_events->Fill(i + 0.5);
62  }
63  }
64  }
65 }
HLTTauDQMOfflineObjects::clear
void clear()
Definition: HLTTauDQMPlotter.h:19
mps_fire.i
i
Definition: mps_fire.py:355
HLTTauDQMPathSummaryPlotter::analyze
void analyze(const edm::TriggerResults &triggerResults, const trigger::TriggerEvent &triggerEvent, const HLTTauDQMOfflineObjects &refCollection)
Definition: HLTTauDQMPathSummaryPlotter.cc:30
HLTTauDQMPathSummaryPlotter::~HLTTauDQMPathSummaryPlotter
~HLTTauDQMPathSummaryPlotter()
triggerResults
static const std::string triggerResults
Definition: EdmProvDump.cc:45
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
HLTTauDQMPathSummaryPlotter::accepted_events
MonitorElement * accepted_events
Definition: HLTTauDQMPathSummaryPlotter.h:41
HLTTauDQMPathSummaryPlotter::bookHistograms
void bookHistograms(DQMStore::IBooker &iBooker)
Definition: HLTTauDQMPathSummaryPlotter.cc:12
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
HLTTauDQMPathSummaryPlotter::all_events
MonitorElement * all_events
Definition: HLTTauDQMPathSummaryPlotter.h:40
HLTTauDQMOfflineObjects
Definition: HLTTauDQMPlotter.h:18
HLTTauDQMPlotter::triggerTag
const std::string & triggerTag() const
Definition: HLTTauDQMPlotter.h:44
HLTTauDQMPathSummaryPlotter.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HLTTauDQMPath
Definition: HLTTauDQMPath.h:22
HLTTauDQMPathSummaryPlotter::hltMatchDr_
const double hltMatchDr_
Definition: HLTTauDQMPathSummaryPlotter.h:35
edm::ParameterSet
Definition: ParameterSet.h:36
dqm::impl::MonitorElement::setBinLabel
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:771
HLTTauDQMPlotter::isValid
bool isValid() const
Definition: HLTTauDQMPlotter.h:39
trigger::TriggerEvent
The single EDProduct to be saved for each event (AOD case)
Definition: TriggerEvent.h:25
HLTTauDQMPath.h
PDWG_DiPhoton_SD_cff.triggerEvent
triggerEvent
Definition: PDWG_DiPhoton_SD_cff.py:39
HLTTauDQMPathSummaryPlotter::doRefAnalysis_
const bool doRefAnalysis_
Definition: HLTTauDQMPathSummaryPlotter.h:36
HLTTauDQMPlotter
Definition: HLTTauDQMPlotter.h:32
dqm::implementation::IBooker
Definition: DQMStore.h:43
HLTTauDQMPathSummaryPlotter::HLTTauDQMPathSummaryPlotter
HLTTauDQMPathSummaryPlotter(const edm::ParameterSet &pset, bool doRefAnalysis, const std::string &dqmBaseFolder, double hltMatchDr)
Definition: HLTTauDQMPathSummaryPlotter.cc:4
castor_dqm_sourceclient_file_cfg.path
path
Definition: castor_dqm_sourceclient_file_cfg.py:37
HLTTauDQMPathSummaryPlotter::pathObjects_
std::vector< const HLTTauDQMPath * > pathObjects_
Definition: HLTTauDQMPathSummaryPlotter.h:38
edm::TriggerResults
Definition: TriggerResults.h:35
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98