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 ¶ms) : 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