ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/MVAMet.h
Revision: 1.6
Committed: Mon Apr 23 15:37:59 2012 UTC (13 years ago) by pharris
Content type: text/plain
Branch: MAIN
Changes since 1.5: +18 -3 lines
Log Message:
52 MET update w/Covariance matrix

File Contents

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