ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/MVAMet.h
Revision: 1.11
Committed: Fri Jul 20 18:21:49 2012 UTC (12 years, 9 months ago) by pharris
Content type: text/plain
Branch: MAIN
Changes since 1.10: +11 -6 lines
Log Message:
Updated MVA Met

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id $
3 //
4 // Met Regression
5 //
6 // Authors: P. Harris
7 //--------------------------------------------------------------------------------------------------
8
9 #ifndef MITPHYSICS_UTILS_MVAMet_H
10 #define MITPHYSICS_UTILS_MVAMet_H
11 #include <TMatrixD.h>
12 #include "MitAna/DataTree/interface/PFJetFwd.h"
13 #include "MitAna/DataTree/interface/VertexFwd.h"
14 #include "MitAna/DataTree/interface/TrackFwd.h"
15 #include "MitAna/DataTree/interface/Met.h"
16 #include "MitAna/DataTree/interface/PFMet.h"
17 #include "MitAna/DataTree/interface/PFMetCol.h"
18 #include "MitAna/DataTree/interface/PFJet.h"
19 #include "MitAna/DataTree/interface/PFJetCol.h"
20 #include "MitAna/DataTree/interface/PFCandidateCol.h"
21 #include "MitAna/DataTree/interface/PileupEnergyDensityCol.h"
22 #include "MitCommon/MathTools/interface/MathUtils.h"
23
24 #include "MitPhysics/Utils/interface/RecoilTools.h"
25 #include "CondFormats/EgammaObjects/interface/GBRForest.h"
26
27 class TRandom3;
28 class GBRForest;
29
30 namespace mithep {
31 class MVAMet {
32 public:
33 MVAMet();
34 ~MVAMet();
35 enum MVAType {
36 kBaseline = 0
37 };
38
39 //void setVariables(TMVA::Reader *iReader,bool iScale);
40 //void Initialize( TString iU1MethodName="U1MVA",
41 // TString iPhiMethodName="PhiMVA",
42 // TString iJetMVAFile="$CMSSW_BASE/src/MitPhysics/data/mva_RecoilPhiRegress_baseline.weights.xml",
43 // TString iU1Weights="$CMSSW_BASE/src/MitPhysics/data/mva_RecoilRegress_baseline.weights.xml",
44 // TString iPhiWeights="$CMSSW_BASE/src/MitPhysics/data/mva_JetID.weights.xml",
45 // MVAType iType=kBaseline);
46 void Initialize(
47 TString iJetLowPtFile ="$CMSSW_BASE/src/MitPhysics/data/mva_RecoilPhiRegress_baseline.weights.xml",
48 TString iJetHighPtFile="$CMSSW_BASE/src/MitPhysics/data/mva_RecoilPhiRegress_baseline.weights.xml",
49 TString iJetCutFile ="$CMSSW_BASE/src/MitPhysics/data/mva_RecoilPhiRegress_baseline.weights.xml",
50 TString iU1Weights ="$CMSSW_BASE/src/MitPhysics/data/gbrmet.root",
51 TString iPhiWeights ="$CMSSW_BASE/src/MitPhysics/data/gbrmetphi.root",
52 TString iCovU1Weights ="$CMSSW_BASE/src/MitPhysics/data/gbrcovu1_52.root",
53 TString iCovU2Weights ="$CMSSW_BASE/src/MitPhysics/data/gbrcovu2_52.root",
54 MVAMet::MVAType iType=kBaseline);
55
56 Bool_t IsInitialized() const { return fIsInitialized; }
57 Float_t* getVals();
58 Double_t evaluatePhi();
59 Double_t evaluateU1();
60 Double_t evaluateCovU1();
61 Double_t evaluateCovU2();
62 Double_t MVAValue( bool iPhi,
63 Float_t iPFSumEt,
64 Float_t iU ,
65 Float_t iUPhi ,
66 Float_t iTKSumEt,
67 Float_t iTKU ,
68 Float_t iTKUPhi ,
69 Float_t iNPSumEt,
70 Float_t iNPU ,
71 Float_t iNPUPhi ,
72 Float_t iPUSumEt,
73 Float_t iPUMet ,
74 Float_t iPUMetPhi,
75 Float_t iPCSumEt,
76 Float_t iPCU ,
77 Float_t iPCUPhi ,
78 Float_t iJSPt1 ,
79 Float_t iJSEta1 ,
80 Float_t iJSPhi1 ,
81 Float_t iJSPt2 ,
82 Float_t iJSEta2 ,
83 Float_t iJSPhi2 ,
84 Float_t iNJet ,
85 Float_t iNAllJet,
86 Float_t iNPV );
87
88 Met GetMet( Bool_t iPhi,
89 Float_t iPtVis,Float_t iPhiVis,Float_t iSumEtVis,
90 Float_t iPtQ ,Float_t iPhiQ ,Float_t iSumEtQ,
91 const PFMet *iMet ,
92 const PFCandidateCol *iCands,
93 const Vertex *iVertex,const VertexCol *iVertices,
94 const PFJetCol *iJets ,
95 FactorizedJetCorrector *iJetCorrector,
96 const PileupEnergyDensityCol *iPileupEnergyDensity,
97 int iNPV,
98 Bool_t printDebug=false);
99
100 Met GetMet( Bool_t iPhi,
101 Float_t iPtVis,Float_t iPhiVis,Float_t iSumEtVis,
102 Float_t iPtQ ,Float_t iPhiQ ,Float_t iSumEtQ,
103 const PFMet *iMet ,
104 const PFCandidateCol *iCands,
105 const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
106 const PFJetCol *iJets ,
107 int iNPV,
108 Bool_t printDebug=false);
109
110 Met GetMet( Bool_t iPhi,
111 Float_t iPt1,Float_t iPhi1,Float_t iEta1,Float_t iChargedFrac1,
112 Float_t iPt2,Float_t iPhi2,Float_t iEta2,Float_t iChargedFrac2,
113 const PFMet *iMet ,
114 const PFCandidateCol *iCands,
115 const Vertex *iVertex,const VertexCol *iVertices,
116 const PFJetCol *iJets ,
117 FactorizedJetCorrector *iJetCorrector,
118 const PileupEnergyDensityCol *iPUEnergyDensity,
119 int iNPV,
120 Bool_t printDebug=false);
121
122 Met GetMet( Bool_t iPhi,
123 Float_t iPt1,Float_t iPhi1,Float_t iEta1,Float_t iChargedFrac1,
124 Float_t iPt2,Float_t iPhi2,Float_t iEta2,Float_t iChargedFrac2,
125 const PFMet *iMet ,
126 const PFCandidateCol *iCands,
127 const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
128 const PFJetCol *iJets ,
129 int iNPV,
130 Bool_t printDebug=false);
131
132 TMatrixD* GetMetCovariance() { return fCov; }
133 Float_t GetSignificance () { return fSignificance;}
134 Float_t GetUncertainty () { return fUncertainty;}
135 RecoilTools *fRecoilTools;
136
137 protected:
138 TString fPhiMethodName;
139 TString fU1MethodName;
140 TString fCovU1MethodName;
141 TString fCovU2MethodName;
142 Bool_t fIsInitialized;
143 MVAType fType;
144 Bool_t f42;
145
146 Float_t fSumEt ;
147 Float_t fU ;
148 Float_t fUPhi ;
149 Float_t fTKSumEt;
150 Float_t fTKU ;
151 Float_t fTKUPhi ;
152 Float_t fNPSumEt;
153 Float_t fNPU ;
154 Float_t fNPUPhi ;
155 Float_t fPUSumEt;
156 Float_t fPUMet ;
157 Float_t fPUMetPhi ;
158 Float_t fPCSumEt;
159 Float_t fPCU ;
160 Float_t fPCUPhi ;
161 Float_t fJSPt1 ;
162 Float_t fJSEta1 ;
163 Float_t fJSPhi1 ;
164 Float_t fJSPt2 ;
165 Float_t fJSEta2 ;
166 Float_t fJSPhi2 ;
167 Float_t fNJet ;
168 Float_t fNAllJet;
169 Float_t fNPV ;
170 Float_t fUPhiMVA;
171 Float_t fUMVA;
172
173 Float_t* fPhiVals;
174 Float_t* fU1Vals;
175 Float_t* fCovVals;
176
177 GBRForest *fPhiReader;
178 GBRForest *fU1Reader;
179 GBRForest *fCovU1Reader;
180 GBRForest *fCovU2Reader;
181
182 Float_t fSignificance;
183 Float_t fUncertainty;
184 TMatrixD *fCov;
185
186 //TMVA::Reader* fPhiReader;
187 //TMVA::Reader* fU1Reader;
188 ClassDef(MVAMet,0)
189 };
190 }
191 #endif