HLTEventAnalyzerAOD

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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
#ifndef HLTrigger_HLTcore_HLTEventAnalyzerAOD_h
#define HLTrigger_HLTcore_HLTEventAnalyzerAOD_h

/** \class HLTEventAnalyzerAOD
 *
 *  
 *  This class is an EDAnalyzer analyzing the combined HLT information for AOD
 *
 *
 *  \author Martin Grunewald
 *
 */

#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/stream/EDAnalyzer.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "HLTrigger/HLTcore/interface/HLTPrescaleProvider.h"
#include "DataFormats/Common/interface/TriggerResults.h"
#include "DataFormats/HLTReco/interface/TriggerEvent.h"

namespace edm {
  class ConfigurationDescriptions;
}

//
// class declaration
//
class HLTEventAnalyzerAOD : public edm::stream::EDAnalyzer<> {
public:
  explicit HLTEventAnalyzerAOD(const edm::ParameterSet &);
  ~HLTEventAnalyzerAOD() override = default;
  static void fillDescriptions(edm::ConfigurationDescriptions &descriptions);

  void beginRun(edm::Run const &, edm::EventSetup const &) override;
  void endRun(edm::Run const &, edm::EventSetup const &) override {}

  void analyze(const edm::Event &, const edm::EventSetup &) override;
  virtual void analyzeTrigger(const edm::Event &, const edm::EventSetup &, const std::string &triggerName);

private:
  using LOG = edm::LogVerbatim;

  static constexpr const char *logMsgType_ = "HLTEventAnalyzerAOD";

  /// module config parameters
  const std::string processName_;
  const std::string triggerName_;
  const edm::InputTag triggerResultsTag_;
  const edm::EDGetTokenT<edm::TriggerResults> triggerResultsToken_;
  const edm::InputTag triggerEventTag_;
  const edm::EDGetTokenT<trigger::TriggerEvent> triggerEventToken_;

  /// additional class data members
  bool const verbose_;
  edm::Handle<edm::TriggerResults> triggerResultsHandle_;
  edm::Handle<trigger::TriggerEvent> triggerEventHandle_;
  HLTPrescaleProvider hltPrescaleProvider_;
};

#endif  // HLTrigger_HLTcore_HLTEventAnalyzerAOD_h