00001 #ifndef PhysicsTools_TagAndProbe_TriggerCandProducer_h 00002 #define PhysicsTools_TagAndProbe_TriggerCandProducer_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 #include "PhysicsTools/TagAndProbe/interface/TriggerCandProducer.h" 00015 00016 #include "DataFormats/HLTReco/interface/TriggerObject.h" 00017 #include "DataFormats/Common/interface/TriggerResults.h" 00018 #include "DataFormats/HLTReco/interface/TriggerEvent.h" 00019 #include "FWCore/Common/interface/TriggerNames.h" 00020 00021 00022 // forward declarations 00023 template<class object> 00024 class TriggerCandProducer : public edm::EDProducer 00025 { 00026 public: 00027 explicit TriggerCandProducer(const edm::ParameterSet&); 00028 ~TriggerCandProducer(); 00029 00030 private: 00031 virtual void beginRun(edm::Run& iRun, edm::EventSetup const& iSetup); 00032 virtual void beginJob() ; 00033 virtual void produce(edm::Event&, const edm::EventSetup&); 00034 virtual void endJob() ; 00035 00036 // ----------member data -------------------------- 00037 00038 edm::InputTag _inputProducer; 00039 edm::InputTag triggerEventTag_; 00040 edm::InputTag triggerResultsTag_; 00041 std::vector<edm::InputTag> hltTags_; 00042 edm::InputTag theRightHLTTag_; 00043 double delRMatchingCut_; 00044 std::string filterName_; 00045 bool storeRefCollection_; 00046 bool isFilter_; 00047 bool printIndex_; 00048 bool changed_; 00049 HLTConfigProvider hltConfig_; 00050 bool skipEvent_; 00051 bool matchUnprescaledTriggerOnly_; 00052 }; 00053 #include "PhysicsTools/TagAndProbe//src/TriggerCandProducer.icc" 00054 #endif