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<mvaMEtUtilities::leptonInfo>&,
44  const std::vector<mvaMEtUtilities::JetInfo>&,
45  const std::vector<mvaMEtUtilities::pfCandInfo>&,
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  protected:
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_;
85  bool is42_;
86  bool isOld42_;
88  double dZcut_;
89 
90  Float_t pfSumEt_;
91  Float_t pfU_;
92  Float_t pfPhi_;
93  Float_t tkSumEt_;
94  Float_t tkU_;
95  Float_t tkPhi_;
96  Float_t npuSumEt_;
97  Float_t npuU_;
98  Float_t npuPhi_;
99  Float_t puSumEt_;
100  Float_t puMEt_;
101  Float_t puPhi_;
102  Float_t pucSumEt_;
103  Float_t pucU_;
104  Float_t pucPhi_;
105  Float_t jet1Pt_;
106  Float_t jet1Eta_;
107  Float_t jet1Phi_;
108  Float_t jet2Pt_;
109  Float_t jet2Eta_;
110  Float_t jet2Phi_;
111  Float_t numJetsPtGt30_;
112  Float_t numJets_;
113  Float_t numVertices_;
114 
115  Float_t* mvaInputU_;
116  Float_t* mvaInputDPhi_;
117  Float_t* mvaInputCovU1_;
118  Float_t* mvaInputCovU2_;
119 
120  Float_t mvaOutputU_;
121  Float_t mvaOutputDPhi_;
124 
125  double sumLeptonPx_;
126  double sumLeptonPy_;
129 
131  //TMatrixD mvaMEtCov_;
133 
138 
140 
142 };
143 #endif
double getCovU1() const
double getU() const
void print(std::ostream &) const
mvaMEtUtilities utils_
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_
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:41
std::string mvaNameDPhi_
reco::Candidate::LorentzVector mvaMEt_
double getDPhi() const
void setInput(const std::vector< mvaMEtUtilities::leptonInfo > &, const std::vector< mvaMEtUtilities::JetInfo > &, const std::vector< mvaMEtUtilities::pfCandInfo > &, const std::vector< reco::Vertex::Point > &)
std::string mvaNameCovU2_