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 }
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