Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:25:02

0001 #ifndef RecoEgamma_EgammaTools_EpCombinationTool_h
0002 #define RecoEgamma_EgammaTools_EpCombinationTool_h
0003 
0004 #include "RecoEgamma/EgammaTools/interface/EgammaRegressionContainer.h"
0005 
0006 #include <string>
0007 #include <vector>
0008 #include <utility>
0009 
0010 namespace edm {
0011   class ParameterSet;
0012   class ParameterSetDescription;
0013   class EventSetup;
0014   class ConsumesCollector;
0015 }  // namespace edm
0016 namespace reco {
0017   class GsfElectron;
0018 }
0019 
0020 class EpCombinationTool {
0021 public:
0022   EpCombinationTool(const edm::ParameterSet& iConfig, edm::ConsumesCollector&& cc);
0023   ~EpCombinationTool() {}
0024 
0025   static edm::ParameterSetDescription makePSetDescription();
0026 
0027   void setEventContent(const edm::EventSetup& iSetup);
0028   std::pair<float, float> combine(const reco::GsfElectron& electron) const;
0029   std::pair<float, float> combine(const reco::GsfElectron& electron, float corrEcalEnergyErr) const;
0030 
0031 private:
0032   EgammaRegressionContainer ecalTrkEnergyRegress_;
0033   EgammaRegressionContainer ecalTrkEnergyRegressUncert_;
0034   float maxEcalEnergyForComb_;
0035   float minEOverPForComb_;
0036   float maxEPDiffInSigmaForComb_;
0037   float maxRelTrkMomErrForComb_;
0038 };
0039 
0040 #endif