CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/RecoEgamma/EgammaElectronAlgos/interface/EnergyUncertaintyElectronSpecific.h

Go to the documentation of this file.
00001 #ifndef EnergyUncertaintyElectronSpecific_H
00002 #define EnergyUncertaintyElectronSpecific_H
00003 
00010 #include "FWCore/Framework/interface/Event.h"
00011 #include "DataFormats/Common/interface/Handle.h"
00012 #include "FWCore/Framework/interface/ESHandle.h"
00013 #include "FWCore/Framework/interface/EventSetup.h"
00014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00015 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h"
00016 
00017 class EnergyUncertaintyElectronSpecific
00018  {
00019   public:
00020 
00021    //EnergyUncertaintyElectronSpecific( const edm::ParameterSet& config);
00022    EnergyUncertaintyElectronSpecific();
00023    ~EnergyUncertaintyElectronSpecific();
00024 
00025    void init(const edm::EventSetup& theEventSetup );
00026    //void calculate( edm::Event& evt, reco::Electron &, int subdet,const reco::VertexCollection& vtxcol,const edm::EventSetup& iSetup) ;
00027    //double applyCrackCorrection(const reco::SuperCluster &cl, EcalClusterFunctionBaseClass* crackCorrectionFunction);
00028 
00029    double computeElectronEnergyUncertainty( reco::GsfElectron::Classification c, double eta, double brem, double energy);
00030 
00031   private:
00032 
00033    double computeElectronEnergyUncertainty_golden(double eta, double brem, double energy);
00034    double computeElectronEnergyUncertainty_bigbrem(double eta, double brem, double energy);
00035    double computeElectronEnergyUncertainty_showering(double eta, double brem, double energy);
00036    double computeElectronEnergyUncertainty_cracks(double eta, double brem, double energy);
00037    double computeElectronEnergyUncertainty_badtrack(double eta, double brem, double energy);
00038 
00039 
00040  } ;
00041 
00042 #endif