ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/MVAMet.h
Revision: 1.5
Committed: Sat Apr 7 10:25:15 2012 UTC (13 years ago) by pharris
Content type: text/plain
Branch: MAIN
Changes since 1.4: +2 -2 lines
Log Message:
Met examples

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
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 "MitPhysics/Utils/interface/GBRForest.h"
26
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 //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 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 MVAMet::MVAType iType=kBaseline);
52
53 Bool_t IsInitialized() const { return fIsInitialized; }
54 Double_t evaluatePhi();
55 Double_t evaluateU1();
56 Double_t MVAValue( bool iPhi,
57 Float_t iPFSumEt,
58 Float_t iU ,
59 Float_t iUPhi ,
60 Float_t iTKSumEt,
61 Float_t iTKU ,
62 Float_t iTKUPhi ,
63 Float_t iNPSumEt,
64 Float_t iNPU ,
65 Float_t iNPUPhi ,
66 Float_t iPUSumEt,
67 Float_t iPUMet ,
68 Float_t iPUMetPhi,
69 Float_t iPCSumEt,
70 Float_t iPCU ,
71 Float_t iPCUPhi ,
72 Float_t iJSPt1 ,
73 Float_t iJSEta1 ,
74 Float_t iJSPhi1 ,
75 Float_t iJSPt2 ,
76 Float_t iJSEta2 ,
77 Float_t iJSPhi2 ,
78 Float_t iNJet ,
79 Float_t iNAllJet,
80 Float_t iNPV );
81
82 Met GetMet( Bool_t iPhi,Float_t iPtVis,Float_t iPhiVis,Float_t iSumEtVis,
83 const PFMet *iMet ,
84 const PFCandidateCol *iCands,
85 const Vertex *iVertex,const VertexCol *iVertices,
86 const PFJetCol *iJets ,
87 FactorizedJetCorrector *iJetCorrector,
88 const PileupEnergyDensityCol *iPileupEnergyDensity,
89 int iNPV,
90 Bool_t printDebug=false);
91
92 Met GetMet( Bool_t iPhi,Float_t iPtVis,Float_t iPhiVis,Float_t iSumEtVis,
93 const PFMet *iMet ,
94 const PFCandidateCol *iCands,
95 const Vertex *iVertex,const VertexCol *iVertices,
96 const PFJetCol *iJets ,
97 int iNPV,
98 Bool_t printDebug=false);
99
100 Met GetMet( Bool_t iPhi,
101 Float_t iPt1,Float_t iPhi1,Float_t iEta1,
102 Float_t iPt2,Float_t iPhi2,Float_t iEta2,
103 const PFMet *iMet ,
104 const PFCandidateCol *iCands,
105 const Vertex *iVertex,const VertexCol *iVertices,
106 const PFJetCol *iJets ,
107 FactorizedJetCorrector *iJetCorrector,
108 const PileupEnergyDensityCol *iPUEnergyDensity,
109 int iNPV,
110 Bool_t printDebug=false);
111
112 Met GetMet( Bool_t iPhi,
113 Float_t iPt1,Float_t iPhi1,Float_t iEta1,
114 Float_t iPt2,Float_t iPhi2,Float_t iEta2,
115 const PFMet *iMet ,
116 const PFCandidateCol *iCands,
117 const Vertex *iVertex,const VertexCol *iVertices,
118 const PFJetCol *iJets ,
119 int iNPV,
120 Bool_t printDebug=false);
121
122 RecoilTools *fRecoilTools;
123
124 protected:
125 TString fPhiMethodName;
126 TString fU1MethodName;
127 Bool_t fIsInitialized;
128 MVAType fType;
129
130 Float_t fU ;
131 Float_t fUPhi ;
132 Float_t fTKSumEt;
133 Float_t fTKU ;
134 Float_t fTKUPhi ;
135 Float_t fNPSumEt;
136 Float_t fNPU ;
137 Float_t fNPUPhi ;
138 Float_t fPUSumEt;
139 Float_t fPUMet ;
140 Float_t fPUMetPhi ;
141 Float_t fPCSumEt;
142 Float_t fPCU ;
143 Float_t fPCUPhi ;
144 Float_t fJSPt1 ;
145 Float_t fJSEta1 ;
146 Float_t fJSPhi1 ;
147 Float_t fJSPt2 ;
148 Float_t fJSEta2 ;
149 Float_t fJSPhi2 ;
150 Float_t fNJet ;
151 Float_t fNAllJet;
152 Float_t fNPV ;
153 Float_t fUPhiMVA;
154
155 Float_t* fPhiVals;
156 Float_t* fU1Vals;
157
158
159 GBRForest *fPhiReader;
160 GBRForest *fU1Reader;
161 //TMVA::Reader* fPhiReader;
162 //TMVA::Reader* fU1Reader;
163 ClassDef(MVAMet,0)
164 };
165 }
166 #endif