ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/RecoilTools.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: +15 -13 lines
Log Message:
Update of Met regresion

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     Met pfRecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,const PFMet *iMet);
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 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     void addNeut(const PFJet *iJet,FourVectorM &iVec,Double_t &iSumEt,
53     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     Double_t iDZCut=0.2);
61 pharris 1.2 //Corrected Jets
62     Met NoPUMet( const PFJetCol *iJets,
63 pharris 1.3 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
64 pharris 1.2 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
65     Double_t iDZCut=0.2);
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     Double_t iDZCut=0.2);
74    
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.3 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
79 pharris 1.2 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
80     Double_t iDZCut=0.2);
81    
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     Double_t iDZCut=0.2);
88 pharris 1.2
89     //Corrected Jets
90     Met PUCMet( const PFJetCol *iJets,
91 pharris 1.3 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
92 pharris 1.2 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
93     Double_t iDZCut=0.2);
94    
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     Double_t iDZCut=0.2);
102    
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.3 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
107 pharris 1.2 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
108     Double_t iDZCut=0.2);
109    
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.3 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
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     Double_t iDZCut=0.2);
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.3 const PFCandidateCol *iCands,const Vertex *iVertex,const VertexCol *iVertices,
135 pharris 1.2 Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
136     Double_t iDZCut=0.2);
137 pharris 1.1
138     ClassDef(RecoilTools, 0) // Recoil tools
139     };
140     }
141     #endif