ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/MVAMet.h
(Generate patch)

Comparing UserCode/MitPhysics/Utils/interface/MVAMet.h (file contents):
Revision 1.1 by pharris, Wed Mar 21 18:56:25 2012 UTC vs.
Revision 1.15 by pharris, Mon Jun 17 22:16:34 2013 UTC

# Line 1 | Line 1
1 +
2   //--------------------------------------------------------------------------------------------------
3   // $Id $
4   //
# Line 8 | Line 9
9  
10   #ifndef MITPHYSICS_UTILS_MVAMet_H
11   #define MITPHYSICS_UTILS_MVAMet_H
12 <
12 > #include <TMatrixD.h>
13   #include "MitAna/DataTree/interface/PFJetFwd.h"
14   #include "MitAna/DataTree/interface/VertexFwd.h"
15   #include "MitAna/DataTree/interface/TrackFwd.h"
16 + #include "MitAna/DataTree/interface/MuonCol.h"
17 + #include "MitAna/DataTree/interface/PFTauCol.h"
18 + #include "MitAna/DataTree/interface/ElectronCol.h"
19 + #include "MitAna/DataTree/interface/PhotonCol.h"
20   #include "MitAna/DataTree/interface/Met.h"
21   #include "MitAna/DataTree/interface/PFMet.h"
22   #include "MitAna/DataTree/interface/PFMetCol.h"
# Line 22 | Line 27
27   #include "MitCommon/MathTools/interface/MathUtils.h"
28  
29   #include "MitPhysics/Utils/interface/RecoilTools.h"
30 + #include "MitPhysics/Utils/interface/MetLeptonTools.h"
31 + #include "CondFormats/EgammaObjects/interface/GBRForest.h"
32  
33   class TRandom3;
34 + class GBRForest;
35  
36   namespace mithep {
37    class MVAMet {
# Line 31 | Line 39 | namespace mithep {
39      MVAMet();
40      ~MVAMet();
41      enum MVAType {
42 <      kBaseline = 0
42 >      kBaseline = 0,
43 >      kOld42    = 4
44      };
45  
46 <    void    setVariables(TMVA::Reader *iReader,bool iScale);
47 <    void    Initialize( TString iU1MethodName="U1MVA",
48 <                        TString iPhiMethodName="PhiMVA",
49 <                        TString iJetMVAFile="$CMSSW_BASE/src/MitPhysics/data/mva_RecoilPhiRegress_data_clean2_njet.weights.xml",
50 <                        TString iU1Weights="$CMSSW_BASE/src/MitPhysics/data/mva_RecoilRegress_clean2_njet.weights.xml",
51 <                        TString iPhiWeights="$CMSSW_BASE/src/MitPhysics/data/mva_JetID.weights.xml",
52 <                        MVAType iType=kBaseline);
53 <
46 >    //void    setVariables(TMVA::Reader *iReader,bool iScale);
47 >    //void    Initialize( TString iU1MethodName="U1MVA",
48 >    //                    TString iPhiMethodName="PhiMVA",
49 >    //                  TString iJetMVAFile="$CMSSW_BASE/src/MitPhysics/data/mva_RecoilPhiRegress_baseline.weights.xml",
50 >    //                  TString iU1Weights="$CMSSW_BASE/src/MitPhysics/data/mva_RecoilRegress_baseline.weights.xml",
51 >    //                  TString iPhiWeights="$CMSSW_BASE/src/MitPhysics/data/mva_JetID.weights.xml",
52 >    //                  MVAType iType=kBaseline);
53 >    void    Initialize(
54 >                       TString iJetLowPtFile ="$CMSSW_BASE/src/MitPhysics/data/mva_RecoilPhiRegress_baseline.weights.xml",
55 >                       TString iJetHighPtFile="$CMSSW_BASE/src/MitPhysics/data/mva_RecoilPhiRegress_baseline.weights.xml",
56 >                       TString iJetCutFile   ="$CMSSW_BASE/src/MitPhysics/data/mva_RecoilPhiRegress_baseline.weights.xml",
57 >                       TString iU1Weights    ="$CMSSW_BASE/src/MitPhysics/data/gbrmet.root",
58 >                       TString iPhiWeights   ="$CMSSW_BASE/src/MitPhysics/data/gbrmetphi.root",
59 >                       TString iCovU1Weights   ="$CMSSW_BASE/src/MitPhysics/data/gbrcovu1_52.root",
60 >                       TString iCovU2Weights   ="$CMSSW_BASE/src/MitPhysics/data/gbrcovu2_52.root",
61 >                       JetIDMVA::MVAType  iType=JetIDMVA::kBaseline,bool iOld42=false);
62 >        
63      Bool_t   IsInitialized() const { return fIsInitialized; }
64 +    Float_t* getVals();
65 +    Double_t evaluatePhi();
66 +    Double_t evaluateU1();
67 +    Double_t evaluateCovU1();
68 +    Double_t evaluateCovU2();
69      Double_t MVAValue(  bool iPhi,
70                          Float_t iPFSumEt,
71                          Float_t iU      ,
# Line 69 | Line 92 | namespace mithep {
92                          Float_t iNAllJet,
93                          Float_t iNPV    );
94  
95 <    Met GetMet(         Bool_t iPhi,Float_t iPtVis,Float_t iPhiVis,Float_t iSumEtVis,
95 >    Met GetMet(         Bool_t iPhi,
96 >                        Float_t iPtVis,Float_t iPhiVis,Float_t iSumEtVis,
97 >                        Float_t iPtQ  ,Float_t iPhiQ  ,Float_t iSumEtQ,
98                          const PFMet            *iMet  ,
99 <                        const PFCandidateCol   *iCands,const Vertex *iVertex,
99 >                        const PFCandidateCol   *iCands,
100 >                        const Vertex *iVertex,const VertexCol *iVertices,
101                          const PFJetCol         *iJets ,
102                          FactorizedJetCorrector *iJetCorrector,
103                          const PileupEnergyDensityCol *iPileupEnergyDensity,
104                          int iNPV,
105                          Bool_t printDebug=false);
106  
107 +    Met GetMet(         Bool_t iPhi,
108 +                        Float_t iPtVis,Float_t iPhiVis,Float_t iSumEtVis,
109 +                        Float_t iPtQ  ,Float_t iPhiQ  ,Float_t iSumEtQ,
110 +                        const PFMet            *iMet  ,
111 +                        const PFCandidateCol   *iCands,
112 +                        const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
113 +                        const PFJetCol         *iJets ,
114 +                        int iNPV,
115 +                        Bool_t printDebug=false);
116 +
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,
118 >                        Float_t iPt1,Float_t iPhi1,Float_t iEta1,Float_t iChargedFrac1,
119 >                        Float_t iPt2,Float_t iPhi2,Float_t iEta2,Float_t iChargedFrac2,
120                          const PFMet            *iMet  ,
121 <                        const PFCandidateCol   *iCands,const Vertex *iVertex,
121 >                        const PFCandidateCol   *iCands,
122 >                        const Vertex *iVertex,const VertexCol *iVertices,
123                          const PFJetCol         *iJets ,
124                          FactorizedJetCorrector *iJetCorrector,
125                          const PileupEnergyDensityCol *iPUEnergyDensity,
126                          int iNPV,
127 <                        Bool_t printDebug);
127 >                        Bool_t printDebug=false);
128 >
129 >    Met GetMet(         Bool_t iPhi,
130 >                        Float_t iPt1,Float_t iPhi1,Float_t iEta1,Float_t iChargedFrac1,
131 >                        Float_t iPt2,Float_t iPhi2,Float_t iEta2,Float_t iChargedFrac2,
132 >                        const PFMet            *iMet  ,
133 >                        const PFCandidateCol   *iCands,
134 >                        const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
135 >                        const PFJetCol         *iJets ,
136 >                        int iNPV,
137 >                        Bool_t printDebug=false);
138 >
139 >    Met GetMet(        const MuonCol        *iMuons,const ElectronCol *iElectrons,const PFTauCol *iTaus,
140 >                       const PFCandidateCol *iCands,const PFJetCol  *iJets,const Vertex *iPV,const VertexCol *iVertices,const PFMetCol *iPFMet,
141 >                       FactorizedJetCorrector *iJetCorrector,const PileupEnergyDensityCol* iPUEnergyDensity);
142 >
143 >    Met GetMet(const PhotonCol        *iPhotons,
144 >               const PFCandidateCol *iCands,const PFJetCol  *iJets,const Vertex *iPV,const VertexCol *iVertices,const PFMetCol *iPFMet,
145 >               FactorizedJetCorrector *iJetCorrector,const PileupEnergyDensityCol* iPUEnergyDensity);
146 >
147 >    TMatrixD*   GetMetCovariance() { return fCov;         }
148 >    Float_t     GetSignificance () { return fSignificance;}
149 >    Float_t     GetUncertainty  () { return fUncertainty;}
150      RecoilTools *fRecoilTools;
151 <    protected:
151 >
152 >    Int_t     fNPhotons;
153 >    
154 >  protected:
155      TString      fPhiMethodName;
156      TString      fU1MethodName;
157 +    TString      fCovU1MethodName;
158 +    TString      fCovU2MethodName;
159      Bool_t       fIsInitialized;
160 <    MVAType      fType;
160 >    JetIDMVA::MVAType      fType;
161 >    Bool_t       f42;
162 >    Bool_t       fOld42;
163      
164 +    Float_t fSumEt  ;
165      Float_t fU      ;
166      Float_t fUPhi   ;
167      Float_t fTKSumEt;
# Line 119 | Line 186 | namespace mithep {
186      Float_t fNAllJet;
187      Float_t fNPV    ;
188      Float_t fUPhiMVA;
189 <
190 <    TMVA::Reader* fPhiReader;
191 <    TMVA::Reader* fU1Reader;
189 >    Float_t fUMVA;
190 >    
191 >    Float_t* fPhiVals;
192 >    Float_t* fU1Vals;
193 >    Float_t* fCovVals;
194 >    
195 >    GBRForest *fPhiReader;
196 >    GBRForest *fU1Reader;
197 >    GBRForest *fCovU1Reader;
198 >    GBRForest *fCovU2Reader;
199 >
200 >    Float_t   fSignificance;
201 >    Float_t   fUncertainty;
202 >    TMatrixD *fCov;
203 >
204 >    Int_t     fNMuons;
205 >    Int_t     fNElectrons;
206 >    Int_t     fNTaus;
207 >
208 >    MetLeptonTools *fMetLeptonTools;
209 >    //TMVA::Reader* fPhiReader;
210 >    //TMVA::Reader* fU1Reader;
211      ClassDef(MVAMet,0)
212    };
213   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines