CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10/src/HLTrigger/HLTfilters/interface/HLTHighLevel.h

Go to the documentation of this file.
00001 #ifndef HLTHighLevel_h
00002 #define HLTHighLevel_h
00003 
00017 // C++ headers
00018 #include <vector>
00019 #include <string>
00020 
00021 // CMSSW headers
00022 #include "FWCore/Framework/interface/Event.h"
00023 #include "FWCore/Framework/interface/EDFilter.h"
00024 #include "FWCore/Framework/interface/CurrentProcessingContext.h"
00025 #include "FWCore/Framework/interface/ESWatcher.h"
00026 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00027 #include "FWCore/Common/interface/TriggerNames.h"
00028 #include "DataFormats/Provenance/interface/ParameterSetID.h"
00029 
00030 // forward declarations
00031 namespace edm {
00032   class TriggerResults;
00033 }
00034 class AlCaRecoTriggerBitsRcd;
00035 
00036 //
00037 // class declaration
00038 //
00039 
00040 class HLTHighLevel : public edm::EDFilter {
00041 
00042   public:
00043 
00044     explicit HLTHighLevel(const edm::ParameterSet&);
00045     ~HLTHighLevel();
00046     virtual bool filter(edm::Event&, const edm::EventSetup&);
00047 
00049     std::vector<std::string> pathsFromSetup(const std::string &key,
00050                                             const edm::EventSetup &iSetup) const;
00051   private:
00053     void init(const edm::TriggerResults & results,
00054               const edm::EventSetup &iSetup,
00055               const edm::TriggerNames & triggerNames);
00056 
00058     edm::InputTag inputTag_;
00059 
00061     edm::ParameterSetID triggerNamesID_;
00062 
00064     bool andOr_;
00065 
00067     bool throw_;
00068 
00070     std::string const & pathName() const;
00071     std::string const & moduleLabel() const;
00072 
00074     const std::string eventSetupPathsKey_;
00076     edm::ESWatcher<AlCaRecoTriggerBitsRcd> *watchAlCaRecoTriggerBitsRcd_;
00077 
00079     std::vector<std::string>  HLTPatterns_;
00080 
00082     std::vector<std::string>  HLTPathsByName_;
00083 
00085     std::vector<unsigned int> HLTPathsByIndex_;
00086 };
00087 
00088 #endif //HLTHighLevel_h