CMS 3D CMS Logo

SoftElectronMVAEstimator.h
Go to the documentation of this file.
1 #ifndef __ElectronIdentification_SoftElectronMVAEstimator_H__
2 #define __ElectronIdentification_SoftElectronMVAEstimator_H__
3 
9 
11 #include <memory>
12 #include <string>
13 
15  public:
16  constexpr static unsigned int ExpectedNBins = 1;
17 
18  struct Configuration{
19  std::vector<std::string> vweightsfiles;
20  };
23  double mva(const reco::GsfElectron& myElectron,
24  const reco::VertexCollection&) const;
25  UInt_t GetMVABin(int pu,double eta,double pt ) const;
26  private:
27  void bindVariables(float vars[25]) const ;
28  void init();
29 
30  private:
32  std::array<std::unique_ptr<const GBRForest>, ExpectedNBins> gbr;
33 
34  Float_t fbrem;
35  Float_t EtotOvePin;
36  Float_t EBremOverDeltaP;
37  Float_t logSigmaEtaEta;
39  Float_t kfchi2;
40  Float_t kfhits; //number of layers
41  Float_t gsfchi2;
42  Float_t SigmaPtOverPt;
43 
44 
45  Float_t deta;
46  Float_t dphi;
47  Float_t detacalo;
48 
49  Float_t see;
50  Float_t etawidth;
51  Float_t phiwidth;
53 
54  Float_t HoE;
55  //Float_t EoP; //Not being used
56  Float_t eleEoPout;
57 
58  Float_t spp;
59  Float_t R9;
60  Float_t IoEmIoP;
61  Float_t PreShowerOverRaw;
62 
63 
64  Float_t eta;
65  Float_t pt;
66 
67  Float_t nPV;
68 };
69 
70 #endif
SoftElectronMVAEstimator(const Configuration &)
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
#define constexpr
UInt_t GetMVABin(int pu, double eta, double pt) const
double mva(const reco::GsfElectron &myElectron, const reco::VertexCollection &) const
void bindVariables(float vars[25]) const
std::array< std::unique_ptr< const GBRForest >, ExpectedNBins > gbr