Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:18:24

0001 #ifndef HLTrigger_HLTcore_HLTEventAnalyzerAOD_h
0002 #define HLTrigger_HLTcore_HLTEventAnalyzerAOD_h
0003 
0004 /** \class HLTEventAnalyzerAOD
0005  *
0006  *  
0007  *  This class is an EDAnalyzer analyzing the combined HLT information for AOD
0008  *
0009  *
0010  *  \author Martin Grunewald
0011  *
0012  */
0013 
0014 #include "FWCore/Framework/interface/Event.h"
0015 #include "FWCore/Framework/interface/stream/EDAnalyzer.h"
0016 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0017 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0018 #include "HLTrigger/HLTcore/interface/HLTPrescaleProvider.h"
0019 #include "DataFormats/Common/interface/TriggerResults.h"
0020 #include "DataFormats/HLTReco/interface/TriggerEvent.h"
0021 
0022 namespace edm {
0023   class ConfigurationDescriptions;
0024 }
0025 
0026 //
0027 // class declaration
0028 //
0029 class HLTEventAnalyzerAOD : public edm::stream::EDAnalyzer<> {
0030 public:
0031   explicit HLTEventAnalyzerAOD(const edm::ParameterSet &);
0032   ~HLTEventAnalyzerAOD() override = default;
0033   static void fillDescriptions(edm::ConfigurationDescriptions &descriptions);
0034 
0035   void beginRun(edm::Run const &, edm::EventSetup const &) override;
0036   void endRun(edm::Run const &, edm::EventSetup const &) override {}
0037 
0038   void analyze(const edm::Event &, const edm::EventSetup &) override;
0039   virtual void analyzeTrigger(const edm::Event &, const edm::EventSetup &, const std::string &triggerName);
0040 
0041 private:
0042   using LOG = edm::LogVerbatim;
0043 
0044   static constexpr const char *logMsgType_ = "HLTEventAnalyzerAOD";
0045 
0046   /// module config parameters
0047   const std::string processName_;
0048   const std::string triggerName_;
0049   const edm::InputTag triggerResultsTag_;
0050   const edm::EDGetTokenT<edm::TriggerResults> triggerResultsToken_;
0051   const edm::InputTag triggerEventTag_;
0052   const edm::EDGetTokenT<trigger::TriggerEvent> triggerEventToken_;
0053 
0054   /// additional class data members
0055   bool const verbose_;
0056   edm::Handle<edm::TriggerResults> triggerResultsHandle_;
0057   edm::Handle<trigger::TriggerEvent> triggerEventHandle_;
0058   HLTPrescaleProvider hltPrescaleProvider_;
0059 };
0060 
0061 #endif  // HLTrigger_HLTcore_HLTEventAnalyzerAOD_h