CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/CaloOnlineTools/HcalOnlineDb/interface/HcalOmdsCalibrations.h

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