ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/RecoilTools.h
Revision: 1.1
Committed: Wed Mar 21 18:56:25 2012 UTC (13 years, 1 month ago) by pharris
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_025e, Mit_025d
Log Message:
Adding MET regression

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     RecoilTools(TString iJetMVAFile);
33     ~RecoilTools();
34     JetIDMVA *fJetIDMVA;
35    
36     Met pfRecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,const PFMet *iMet);
37    
38     Met trackMet(const PFCandidateCol *iCands,const Vertex *iVertex,Double_t iDZCut=0.1);
39     Met trackRecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
40     const PFCandidateCol *iCands,const Vertex *iVertex,double iDZCut=0.1);
41    
42     bool filter (const PFJet *iJet,Double_t iPhi1,Double_t iEta1,Double_t iPhi2,Double_t iEta2);
43    
44     void addNeut(const PFJet *iJet,FourVectorM &iVec,Double_t &iSumEt,
45     FactorizedJetCorrector *iJetCorrector,const PileupEnergyDensityCol *iPUEnergyDensity,
46     int iSign=1);
47    
48     Met NoPUMet( const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
49     const PileupEnergyDensityCol *iPileupEnergyDensity,
50     const PFCandidateCol *iCands,const Vertex *iVertex,
51     Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
52     Double_t iDZCut=0.2);
53    
54     Met NoPURecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
55     const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
56     const PileupEnergyDensityCol *iPileupEnergyDensity,
57     const PFCandidateCol *iCands,const Vertex *iVertex,
58     Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
59     Double_t iDZCut=0.2);
60    
61     Met PUCMet( const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
62     const PileupEnergyDensityCol *iPileupEnergyDensity,
63     const PFCandidateCol *iCands,const Vertex *iVertex,
64     Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
65     Double_t iDZCut=0.2);
66    
67     Met PUCRecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
68     const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
69     const PileupEnergyDensityCol *iPileupEnergyDensity,
70     const PFCandidateCol *iCands,const Vertex *iVertex,
71     Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
72     Double_t iDZCut=0.2);
73    
74     Met PUMet( const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
75     const PileupEnergyDensityCol *iPileupEnergyDensity,
76     const PFCandidateCol *iCands,const Vertex *iVertex,
77     Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
78     Double_t iDZCut=0.2);
79    
80    
81     Met PURecoil(Double_t iVisPt,Double_t iVisPhi,Double_t iVisSumEt,
82     const PFJetCol *iJets,FactorizedJetCorrector *iJetCorrector,
83     const PileupEnergyDensityCol *iPileupEnergyDensity,
84     const PFCandidateCol *iCands,const Vertex *iVertex,
85     Double_t iPhi1=1000,Double_t iEta1=1000,Double_t iPhi2=1000,Double_t iEta2=1000,
86     Double_t iDZCut=0.2);
87    
88     ClassDef(RecoilTools, 0) // Recoil tools
89     };
90     }
91     #endif