CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PhotonEnergyCorrector.h
Go to the documentation of this file.
1 #ifndef PhotonEnergyCorrector_H
2 #define PhotonEnergyCorrector_H
3 
21 
23 #include <iostream>
24 
26 
28  {
29  public:
30 
32 
33  std::unique_ptr<ModifyObjectValueBase>& gedRegression()
34  { return gedRegression_; }
35 
36  void init(const edm::EventSetup& theEventSetup );
37  void calculate( edm::Event& evt, reco::Photon &, int subdet,const reco::VertexCollection& vtxcol,const edm::EventSetup& iSetup) ;
38  double applyCrackCorrection(const reco::SuperCluster &cl, EcalClusterFunctionBaseClass* crackCorrectionFunction);
39 
40  private:
41 
46  std::unique_ptr<EGEnergyCorrector> regressionCorrector_;
47  std::unique_ptr<EcalClusterFunctionBaseClass> scEnergyFunction_;
48  std::unique_ptr<EcalClusterFunctionBaseClass> scCrackEnergyFunction_;
49  std::unique_ptr<EcalClusterFunctionBaseClass> scEnergyErrorFunction_;
50  std::unique_ptr<EcalClusterFunctionBaseClass> photonEcalEnergyCorrFunction_;
51  std::unique_ptr<ModifyObjectValueBase> gedRegression_;
52  double minR9Barrel_;
53  double minR9Endcap_;
59 
60  std::unique_ptr<EnergyUncertaintyPhotonSpecific> photonUncertaintyCalculator_;
61 
62  } ;
63 
64 #endif
65 
66 
67 
68 
edm::ESHandle< CaloGeometry > theCaloGeom_
std::unique_ptr< EcalClusterFunctionBaseClass > scCrackEnergyFunction_
double applyCrackCorrection(const reco::SuperCluster &cl, EcalClusterFunctionBaseClass *crackCorrectionFunction)
edm::EDGetTokenT< EcalRecHitCollection > endcapEcalHitsToken_
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
std::unique_ptr< ModifyObjectValueBase > & gedRegression()
std::unique_ptr< EnergyUncertaintyPhotonSpecific > photonUncertaintyCalculator_
PhotonEnergyCorrector(const edm::ParameterSet &config, edm::ConsumesCollector &&iC)
std::unique_ptr< EcalClusterFunctionBaseClass > scEnergyFunction_
edm::EDGetTokenT< EcalRecHitCollection > barrelEcalHitsToken_
void init(const edm::EventSetup &theEventSetup)
std::unique_ptr< EcalClusterFunctionBaseClass > photonEcalEnergyCorrFunction_
void calculate(edm::Event &evt, reco::Photon &, int subdet, const reco::VertexCollection &vtxcol, const edm::EventSetup &iSetup)
std::unique_ptr< EcalClusterFunctionBaseClass > scEnergyErrorFunction_
std::unique_ptr< ModifyObjectValueBase > gedRegression_
std::unique_ptr< EGEnergyCorrector > regressionCorrector_