CMS 3D CMS Logo

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

Go to the documentation of this file.
00001 #ifndef HLTHighLevel_h
00002 #define HLTHighLevel_h
00003 
00017 #include "FWCore/Framework/interface/ESWatcher.h"
00018 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
00019 #include "FWCore/Common/interface/TriggerNames.h"
00020 #include "DataFormats/Provenance/interface/ParameterSetID.h"
00021 #include <vector>
00022 #include <string>
00023 
00024 // forward declarations
00025 namespace edm {
00026   class TriggerResults;
00027 }
00028 class AlCaRecoTriggerBitsRcd;
00029 
00030 //
00031 // class declaration
00032 //
00033 
00034 class HLTHighLevel : public HLTFilter {
00035 
00036   public:
00037 
00038     explicit HLTHighLevel(const edm::ParameterSet&);
00039     ~HLTHighLevel();
00040     virtual bool filter(edm::Event&, const edm::EventSetup&);
00041 
00043     std::vector<std::string> pathsFromSetup(const std::string &key,
00044                                             const edm::EventSetup &iSetup) const;
00045   private:
00047     void init(const edm::TriggerResults & results,
00048               const edm::EventSetup &iSetup,
00049               const edm::TriggerNames & triggerNames);
00050 
00052     edm::InputTag inputTag_;
00053 
00055     edm::ParameterSetID triggerNamesID_;
00056 
00058     bool andOr_;
00059 
00061     bool throw_;
00062 
00064     const std::string eventSetupPathsKey_;
00066     edm::ESWatcher<AlCaRecoTriggerBitsRcd> *watchAlCaRecoTriggerBitsRcd_;
00067 
00069     std::vector<std::string>  HLTPatterns_;
00070 
00072     std::vector<std::string>  HLTPathsByName_;
00073 
00075     std::vector<unsigned int> HLTPathsByIndex_;
00076 };
00077 
00078 #endif //HLTHighLevel_h