CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2_patch1/src/CalibCalorimetry/HcalPlugins/src/HcalHardcodeCalibrations.h

Go to the documentation of this file.
00001 //
00002 // Original Author:  Fedor Ratnikov Oct 21, 2005
00003 // $Id: HcalHardcodeCalibrations.h,v 1.25 2013/04/23 15:41:27 abdullin Exp $
00004 //
00005 // ESSource to generate default HCAL calibration objects 
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 #include "Geometry/CaloTopology/interface/HcalTopology.h"
00014 #include "CondFormats/HcalObjects/interface/AllObjects.h"
00015 #include "HERecalibration.h"
00016 #include "HFRecalibration.h"
00017 
00018 class ParameterSet;
00019 
00020 class HcalPedestalsRcd;
00021 class HcalPedestalWidthsRcd;
00022 class HcalGainsRcd;
00023 class HcalGainWidthsRcd;
00024 class HcalQIEDataRcd;
00025 class HcalChannelQualityRcd;
00026 class HcalElectronicsMapRcd;
00027 class HcalRespCorrsRcd;
00028 class HcalZSThresholdsRcd;
00029 class HcalL1TriggerObjectsRcd;
00030 class HcalTimeCorrsRcd;
00031 class HcalLUTCorrsRcd;
00032 class HcalPFCorrsRcd;
00033 class HcalValidationCorrsRcd;
00034 class HcalLutMetadataRcd;
00035 class HcalDcsRcd;
00036 class HcalDcsMapRcd;
00037 class HcalRecoParamsRcd;
00038 class HcalLongRecoParamsRcd;
00039 class HcalMCParamsRcd;
00040 class HcalFlagHFDigiTimeParamsRcd;
00041 class HcalTimingParamsRcd;
00042 class HcalCholeskyMatricesRcd;
00043 class HcalCovarianceMatricesRcd;
00044 
00045 class HcalHardcodeCalibrations : public edm::ESProducer,
00046                        public edm::EventSetupRecordIntervalFinder
00047 {
00048 public:
00049   HcalHardcodeCalibrations (const edm::ParameterSet& );
00050   ~HcalHardcodeCalibrations ();
00051 
00052   void produce () {};
00053   
00054 protected:
00055   virtual void setIntervalFor(const edm::eventsetup::EventSetupRecordKey&,
00056                               const edm::IOVSyncValue& , 
00057                               edm::ValidityInterval&) ;
00058 
00059   std::auto_ptr<HcalPedestals> producePedestals (const HcalPedestalsRcd& rcd);
00060   std::auto_ptr<HcalPedestalWidths> producePedestalWidths (const HcalPedestalWidthsRcd& rcd);
00061   std::auto_ptr<HcalGains> produceGains (const HcalGainsRcd& rcd);
00062   std::auto_ptr<HcalGainWidths> produceGainWidths (const HcalGainWidthsRcd& rcd);
00063   std::auto_ptr<HcalQIEData> produceQIEData (const HcalQIEDataRcd& rcd);
00064   std::auto_ptr<HcalChannelQuality> produceChannelQuality (const HcalChannelQualityRcd& rcd);
00065   std::auto_ptr<HcalElectronicsMap> produceElectronicsMap (const HcalElectronicsMapRcd& rcd);
00066 
00067   std::auto_ptr<HcalRespCorrs> produceRespCorrs (const HcalRespCorrsRcd& rcd);
00068   std::auto_ptr<HcalZSThresholds> produceZSThresholds (const HcalZSThresholdsRcd& rcd);
00069   std::auto_ptr<HcalL1TriggerObjects> produceL1TriggerObjects (const HcalL1TriggerObjectsRcd& rcd);
00070   std::auto_ptr<HcalTimeCorrs> produceTimeCorrs (const HcalTimeCorrsRcd& rcd);
00071   std::auto_ptr<HcalLUTCorrs> produceLUTCorrs (const HcalLUTCorrsRcd& rcd);
00072   std::auto_ptr<HcalPFCorrs> producePFCorrs (const HcalPFCorrsRcd& rcd);
00073 
00074   std::auto_ptr<HcalValidationCorrs> produceValidationCorrs (const HcalValidationCorrsRcd& rcd);
00075   std::auto_ptr<HcalLutMetadata> produceLutMetadata (const HcalLutMetadataRcd& rcd);
00076   std::auto_ptr<HcalDcsValues> produceDcsValues (const HcalDcsRcd& rcd);
00077   std::auto_ptr<HcalDcsMap> produceDcsMap (const HcalDcsMapRcd& rcd);
00078 
00079   std::auto_ptr<HcalRecoParams> produceRecoParams (const HcalRecoParamsRcd& rcd);
00080   std::auto_ptr<HcalTimingParams> produceTimingParams (const HcalTimingParamsRcd& rcd);
00081   std::auto_ptr<HcalLongRecoParams> produceLongRecoParams (const HcalLongRecoParamsRcd& rcd);
00082   std::auto_ptr<HcalMCParams> produceMCParams (const HcalMCParamsRcd& rcd);
00083   std::auto_ptr<HcalFlagHFDigiTimeParams> produceFlagHFDigiTimeParams (const HcalFlagHFDigiTimeParamsRcd& rcd);
00084 
00085   std::auto_ptr<HcalCholeskyMatrices> produceCholeskyMatrices (const HcalCholeskyMatricesRcd& rcd);
00086   std::auto_ptr<HcalCovarianceMatrices> produceCovarianceMatrices (const HcalCovarianceMatricesRcd& rcd);
00087 
00088 
00089 private:
00090   double iLumi;
00091   HERecalibration* he_recalibration;  
00092   HFRecalibration* hf_recalibration;  
00093   bool switchGainWidthsForTrigPrims; 
00094 };
00095