ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/RecoilTools.h
Revision: 1.10
Committed: Sat Jan 12 11:49:47 2013 UTC (12 years, 3 months ago) by pharris
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_029c, Mit_029b, Mit_029a, HEAD
Changes since 1.9: +3 -2 lines
Error occurred while calculating annotation data.
Log Message:
Updated MVA Met and Jet ID

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 bool i42=false,JetIDMVA::MVAType iType=JetIDMVA::kBaseline);
36 ~RecoilTools();
37 JetIDMVA *fJetIDMVA;
38
39 Met pfRecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,const PFCandidateCol *iCands);
40 void addType1(FourVectorM &iVec,Double_t &iSumEt,
41 const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,const PileupEnergyDensityCol *iPUEnergyDensity,
42 double iPhi1,double iEta1,double iPhi2,double iEta2);
43
44 Met pfRecoilType1(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
45 const PFCandidateCol *iCands,const PFJetCol *iJets,
46 FactorizedJetCorrector *iJetCorrector,const PileupEnergyDensityCol *iPUEnergyDensity,
47 double iPhi1,double iEta1,double iPhi2,double iEta2);
48
49 //Candidate filtered
50 Met pfRecoil(double iPhi1,double iEta1,double iPhi2,double iEta2,const PFCandidateCol *iCands);
51 Met pfCone (double iPhi1,double iEta1,const PFCandidateCol *iCands,const Vertex *iVertex,bool iCharge=false,Double_t iDZCut=0.3);
52
53 Met trackMet(const PFCandidateCol *iCands,const Vertex *iVertex,Double_t iDZCut=0.1);
54
55 //Candidate filtered
56 Met trackRecoil(double iPhi1,double iEta1,double iPhi2,double iEta2,
57 const PFCandidateCol *iCands,const Vertex *iVertex,Double_t iDZCut=0.1);
58
59 Met trackRecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
60 const PFCandidateCol *iCands,const Vertex *iVertex,double iDZCut=0.1);
61
62 bool filter (const PFJet *iJet,Double_t iPhi1,Double_t iEta1,Double_t iPhi2,Double_t iEta2);
63
64 bool filter(const PFCandidate *iCand,Double_t iPhi1,Double_t iEta1,Double_t iPhi2,Double_t iEta2);
65 //Uncorrected Jets
66 void addNeut(const PFJet *iJet,FourVectorM &iVec,Double_t &iSumEt,
67 FactorizedJetCorrector *iJetCorrector,const PileupEnergyDensityCol *iPUEnergyDensity,
68 int iSign=1);
69
70 //Corrected Jets
71 void addNeut(const PFJet *iJet,FourVectorM &iVec,Double_t &iSumEt,Double_t iRho,
72 int iSign=1);
73
74 //Uncorrected Jets
75 Met NoPUMet( const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
76 const PileupEnergyDensityCol *iPileupEnergyDensity,
77 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
78 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
79 Double_t iDZCut=0.1);
80 //Corrected Jets
81 Met NoPUMet( const PFJetCol *iJets,
82 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
83 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
84 Double_t iDZCut=0.1);
85
86 //Candidate filtered
87 Met NoPURecoil(Double_t iPhi1,Double_t iEta1,Double_t iPhi2,Double_t iEta2,
88 const PFJetCol *iJets,
89 const PFCandidateCol *iCands ,
90 const Vertex *iVertex,const VertexCol *iVertices,
91 FactorizedJetCorrector *iJetCorrector=0,
92 const PileupEnergyDensityCol *iPileupEnergyDensity=0,Double_t iDZCut=0.1);
93 //UnCorrrected Jets
94 Met NoPURecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
95 const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
96 const PileupEnergyDensityCol *iPileupEnergyDensity,
97 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
98 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
99 Double_t iDZCut=0.1);
100
101 //Corrrected Jets
102 Met NoPURecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
103 const PFJetCol *iJets,
104 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
105 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
106 Double_t iDZCut=0.1);
107
108 //Uncorrected Jets
109 Met PUCMet( const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
110 const PileupEnergyDensityCol *iPileupEnergyDensity,
111 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
112 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
113 Double_t iDZCut=0.1);
114
115 //Corrected Jets
116 Met PUCMet( const PFJetCol *iJets,
117 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
118 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
119 Double_t iDZCut=0.1);
120
121 //Candidate Filtered
122 Met PUCRecoil( Double_t iPhi1,Double_t iEta1,Double_t iPhi2,Double_t iEta2,
123 const PFJetCol *iJets,
124 const PFCandidateCol *iCands,
125 const Vertex *iVertex,const VertexCol *iVertices,
126 FactorizedJetCorrector *iJetCorrector=0,
127 const PileupEnergyDensityCol *iPileupEnergyDensity=0,Double_t iDZCut=0.1);
128
129 //Uncorrected Jets
130 Met PUCRecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
131 const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
132 const PileupEnergyDensityCol *iPileupEnergyDensity,
133 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
134 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
135 Double_t iDZCut=0.1);
136
137 //Corrected Jets
138 Met PUCRecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
139 const PFJetCol *iJets,
140 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
141 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
142 Double_t iDZCut=0.1);
143
144 //Uncorrected Jets
145 Met PUMet( const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
146 const PileupEnergyDensityCol *iPileupEnergyDensity,
147 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
148 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
149 Double_t iDZCut=0.2);
150
151 //Corrected Jets
152 Met PUMet( const PFJetCol *iJets,
153 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
154 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
155 Double_t iDZCut=0.2);
156
157 //Candidate Filtered
158 Met PUMet( Double_t iPhi1,Double_t iEta1,Double_t iPhi2,Double_t iEta2,
159 const PFJetCol *iJets,
160 const PFCandidateCol *iCands,
161 const Vertex *iVertex,const VertexCol *iVertices,
162 FactorizedJetCorrector *iJetCorrector=0,
163 const PileupEnergyDensityCol *iPileupEnergyDensity=0,Double_t iDZCut=0.2);
164
165 //Uncorrected Jets
166 Met PURecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
167 const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
168 const PileupEnergyDensityCol *iPileupEnergyDensity,
169 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
170 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
171 Double_t iDZCut=0.1);
172
173 //Corrected Jets
174 Met PURecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
175 const PFJetCol *iJets,
176 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho,
177 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
178 Double_t iDZCut=0.1);
179
180 bool f42;
181 ClassDef(RecoilTools, 0) // Recoil tools
182 };
183 }
184 #endif