ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/MVAMet.h
Revision: 1.9
Committed: Tue Apr 24 21:28:01 2012 UTC (13 years ago) by pharris
Content type: text/plain
Branch: MAIN
Changes since 1.8: +7 -4 lines
Log Message:
Final debug of MVA Met

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