ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/RecoilTools.h
Revision: 1.6
Committed: Tue Apr 24 21:28:01 2012 UTC (13 years ago) by pharris
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_028, Mit_027, Mit_027a
Changes since 1.5: +8 -8 lines
Log Message:
Final debug of MVA Met

File Contents

# User Rev Content
1 pharris 1.1 //--------------------------------------------------------------------------------------------------
2     // $Id $
3     //
4     // Recoil Tools
5     //
6     // Helper Class for Recoil Tools
7     //
8     // Authors: P. Harris
9     //--------------------------------------------------------------------------------------------------
10    
11     #ifndef MITPHYSICS_UTILS_RecoilTools_H
12     #define MITPHYSICS_UTILS_RecoilTools_H
13    
14     #include "MitAna/DataTree/interface/PFJetFwd.h"
15     #include "MitAna/DataTree/interface/VertexFwd.h"
16     #include "MitAna/DataTree/interface/TrackFwd.h"
17     #include "MitAna/DataTree/interface/PFMet.h"
18     #include "MitAna/DataTree/interface/PFMetCol.h"
19     #include "MitAna/DataTree/interface/PFJet.h"
20     #include "MitAna/DataTree/interface/PFJetCol.h"
21     #include "MitAna/DataTree/interface/PFCandidateCol.h"
22     #include "MitAna/DataTree/interface/PileupEnergyDensityCol.h"
23     #include "MitCommon/MathTools/interface/MathUtils.h"
24    
25     #include "MitPhysics/Utils/interface/JetIDMVA.h"
26    
27     class TRandom3;
28    
29     namespace mithep {
30     class RecoilTools {
31     public:
32 pharris 1.3 RecoilTools(TString iJetLowPtMVAFile ="$CMSSW_BASE/src/MitPhysics/data/mva_JetID_lowpt.weights.xml",
33     TString iJetHighPtMVAFile="$CMSSW_BASE/src/MitPhysics/data/mva_JetID_highpt.weights.xml",
34     TString iCutFile ="$CMSSW_BASE/src/MitPhysics/Utils/python/JetIdParams_cfi.py");
35 pharris 1.1 ~RecoilTools();
36     JetIDMVA *fJetIDMVA;
37    
38 pharris 1.6 Met pfRecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,const PFCandidateCol *iCands);
39 pharris 1.1
40 pharris 1.5 Met trackMet(const PFCandidateCol *iCands,const Vertex *iVertex,Double_t iDZCut=0.1);
41 pharris 1.1 Met trackRecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
42 pharris 1.5 const PFCandidateCol *iCands,const Vertex *iVertex,double iDZCut=0.1);
43 pharris 1.1
44     bool filter (const PFJet *iJet,Double_t iPhi1,Double_t iEta1,Double_t iPhi2,Double_t iEta2);
45    
46 pharris 1.2 //Uncorrected Jets
47 pharris 1.1 void addNeut(const PFJet *iJet,FourVectorM &iVec,Double_t &iSumEt,
48     FactorizedJetCorrector *iJetCorrector,const PileupEnergyDensityCol *iPUEnergyDensity,
49     int iSign=1);
50    
51 pharris 1.2 //Corrected Jets
52 pharris 1.6 void addNeut(const PFJet *iJet,FourVectorM &iVec,Double_t &iSumEt,Double_t iRho,
53 pharris 1.2 int iSign=1);
54    
55     //Uncorrected Jets
56 pharris 1.1 Met NoPUMet( const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
57     const PileupEnergyDensityCol *iPileupEnergyDensity,
58 pharris 1.3 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
59 pharris 1.1 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
60 pharris 1.5 Double_t iDZCut=0.1);
61 pharris 1.2 //Corrected Jets
62     Met NoPUMet( const PFJetCol *iJets,
63 pharris 1.6 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
64 pharris 1.2 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
65 pharris 1.5 Double_t iDZCut=0.1);
66 pharris 1.1
67 pharris 1.2 //UnCorrrected Jets
68     Met NoPURecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
69 pharris 1.1 const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
70     const PileupEnergyDensityCol *iPileupEnergyDensity,
71 pharris 1.3 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
72 pharris 1.1 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
73 pharris 1.5 Double_t iDZCut=0.1);
74 pharris 1.1
75 pharris 1.2 //Corrrected Jets
76     Met NoPURecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
77     const PFJetCol *iJets,
78 pharris 1.6 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
79 pharris 1.2 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
80 pharris 1.5 Double_t iDZCut=0.1);
81 pharris 1.2
82     //Uncorrected Jets
83 pharris 1.1 Met PUCMet( const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
84     const PileupEnergyDensityCol *iPileupEnergyDensity,
85 pharris 1.3 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
86 pharris 1.1 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
87 pharris 1.5 Double_t iDZCut=0.1);
88 pharris 1.2
89     //Corrected Jets
90     Met PUCMet( const PFJetCol *iJets,
91 pharris 1.6 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
92 pharris 1.2 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
93 pharris 1.5 Double_t iDZCut=0.1);
94 pharris 1.2
95     //Uncorrected Jets
96 pharris 1.1 Met PUCRecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
97     const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
98     const PileupEnergyDensityCol *iPileupEnergyDensity,
99 pharris 1.3 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
100 pharris 1.1 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
101 pharris 1.5 Double_t iDZCut=0.1);
102 pharris 1.1
103 pharris 1.2 //Corrected Jets
104     Met PUCRecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
105     const PFJetCol *iJets,
106 pharris 1.6 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
107 pharris 1.2 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
108 pharris 1.5 Double_t iDZCut=0.1);
109 pharris 1.2
110     //Uncorrected Jets
111 pharris 1.1 Met PUMet( const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
112     const PileupEnergyDensityCol *iPileupEnergyDensity,
113 pharris 1.3 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
114 pharris 1.1 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
115     Double_t iDZCut=0.2);
116    
117 pharris 1.2 //Corrected Jets
118     Met PUMet( const PFJetCol *iJets,
119 pharris 1.6 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
120 pharris 1.2 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
121     Double_t iDZCut=0.2);
122 pharris 1.1
123 pharris 1.2 //Uncorrected Jets
124 pharris 1.1 Met PURecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
125     const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
126     const PileupEnergyDensityCol *iPileupEnergyDensity,
127 pharris 1.3 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
128 pharris 1.1 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
129 pharris 1.5 Double_t iDZCut=0.1);
130 pharris 1.2
131     //Corrected Jets
132     Met PURecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
133     const PFJetCol *iJets,
134 pharris 1.6 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
135 pharris 1.2 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
136 pharris 1.5 Double_t iDZCut=0.1);
137 pharris 1.1
138     ClassDef(RecoilTools, 0) // Recoil tools
139     };
140     }
141     #endif