![]() |
![]() |
00001 // 00002 // Original Author: Fedor Ratnikov 00003 // Created: Feb. 13, 2008 00004 // $Id: JetCorrectionServiceChain.h,v 1.1 2009/09/24 13:18:55 bainbrid Exp $ 00005 // 00006 // 00007 00008 // system include files 00009 #include <string> 00010 #include <vector> 00011 #include "boost/shared_ptr.hpp" 00012 00013 // user include files 00014 #include "FWCore/Framework/interface/ESProducer.h" 00015 #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h" 00016 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00017 #include "JetMETCorrections/Objects/interface/JetCorrector.h" 00018 00019 class JetCorrectionsRecord; 00020 00021 class JetCorrectionServiceChain : public edm::ESProducer, public edm::EventSetupRecordIntervalFinder { 00022 public: 00023 JetCorrectionServiceChain (const edm::ParameterSet& fParameters); 00024 ~JetCorrectionServiceChain (); 00025 00026 boost::shared_ptr<JetCorrector> produce (const JetCorrectionsRecord& ); 00027 00028 void setIntervalFor(const edm::eventsetup::EventSetupRecordKey&, 00029 const edm::IOVSyncValue&, 00030 edm::ValidityInterval& fIOV); 00031 00032 private: 00033 std::vector <std::string> mCorrectors; 00034 boost::shared_ptr<JetCorrector> mChainCorrector; 00035 };