Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:23:26

0001 #ifndef PhysicsTools_Heppy_EGammaMvaEleEstimatorFWLite_h
0002 #define PhysicsTools_Heppy_EGammaMvaEleEstimatorFWLite_h
0003 
0004 class EGammaMvaEleEstimator;
0005 class EGammaMvaEleEstimatorCSA14;
0006 namespace reco {
0007   class Vertex;
0008 }
0009 namespace pat {
0010   class Electron;
0011 }
0012 #include <vector>
0013 #include <string>
0014 
0015 namespace heppy {
0016 
0017   class EGammaMvaEleEstimatorFWLite {
0018   public:
0019     EGammaMvaEleEstimatorFWLite();
0020     ~EGammaMvaEleEstimatorFWLite();
0021 
0022     enum MVAType {
0023       kTrig = 0,           // MVA for triggering electrons
0024       kTrigNoIP = 1,       // MVA for triggering electrons without IP info
0025       kNonTrig = 2,        // MVA for non-triggering electrons
0026       kTrigCSA14 = 3,      // MVA for non-triggering electrons
0027       kNonTrigCSA14 = 4,   // MVA for non-triggering electrons
0028       kNonTrigPhys14 = 5,  // MVA for non-triggering electrons
0029     };
0030 
0031     void initialize(std::string methodName, MVAType type, bool useBinnedVersion, std::vector<std::string> weightsfiles);
0032 
0033     float mvaValue(
0034         const pat::Electron& ele, const reco::Vertex& vertex, double rho, bool full5x5, bool printDebug = false);
0035 
0036   private:
0037     EGammaMvaEleEstimator* estimator_;
0038     EGammaMvaEleEstimatorCSA14* estimatorCSA14_;
0039   };
0040 }  // namespace heppy
0041 #endif