00001 #ifndef PhysicsTools_TagAndProbe_TriggerMatchProducer_h 00002 #define PhysicsTools_TagAndProbe_TriggerMatchProducer_h 00003 00004 // system include files 00005 #include <memory> 00006 00007 // user include files 00008 #include "FWCore/Framework/interface/Frameworkfwd.h" 00009 #include "FWCore/Framework/interface/EDProducer.h" 00010 #include "FWCore/Framework/interface/Event.h" 00011 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00012 #include "DataFormats/Candidate/interface/ShallowCloneCandidate.h" 00013 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h" 00014 00015 #include "DataFormats/HLTReco/interface/TriggerObject.h" 00016 #include "DataFormats/Common/interface/TriggerResults.h" 00017 #include "DataFormats/HLTReco/interface/TriggerEvent.h" 00018 00019 #include <string> 00020 00021 // forward declarations 00022 template<class object> 00023 class TriggerMatchProducer : public edm::EDProducer 00024 { 00025 public: 00026 explicit TriggerMatchProducer(const edm::ParameterSet&); 00027 ~TriggerMatchProducer(); 00028 00029 private: 00030 virtual void beginRun(edm::Run& iRun, edm::EventSetup const& iSetup); 00031 virtual void beginJob() ; 00032 virtual void produce(edm::Event&, const edm::EventSetup&); 00033 virtual void endJob() ; 00034 00035 // ----------member data -------------------------- 00036 00037 edm::InputTag _inputProducer; 00038 edm::InputTag triggerEventTag_; 00039 edm::InputTag triggerResultsTag_; 00040 std::string hltTag_; 00041 double delRMatchingCut_; 00042 std::string filterName_; 00043 bool storeRefCollection_; 00044 // bool isFilter_; 00045 // bool printIndex_; 00046 bool changed_; 00047 HLTConfigProvider hltConfig_; 00048 }; 00049 #include "DPGAnalysis/Skims/src/TriggerMatchProducer.icc" 00050 #endif