94 double phoEcalEnergy = -9999.;
95 double phoEcalEnergyError = -9999.;
96 double phoRegr1Energy = -9999.;
97 double phoRegr1EnergyError = -9999.;
110 if ( thePhoton.
r9() > minR9 ) {
113 float e5x5=thePhoton.
e5x5();
115 phoEcalEnergy = e5x5 + thePhoton.
superCluster()->preshowerEnergy() ;
124 if ( thePhoton.
r9() > minR9 ) {
130 float e5x5=thePhoton.
e5x5();
132 phoEcalEnergy = e5x5 + thePhoton.
superCluster()->preshowerEnergy() ;
152 std::pair<double,double> cor =
regressionCorrector_->CorrectedEnergyWithError(thePhoton, vtxcol, lazyTools, iSetup);
153 phoRegr1Energy = cor.first;
154 phoRegr1EnergyError = cor.second;
187 double crackcor = 1.;
193 cc->energy()*(crackCorrectionFunction->
getValue(*cc)-1.)) /
T getParameter(std::string const &) const
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
bool existsAs(std::string const ¶meterName, bool trackiness=true) const
checks if a parameter exists as a given type
edm::ESHandle< CaloGeometry > theCaloGeom_
def create(alignables, pedeDump, additionalData, outputFile, config)
std::unique_ptr< EcalClusterFunctionBaseClass > scCrackEnergyFunction_
void setCorrectedEnergy(P4type type, float E, float dE, bool toCand=true)
double applyCrackCorrection(const reco::SuperCluster &cl, EcalClusterFunctionBaseClass *crackCorrectionFunction)
edm::EDGetTokenT< EcalRecHitCollection > endcapEcalHitsToken_
std::vector< Vertex > VertexCollection
collection of Vertex objects
reco::SuperClusterRef superCluster() const override
Ref to SuperCluster.
std::unique_ptr< EnergyUncertaintyPhotonSpecific > photonUncertaintyCalculator_
PhotonEnergyCorrector(const edm::ParameterSet &config, edm::ConsumesCollector &&iC)
virtual float getValue(const reco::BasicCluster &, const EcalRecHitCollection &) const =0
std::unique_ptr< EcalClusterFunctionBaseClass > scEnergyFunction_
edm::EDGetTokenT< EcalRecHitCollection > barrelEcalHitsToken_
void init(const edm::EventSetup &theEventSetup)
float getCorrectedEnergyError(P4type type) const
std::unique_ptr< EcalClusterFunctionBaseClass > photonEcalEnergyCorrFunction_
void calculate(edm::Event &evt, reco::Photon &, int subdet, const reco::VertexCollection &vtxcol, const edm::EventSetup &iSetup)
double rawEnergy() const
raw uncorrected energy (sum of energies of component BasicClusters)
ParameterSet const & getParameterSet(std::string const &) const
std::unique_ptr< EcalClusterFunctionBaseClass > scEnergyErrorFunction_
float getCorrectedEnergy(P4type type) const
edm::InputTag endcapEcalHits_
std::unique_ptr< ModifyObjectValueBase > gedRegression_
CaloCluster_iterator clustersBegin() const
fist iterator over BasicCluster constituents
std::unique_ptr< EGEnergyCorrector > regressionCorrector_
edm::InputTag barrelEcalHits_
T get(const Candidate &c)
CaloCluster_iterator clustersEnd() const
last iterator over BasicCluster constituents