ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/JetIDMVA.h
Revision: 1.3
Committed: Sat Apr 7 09:36:32 2012 UTC (13 years ago) by pharris
Content type: text/plain
Branch: MAIN
Changes since 1.2: +48 -63 lines
Log Message:
Update of Met regresion

File Contents

# User Rev Content
1 pharris 1.1 //--------------------------------------------------------------------------------------------------
2     // $Id $
3     //
4     // JetIDMVA
5     //
6     // Helper Class for Jet Id MVA
7     //
8     // Authors: P. Harris
9     //--------------------------------------------------------------------------------------------------
10    
11     #ifndef MITPHYSICS_UTILS_JetIDMVA_H
12     #define MITPHYSICS_UTILS_JetIDMVA_H
13    
14     #include "CondFormats/JetMETObjects/interface/FactorizedJetCorrector.h"
15     #include "MitAna/DataTree/interface/PFJetFwd.h"
16     #include "MitAna/DataTree/interface/VertexFwd.h"
17     #include "MitAna/DataTree/interface/TrackFwd.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     class TRandom3;
25     namespace TMVA {
26     class Reader;
27     }
28    
29     namespace mithep {
30     class JetIDMVA {
31     public:
32     JetIDMVA();
33     ~JetIDMVA();
34    
35     enum MVAType {
36     kBaseline = 0
37     };
38    
39 pharris 1.3 enum CutType {
40     kTight = 0,
41     kMedium = 1,
42     kLoose = 2
43     };
44    
45     void Initialize(JetIDMVA::CutType iCutType,
46     TString iLowPtWeights ="$CMSSW_BASE/src/MitPhysics/data/mva_JetID_lowpt.weights.xml",
47     TString iHighPtWeights="$CMSSW_BASE/src/MitPhysics/data/mva_JetID_highpt.weights.xml",
48     JetIDMVA::MVAType iType=kBaseline,
49     TString iCutFileName ="$CMSSW_BASE/src/MitPhysics/Utils/python/JetIdParams_cfi.py");
50 pharris 1.1
51     Bool_t IsInitialized() const { return fIsInitialized; }
52     Double_t MVAValue(
53     Float_t iNPV ,
54     Float_t iJPt1 ,
55     Float_t iJEta1 ,
56     Float_t iJPhi1 ,
57     Float_t iJD01 ,
58     Float_t iJDZ1 ,
59 pharris 1.3 Float_t iBeta ,
60     Float_t iBetaStar,
61     Float_t iNCharged,
62     Float_t iNNeutrals,
63     Float_t iDRMean ,
64     Float_t iFrac01 ,
65     Float_t iFrac02 ,
66     Float_t iFrac03 ,
67     Float_t iFrac04 ,
68     Float_t iFrac05
69 pharris 1.1 );
70    
71 pharris 1.2 //UNcorrected Jets
72 pharris 1.3 Bool_t pass(const PFJet *iJet,const Vertex *iVertex,const VertexCol *iVertices,
73 pharris 1.1 FactorizedJetCorrector *iJetCorrector,
74     const PileupEnergyDensityCol *iPileupEnergyDensity);
75 pharris 1.2
76     //Corrected Jets
77 pharris 1.3 Bool_t pass(const PFJet *iJet,const Vertex *iVertex,const VertexCol *iVertices);
78 pharris 1.2
79     //Uncorrected Jets
80 pharris 1.3 Double_t MVAValue(const PFJet *iJet,const Vertex *iVertex,const VertexCol *iVertices,
81 pharris 1.1 FactorizedJetCorrector *iJetCorrector,
82     const PileupEnergyDensityCol *iPileupEnergyDensity,
83     Bool_t printDebug=false);
84    
85 pharris 1.2 //Corrected Jets
86 pharris 1.3 Double_t MVAValue(const PFJet *iJet,const Vertex *iVertex,const VertexCol *iVertices,
87 pharris 1.2 Bool_t printDebug=false);
88    
89 pharris 1.1
90     double correctedPt(const PFJet *iJet, FactorizedJetCorrector *iJetCorrector,
91     const PileupEnergyDensityCol *iPUEnergyDensity);
92    
93     Float_t fJetPtMin;
94 pharris 1.3 Float_t fDZCut;
95 pharris 1.1
96     protected:
97     TMVA::Reader *fReader;
98 pharris 1.3 TString fLowPtMethodName;
99     TString fHighPtMethodName;
100 pharris 1.1 MVAType fType;
101 pharris 1.3 CutType fCutType;
102 pharris 1.1 Bool_t fIsInitialized;
103 pharris 1.3 Float_t fMVACut[4][4]; //Fix the cut array
104    
105     Float_t fNVtx ;
106     Float_t fJPt1 ;
107     Float_t fJEta1 ;
108     Float_t fJPhi1 ;
109     Float_t fJD01 ;
110     Float_t fJDZ1 ;
111     Float_t fBeta ;
112     Float_t fBetaStar ;
113     Float_t fNCharged ;
114     Float_t fNNeutrals;
115     Float_t fDRMean ;
116     Float_t fFrac01 ;
117     Float_t fFrac02 ;
118     Float_t fFrac03 ;
119     Float_t fFrac04 ;
120     Float_t fFrac05 ;
121    
122 pharris 1.1 ClassDef(JetIDMVA,0)
123     };
124     }
125    
126    
127     #endif