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

# Content
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 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 ~RecoilTools();
36 JetIDMVA *fJetIDMVA;
37
38 Met pfRecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,const PFCandidateCol *iCands);
39
40 Met trackMet(const PFCandidateCol *iCands,const Vertex *iVertex,Double_t iDZCut=0.1);
41 Met trackRecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
42 const PFCandidateCol *iCands,const Vertex *iVertex,double iDZCut=0.1);
43
44 bool filter (const PFJet *iJet,Double_t iPhi1,Double_t iEta1,Double_t iPhi2,Double_t iEta2);
45
46 //Uncorrected Jets
47 void addNeut(const PFJet *iJet,FourVectorM &iVec,Double_t &iSumEt,
48 FactorizedJetCorrector *iJetCorrector,const PileupEnergyDensityCol *iPUEnergyDensity,
49 int iSign=1);
50
51 //Corrected Jets
52 void addNeut(const PFJet *iJet,FourVectorM &iVec,Double_t &iSumEt,Double_t iRho,
53 int iSign=1);
54
55 //Uncorrected Jets
56 Met NoPUMet( const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
57 const PileupEnergyDensityCol *iPileupEnergyDensity,
58 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
59 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
60 Double_t iDZCut=0.1);
61 //Corrected Jets
62 Met NoPUMet( const PFJetCol *iJets,
63 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
64 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
65 Double_t iDZCut=0.1);
66
67 //UnCorrrected Jets
68 Met NoPURecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
69 const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
70 const PileupEnergyDensityCol *iPileupEnergyDensity,
71 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
72 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
73 Double_t iDZCut=0.1);
74
75 //Corrrected Jets
76 Met NoPURecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
77 const PFJetCol *iJets,
78 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
79 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
80 Double_t iDZCut=0.1);
81
82 //Uncorrected Jets
83 Met PUCMet( const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
84 const PileupEnergyDensityCol *iPileupEnergyDensity,
85 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
86 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
87 Double_t iDZCut=0.1);
88
89 //Corrected Jets
90 Met PUCMet( const PFJetCol *iJets,
91 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
92 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
93 Double_t iDZCut=0.1);
94
95 //Uncorrected Jets
96 Met PUCRecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
97 const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
98 const PileupEnergyDensityCol *iPileupEnergyDensity,
99 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
100 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
101 Double_t iDZCut=0.1);
102
103 //Corrected Jets
104 Met PUCRecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
105 const PFJetCol *iJets,
106 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
107 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
108 Double_t iDZCut=0.1);
109
110 //Uncorrected Jets
111 Met PUMet( const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
112 const PileupEnergyDensityCol *iPileupEnergyDensity,
113 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
114 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
115 Double_t iDZCut=0.2);
116
117 //Corrected Jets
118 Met PUMet( const PFJetCol *iJets,
119 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
120 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
121 Double_t iDZCut=0.2);
122
123 //Uncorrected Jets
124 Met PURecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
125 const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
126 const PileupEnergyDensityCol *iPileupEnergyDensity,
127 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
128 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
129 Double_t iDZCut=0.1);
130
131 //Corrected Jets
132 Met PURecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
133 const PFJetCol *iJets,
134 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
135 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
136 Double_t iDZCut=0.1);
137
138 ClassDef(RecoilTools, 0) // Recoil tools
139 };
140 }
141 #endif