CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_2_9_HLT1_bphpatch4/src/PhysicsTools/MVAComputer/interface/MVAComputerESSourceImpl.h

Go to the documentation of this file.
00001 #ifndef PhysicsTools_MVAComputer_MVAComputerESSourceImpl_h
00002 #define PhysicsTools_MVAComputer_MVAComputerESSourceImpl_h
00003 
00004 #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h"
00005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00006 
00007 #include "PhysicsTools/MVAComputer/interface/Calibration.h"
00008 #include "PhysicsTools/MVAComputer/interface/MVAComputerESSourceBase.h"
00009 
00010 namespace PhysicsTools {
00011 
00012 template<class RecordType>
00013 class MVAComputerESSourceImpl : public MVAComputerESSourceBase,
00014                                 public edm::EventSetupRecordIntervalFinder {
00015     public:
00016         MVAComputerESSourceImpl(const edm::ParameterSet &params) :
00017                 MVAComputerESSourceBase(params)
00018         {
00019                 setWhatProduced(this);
00020                 findingRecord<RecordType>();
00021         }
00022 
00023         virtual ~MVAComputerESSourceImpl() {}
00024 
00025         ReturnType produce(const RecordType &record)
00026         { return this->produce(); }
00027 
00028     protected:
00029         using MVAComputerESSourceBase::produce;
00030 
00031     private:
00032         void setIntervalFor(const edm::eventsetup::EventSetupRecordKey &key,
00033                             const edm::IOVSyncValue &syncValue,
00034                             edm::ValidityInterval &oValidity)
00035         {
00036                 oValidity = edm::ValidityInterval(
00037                                         edm::IOVSyncValue::beginOfTime(),
00038                                         edm::IOVSyncValue::endOfTime());
00039         }
00040 };
00041 
00042 } // namespace PhysicsTools
00043 
00044 #endif // PhysicsTools_MVAComputer_MVAComputerESSourceImpl_h