ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/MVAMet.h
Revision: 1.14
Committed: Sat Jan 12 11:49:47 2013 UTC (12 years, 3 months ago) by pharris
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_029c, Mit_029b, Mit_029a
Changes since 1.13: +10 -2 lines
Log Message:
Updated MVA Met and Jet ID

File Contents

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