HLTTauDQMPathSummaryPlotter

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
// -*- c++ -*-
#ifndef HLTTauDQMPathSummaryPlotter_h
#define HLTTauDQMPathSummaryPlotter_h

#include "DQMOffline/Trigger/interface/HLTTauDQMPlotter.h"
#include "DQMOffline/Trigger/interface/HistoWrapper.h"

#include <vector>

class HLTTauDQMPath;
namespace edm {
  class TriggerResults;
}
namespace trigger {
  class TriggerEvent;
}

class HLTTauDQMPathSummaryPlotter : private HLTTauDQMPlotter {
public:
  HLTTauDQMPathSummaryPlotter(const edm::ParameterSet& pset,
                              bool doRefAnalysis,
                              const std::string& dqmBaseFolder,
                              double hltMatchDr);
  ~HLTTauDQMPathSummaryPlotter();

  using HLTTauDQMPlotter::isValid;

  void setPathObjects(const std::vector<const HLTTauDQMPath*>& pathObjects) { pathObjects_ = pathObjects; }
  void bookHistograms(HistoWrapper& iWrapper, DQMStore::IBooker& iBooker);

  void analyze(const edm::TriggerResults& triggerResults,
               const trigger::TriggerEvent& triggerEvent,
               const HLTTauDQMOfflineObjects& refCollection);

private:
  const double hltMatchDr_;
  const bool doRefAnalysis_;

  std::vector<const HLTTauDQMPath*> pathObjects_;

  MonitorElement* all_events;
  MonitorElement* accepted_events;
};
#endif