CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/src/RecoEcal/EgammaCoreTools/plugins/EcalClusterEnergyUncertaintyBaseClass.h

Go to the documentation of this file.
00001 #ifndef RecoEcal_EgammaCoreTools_EcalClusterEnergyUncertaintyBaseClass_h
00002 #define RecoEcal_EgammaCoreTools_EcalClusterEnergyUncertaintyBaseClass_h
00003 
00013 #include "RecoEcal/EgammaCoreTools/interface/EcalClusterFunctionBaseClass.h"
00014 
00015 //#include "FWCore/ParameterSet/interface/ParameterSet.h"
00016 #include "FWCore/Framework/interface/ESHandle.h"
00017 
00018 #include "CondFormats/EcalObjects/interface/EcalClusterEnergyUncertaintyParameters.h"
00019 
00020 #include "DataFormats/EgammaReco/interface/BasicCluster.h"
00021 
00022 namespace edm {
00023         class EventSetup;
00024         class ParameterSet;
00025 }
00026 
00027 class EcalClusterEnergyUncertaintyBaseClass : public EcalClusterFunctionBaseClass {
00028         public:
00029                 EcalClusterEnergyUncertaintyBaseClass();
00030                 EcalClusterEnergyUncertaintyBaseClass( const edm::ParameterSet & ) {};
00031                 virtual ~EcalClusterEnergyUncertaintyBaseClass();
00032 
00033                 // get/set explicit methods for parameters
00034                 const EcalClusterEnergyUncertaintyParameters * getParameters() const { return params_; }
00035                 // check initialization
00036                 void checkInit() const;
00037                 
00038                 // compute the correction
00039                 virtual float getValue( const reco::BasicCluster &, const EcalRecHitCollection & ) const = 0;
00040                 virtual float getValue( const reco::SuperCluster &, const int mode ) const = 0;
00041 
00042 
00043                 // set parameters
00044                 virtual void init( const edm::EventSetup& es );
00045 
00046         protected:
00047                 edm::ESHandle<EcalClusterEnergyUncertaintyParameters> esParams_;
00048                 const EcalClusterEnergyUncertaintyParameters * params_;
00049 };
00050 
00051 #endif