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