CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PFMETAlgorithmMVA.h
Go to the documentation of this file.
1 #ifndef RecoMET_METPUSubtraction_PFMETAlgorithmMVA_h
2 #define RecoMET_METPUSubtraction_PFMETAlgorithmMVA_h
3 
15 
17 
21 
23 
24 //#include <TMatrixD.h>
25 #include <Math/SMatrix.h>
26 
27 #include <string>
28 #include <vector>
29 #include <ostream>
30 
32 {
33 
34  public:
35 
38 
39  void initialize(const edm::EventSetup&);
40 
41  void setHasPhotons(bool hasPhotons) { hasPhotons_ = hasPhotons; }
42 
43  void setInput(const std::vector<reco::PUSubMETCandInfo>&,
44  const std::vector<reco::PUSubMETCandInfo>&,
45  const std::vector<reco::PUSubMETCandInfo>&,
46  const std::vector<reco::Vertex::Point>&);
47 
48  void evaluateMVA();
49 
51  const reco::METCovMatrix& getMEtCov() const { return mvaMEtCov_; }
52 
53  double getU() const { return mvaOutputU_; }
54  double getDPhi() const { return mvaOutputDPhi_; }
55  double getCovU1() const { return mvaOutputCovU1_; }
56  double getCovU2() const { return mvaOutputCovU2_; }
57 
58  void print(std::ostream&) const;
59 
60  private:
61 
62  void setInput(double, double, double,
63  double, double, double,
64  double, double, double,
65  double, double, double,
66  double, double, double,
67  double, double, double,
68  double, double, double,
69  double, double,
70  double);
71 
72  void evaluateU();
73  void evaluateDPhi();
74  void evaluateCovU1();
75  void evaluateCovU2();
76 
78 
83 
84  int mvaType_;
86 
87  Float_t pfSumEt_;
88  Float_t pfU_;
89  Float_t pfPhi_;
90  Float_t tkSumEt_;
91  Float_t tkU_;
92  Float_t tkPhi_;
93  Float_t npuSumEt_;
94  Float_t npuU_;
95  Float_t npuPhi_;
96  Float_t puSumEt_;
97  Float_t puMEt_;
98  Float_t puPhi_;
99  Float_t pucSumEt_;
100  Float_t pucU_;
101  Float_t pucPhi_;
102  Float_t jet1Pt_;
103  Float_t jet1Eta_;
104  Float_t jet1Phi_;
105  Float_t jet2Pt_;
106  Float_t jet2Eta_;
107  Float_t jet2Phi_;
108  Float_t numJetsPtGt30_;
109  Float_t numJets_;
110  Float_t numVertices_;
111 
112  Float_t* mvaInputU_;
113  Float_t* mvaInputDPhi_;
114  Float_t* mvaInputCovU1_;
115  Float_t* mvaInputCovU2_;
116 
117  Float_t mvaOutputU_;
118  Float_t mvaOutputDPhi_;
121 
122  double sumLeptonPx_;
123  double sumLeptonPy_;
126 
128  //TMatrixD mvaMEtCov_;
130 
135 
137 
139 };
140 #endif
double getCovU1() const
double getU() const
tuple cfg
Definition: looper.py:259
MvaMEtUtilities utils_
void print(std::ostream &) const
double getCovU2() const
const GBRForest * mvaReaderCovU1_
const GBRForest * mvaReaderCovU2_
ROOT::Math::SMatrix< double, 2 > METCovMatrix
Definition: MET.h:40
edm::ParameterSet cfg_
reco::Candidate::LorentzVector getMEt() const
std::string mvaNameCovU1_
void setInput(const std::vector< reco::PUSubMETCandInfo > &, const std::vector< reco::PUSubMETCandInfo > &, const std::vector< reco::PUSubMETCandInfo > &, const std::vector< reco::Vertex::Point > &)
const reco::METCovMatrix & getMEtCov() const
const GBRForest * mvaReaderDPhi_
const GBRForest * mvaReaderU_
PFMETAlgorithmMVA(const edm::ParameterSet &cfg)
void initialize(const edm::EventSetup &)
void setHasPhotons(bool hasPhotons)
reco::METCovMatrix mvaMEtCov_
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:37
std::string mvaNameDPhi_
reco::Candidate::LorentzVector mvaMEt_
double getDPhi() const
std::string mvaNameCovU2_