00001 // 00002 // Original Author: Gena Kukartsev Mar 11, 2009 00003 // Adapted from HcalTextCalibrations 00004 // $Id: HcalOmdsCalibrations.h,v 1.7 2010/03/07 22:54:26 kukartse Exp $ 00005 // 00006 // 00007 #include <map> 00008 #include <string> 00009 00010 #include "FWCore/Framework/interface/ESProducer.h" 00011 #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h" 00012 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00013 00014 #include "CondFormats/HcalObjects/interface/AllObjects.h" 00015 class ParameterSet; 00016 00017 class HcalPedestalsRcd; 00018 class HcalPedestalWidthsRcd; 00019 class HcalGainsRcd; 00020 class HcalGainWidthsRcd; 00021 class HcalQIEDataRcd; 00022 class HcalChannelQualityRcd; 00023 class HcalElectronicsMapRcd; 00024 class HcalRespCorrsRcd; 00025 class HcalZSThresholdsRcd; 00026 class HcalL1TriggerObjectsRcd; 00027 class HcalValidationCorrsRcd; 00028 class HcalLutMetadataRcd; 00029 class HcalDcsRcd; 00030 00031 class HcalOmdsCalibrations : public edm::ESProducer, 00032 public edm::EventSetupRecordIntervalFinder 00033 { 00034 public: 00035 HcalOmdsCalibrations (const edm::ParameterSet& ); 00036 ~HcalOmdsCalibrations (); 00037 00038 void produce () {}; 00039 00040 protected: 00041 virtual void setIntervalFor(const edm::eventsetup::EventSetupRecordKey&, 00042 const edm::IOVSyncValue& , 00043 edm::ValidityInterval&) ; 00044 00045 std::auto_ptr<HcalPedestals> producePedestals (const HcalPedestalsRcd& rcd); 00046 std::auto_ptr<HcalPedestalWidths> producePedestalWidths (const HcalPedestalWidthsRcd& rcd); 00047 std::auto_ptr<HcalGains> produceGains (const HcalGainsRcd& rcd); 00048 std::auto_ptr<HcalGainWidths> produceGainWidths (const HcalGainWidthsRcd& rcd); 00049 std::auto_ptr<HcalQIEData> produceQIEData (const HcalQIEDataRcd& rcd); 00050 std::auto_ptr<HcalChannelQuality> produceChannelQuality (const HcalChannelQualityRcd& rcd); 00051 std::auto_ptr<HcalElectronicsMap> produceElectronicsMap (const HcalElectronicsMapRcd& rcd); 00052 00053 std::auto_ptr<HcalRespCorrs> produceRespCorrs (const HcalRespCorrsRcd& rcd); 00054 std::auto_ptr<HcalZSThresholds> produceZSThresholds (const HcalZSThresholdsRcd& rcd); 00055 std::auto_ptr<HcalL1TriggerObjects> produceL1TriggerObjects (const HcalL1TriggerObjectsRcd& rcd); 00056 std::auto_ptr<HcalValidationCorrs> produceValidationCorrs (const HcalValidationCorrsRcd& rcd); 00057 std::auto_ptr<HcalLutMetadata> produceLutMetadata (const HcalLutMetadataRcd& rcd); 00058 std::auto_ptr<HcalDcsValues> produceDcsValues (const HcalDcsRcd& rcd); 00059 00060 private: 00061 std::map <std::string, std::string> mInputs; 00062 std::map <std::string, std::string> mVersion; 00063 std::map <std::string, int> mSubversion; 00064 std::map <std::string, int> mIOVBegin; 00065 std::map <std::string, std::string> mAccessor; 00066 std::map <std::string, std::string> mQuery; 00067 }; 00068