CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/JetMETCorrections/Modules/interface/JetCorrectionServiceChain.h

Go to the documentation of this file.
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 };