ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/MVAMet.h
Revision: 1.1
Committed: Wed Mar 21 18:56:25 2012 UTC (13 years, 1 month ago) by pharris
Content type: text/plain
Branch: MAIN
Log Message:
Adding MET regression

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    
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    
26     class TRandom3;
27    
28     namespace mithep {
29     class MVAMet {
30     public:
31     MVAMet();
32     ~MVAMet();
33     enum MVAType {
34     kBaseline = 0
35     };
36    
37     void setVariables(TMVA::Reader *iReader,bool iScale);
38     void Initialize( TString iU1MethodName="U1MVA",
39     TString iPhiMethodName="PhiMVA",
40     TString iJetMVAFile="$CMSSW_BASE/src/MitPhysics/data/mva_RecoilPhiRegress_data_clean2_njet.weights.xml",
41     TString iU1Weights="$CMSSW_BASE/src/MitPhysics/data/mva_RecoilRegress_clean2_njet.weights.xml",
42     TString iPhiWeights="$CMSSW_BASE/src/MitPhysics/data/mva_JetID.weights.xml",
43     MVAType iType=kBaseline);
44    
45     Bool_t IsInitialized() const { return fIsInitialized; }
46     Double_t MVAValue( bool iPhi,
47     Float_t iPFSumEt,
48     Float_t iU ,
49     Float_t iUPhi ,
50     Float_t iTKSumEt,
51     Float_t iTKU ,
52     Float_t iTKUPhi ,
53     Float_t iNPSumEt,
54     Float_t iNPU ,
55     Float_t iNPUPhi ,
56     Float_t iPUSumEt,
57     Float_t iPUMet ,
58     Float_t iPUMetPhi,
59     Float_t iPCSumEt,
60     Float_t iPCU ,
61     Float_t iPCUPhi ,
62     Float_t iJSPt1 ,
63     Float_t iJSEta1 ,
64     Float_t iJSPhi1 ,
65     Float_t iJSPt2 ,
66     Float_t iJSEta2 ,
67     Float_t iJSPhi2 ,
68     Float_t iNJet ,
69     Float_t iNAllJet,
70     Float_t iNPV );
71    
72     Met GetMet( Bool_t iPhi,Float_t iPtVis,Float_t iPhiVis,Float_t iSumEtVis,
73     const PFMet *iMet ,
74     const PFCandidateCol *iCands,const Vertex *iVertex,
75     const PFJetCol *iJets ,
76     FactorizedJetCorrector *iJetCorrector,
77     const PileupEnergyDensityCol *iPileupEnergyDensity,
78     int iNPV,
79     Bool_t printDebug=false);
80    
81     Met GetMet( Bool_t iPhi,
82     Float_t iPt1,Float_t iPhi1,Float_t iEta1,
83     Float_t iPt2,Float_t iPhi2,Float_t iEta2,
84     const PFMet *iMet ,
85     const PFCandidateCol *iCands,const Vertex *iVertex,
86     const PFJetCol *iJets ,
87     FactorizedJetCorrector *iJetCorrector,
88     const PileupEnergyDensityCol *iPUEnergyDensity,
89     int iNPV,
90     Bool_t printDebug);
91     RecoilTools *fRecoilTools;
92     protected:
93     TString fPhiMethodName;
94     TString fU1MethodName;
95     Bool_t fIsInitialized;
96     MVAType fType;
97    
98     Float_t fU ;
99     Float_t fUPhi ;
100     Float_t fTKSumEt;
101     Float_t fTKU ;
102     Float_t fTKUPhi ;
103     Float_t fNPSumEt;
104     Float_t fNPU ;
105     Float_t fNPUPhi ;
106     Float_t fPUSumEt;
107     Float_t fPUMet ;
108     Float_t fPUMetPhi ;
109     Float_t fPCSumEt;
110     Float_t fPCU ;
111     Float_t fPCUPhi ;
112     Float_t fJSPt1 ;
113     Float_t fJSEta1 ;
114     Float_t fJSPhi1 ;
115     Float_t fJSPt2 ;
116     Float_t fJSEta2 ;
117     Float_t fJSPhi2 ;
118     Float_t fNJet ;
119     Float_t fNAllJet;
120     Float_t fNPV ;
121     Float_t fUPhiMVA;
122    
123     TMVA::Reader* fPhiReader;
124     TMVA::Reader* fU1Reader;
125     ClassDef(MVAMet,0)
126     };
127     }
128     #endif