00001 // 00002 // Original Author: Fedor Ratnikov Oct 21, 2005 00003 // $Id: HcalTextCalibrations.h,v 1.15 2011/10/26 14:00:29 xiezhen Exp $ 00004 // 00005 // 00006 #include <map> 00007 #include <string> 00008 00009 #include "FWCore/Framework/interface/ESProducer.h" 00010 #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h" 00011 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00012 00013 #include "CondFormats/HcalObjects/interface/AllObjects.h" 00014 class ParameterSet; 00015 00016 class HcalPedestalsRcd; 00017 class HcalPedestalWidthsRcd; 00018 class HcalGainsRcd; 00019 class HcalGainWidthsRcd; 00020 class HcalQIEDataRcd; 00021 class HcalChannelQualityRcd; 00022 class HcalElectronicsMapRcd; 00023 class HcalRespCorrsRcd; 00024 class HcalTimeCorrsRcd; 00025 class HcalLUTCorrsRcd; 00026 class HcalPFCorrsRcd; 00027 class HcalZSThresholdsRcd; 00028 class HcalL1TriggerObjectsRcd; 00029 class HcalValidationCorrsRcd; 00030 class HcalLutMetadataRcd; 00031 class HcalDcsRcd; 00032 class HcalDcsMapRcd; 00033 class HcalCholeskyMatricesRcd; 00034 class HcalCovarianceMatricesRcd; 00035 class HcalRecoParamsRcd; 00036 class HcalLongRecoParamsRcd; 00037 class HcalMCParamsRcd; 00038 class HcalFlagHFDigiTimeParamsRcd; 00039 class HcalTimingParamsRcd; 00040 00041 class HcalTextCalibrations : public edm::ESProducer, 00042 public edm::EventSetupRecordIntervalFinder 00043 { 00044 public: 00045 HcalTextCalibrations (const edm::ParameterSet& ); 00046 ~HcalTextCalibrations (); 00047 00048 void produce () {}; 00049 00050 protected: 00051 virtual void setIntervalFor(const edm::eventsetup::EventSetupRecordKey&, 00052 const edm::IOVSyncValue& , 00053 edm::ValidityInterval&) ; 00054 00055 std::auto_ptr<HcalPedestals> producePedestals (const HcalPedestalsRcd& rcd); 00056 std::auto_ptr<HcalPedestalWidths> producePedestalWidths (const HcalPedestalWidthsRcd& rcd); 00057 std::auto_ptr<HcalGains> produceGains (const HcalGainsRcd& rcd); 00058 std::auto_ptr<HcalGainWidths> produceGainWidths (const HcalGainWidthsRcd& rcd); 00059 std::auto_ptr<HcalQIEData> produceQIEData (const HcalQIEDataRcd& rcd); 00060 std::auto_ptr<HcalChannelQuality> produceChannelQuality (const HcalChannelQualityRcd& rcd); 00061 std::auto_ptr<HcalElectronicsMap> produceElectronicsMap (const HcalElectronicsMapRcd& rcd); 00062 00063 std::auto_ptr<HcalRespCorrs> produceRespCorrs (const HcalRespCorrsRcd& rcd); 00064 std::auto_ptr<HcalZSThresholds> produceZSThresholds (const HcalZSThresholdsRcd& rcd); 00065 std::auto_ptr<HcalL1TriggerObjects> produceL1TriggerObjects (const HcalL1TriggerObjectsRcd& rcd); 00066 std::auto_ptr<HcalTimeCorrs> produceTimeCorrs (const HcalTimeCorrsRcd& rcd); 00067 std::auto_ptr<HcalLUTCorrs> produceLUTCorrs (const HcalLUTCorrsRcd& rcd); 00068 std::auto_ptr<HcalPFCorrs> producePFCorrs (const HcalPFCorrsRcd& rcd); 00069 00070 std::auto_ptr<HcalRecoParams> produceRecoParams (const HcalRecoParamsRcd& rcd); 00071 std::auto_ptr<HcalLongRecoParams> produceLongRecoParams (const HcalLongRecoParamsRcd& rcd); 00072 std::auto_ptr<HcalMCParams> produceMCParams (const HcalMCParamsRcd& rcd); 00073 std::auto_ptr<HcalFlagHFDigiTimeParams> produceFlagHFDigiTimeParams (const HcalFlagHFDigiTimeParamsRcd& rcd); 00074 00075 std::auto_ptr<HcalValidationCorrs> produceValidationCorrs (const HcalValidationCorrsRcd& rcd); 00076 std::auto_ptr<HcalLutMetadata> produceLutMetadata (const HcalLutMetadataRcd& rcd); 00077 std::auto_ptr<HcalDcsValues> produceDcsValues (HcalDcsRcd const & rcd); 00078 std::auto_ptr<HcalDcsMap> produceDcsMap (const HcalDcsMapRcd& rcd); 00079 std::auto_ptr<HcalCholeskyMatrices> produceCholeskyMatrices (const HcalCholeskyMatricesRcd& rcd); 00080 std::auto_ptr<HcalCovarianceMatrices> produceCovarianceMatrices (const HcalCovarianceMatricesRcd& rcd); 00081 00082 std::auto_ptr<HcalTimingParams> produceTimingParams (const HcalTimingParamsRcd& rcd); 00083 private: 00084 std::map <std::string, std::string> mInputs; 00085 }; 00086