61 float newEnergy = scEnergy ;
71 edm::LogWarning(
"ElectronMomentumCorrector::correct")<<
"unexpected classification" ;
79 if ( applyEtaCorrection && (!electron.
isGap()) )
90 else if (electron.
isEE())
92 double ePreshower = electron.
superCluster()->preshowerEnergy() ;
95 { newEnergy = (scEnergy-ePreshower)/
fEtaEndcapGood(scEta)+ePreshower ; }
97 { newEnergy = (scEnergy-ePreshower)/
fEtaEndcapBad(scEta)+ePreshower ; }
100 {
edm::LogWarning(
"ElectronEnergyCorrector::computeNewEnergy")<<
"nor barrel neither endcap electron !" ; }
111 else if (electron.
isEE())
114 {
edm::LogWarning(
"ElectronEnergyCorrector::computeNewEnergy")<<
"nor barrel neither endcap electron !" ; }
double fEtaBarrelGood(double scEta) const
SuperClusterRef superCluster() const
reference to a SuperCluster
bool isEcalEnergyCorrected() const
double fEtaEndcapBad(double scEta) const
virtual float getValue(const reco::BasicCluster &, const EcalRecHitCollection &) const =0
float endcapEnergyError(float E, int elClass)
float ecalEnergyError() const
double fEtaEndcapGood(double scEta) const
void correctEcalEnergy(float newEnergy, float newEnergyError)
Classification classification() const
math::XYZPoint caloPosition() const
double fEtaBarrelBad(double scEta) const
float barrelEnergyError(float E, int elClass)
EcalClusterFunctionBaseClass * ff_
const Point & position() const
position