ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/FakeMods/interface/FakeRate.h
Revision: 1.1
Committed: Tue Jun 30 10:47:17 2009 UTC (15 years, 10 months ago) by loizides
Content type: text/plain
Branch: MAIN
Log Message:
Added FakeMods.

File Contents

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2     // $Id: $
3     //
4     // FakeRate
5     //
6     // Class for storing the Fake rates
7     //
8     // Authors: S.Xie
9     //--------------------------------------------------------------------------------------------------
10    
11     #ifndef MITPHYSICS_FAKEMODS_FAKERATE_H
12     #define MITPHYSICS_FAKEMODS_FAKERATE_H
13    
14     #include "MitAna/DataTree/interface/DataObject.h"
15    
16     class TH1F;
17     class TH2F;
18     class TF1;
19     class TF2;
20    
21     namespace mithep
22     {
23     class FakeRate : public DataObject
24     {
25     public:
26     FakeRate() {}
27     FakeRate(TString eleFRFile, TString muonFRFile, TString eleFRFunctionName,
28     TString muonFRFunctionName, TString eleFRHistName, TString muonFRHistName,
29     Bool_t use2DFakeRate,
30     Bool_t useFitFunction) : fElectronFRFilename(eleFRFile),
31     fMuonFRFilename(muonFRFile),
32     fElectronFRFunctionName(eleFRFunctionName),
33     fMuonFRFunctionName(muonFRFunctionName),
34     fElectronFRHistName(eleFRHistName),
35     fMuonFRHistName(muonFRHistName),
36     fUse2DFakeRate (use2DFakeRate),
37     fUseFitFunction(useFitFunction) {
38     fIsInit = Init();
39     }
40    
41     ~FakeRate() {}
42    
43     Bool_t Init();
44     Double_t ElectronFakeRate(Double_t et, Double_t eta, Double_t phi);
45     Double_t MuonFakeRate(Double_t pt, Double_t eta, Double_t phi);
46     Double_t ElectronFakeRateError(Double_t et, Double_t eta, Double_t phi);
47     Double_t MuonFakeRateError(Double_t pt, Double_t eta, Double_t phi);
48     const char *GetElectronFRFilename() { return fElectronFRFilename; }
49     const char *GetMuonFRFilename() { return fMuonFRFilename; }
50     const char *GetElectronFRFunctionName() { return fElectronFRFunctionName; }
51     const char *GetMuonFRFunctionName() { return fMuonFRFunctionName; }
52     const char *GetElectronFRHistName() { return fElectronFRHistName; }
53     const char *GetMuonFRHistName() { return fMuonFRHistName; }
54     Bool_t GetUse2DFakeRate() { return fUse2DFakeRate; }
55     Bool_t GetUseFitFunction() { return fUseFitFunction; }
56    
57     void SetElectronFRFilename(const char *name) { fElectronFRFilename = name; }
58     void SetMuonFRFilename(const char *name) { fMuonFRFilename = name; }
59     void SetElectronFRFunctionName(const char *name) { fElectronFRFunctionName = name; }
60     void SetMuonFRFunctionName(const char *name) { fMuonFRFunctionName = name; }
61     void SetElectronFRHistName(const char *name) { fElectronFRHistName = name; }
62     void SetMuonFRHistName(const char *name) { fMuonFRHistName = name; }
63     void SetUse2DFakeRate(Bool_t b) { fUse2DFakeRate = b; }
64     void SetUseFitFunction(Bool_t b) { fUseFitFunction = b; }
65    
66     protected:
67     void DeleteHistos();
68     TString fElectronFRFilename; //!filename of file containing electron fake rate
69     TString fMuonFRFilename; //!filename of file containing muon fake rate
70     TString fElectronFRFunctionName; //!name of electron fake rate function
71     TString fMuonFRFunctionName; //!name of muon fake rate function
72     TString fElectronFRHistName; //!name of histogram containing electron fake rate
73     TString fMuonFRHistName; //!name of histogram containing muon fake rate
74     Bool_t fUse2DFakeRate; //!whether to use 2D pt-eta fake rate
75     Bool_t fUseFitFunction; //!whether to use fit function or not
76    
77     private:
78     Bool_t fIsInit; //!=true if histograms are loaded
79     TH2F *fElectronFakeRateHist_PtEta; //!2D Fake Rate for electrons
80     TH2F *fMuonFakeRateHist_PtEta; //!2D Fake Rate for muons
81     TH1F *fElectronFakeRateHist_Pt; //!2D Fake Rate for electrons
82     TH1F *fMuonFakeRateHist_Pt; //!2D Fake Rate for electrons
83     TF2 *fElectronFakeRateFit_PtEta; //!2D Fake Rate Fit for electrons
84     TF2 *fMuonFakeRateFit_PtEta; //!2D Fake Rate Fit for muons
85     TF1 *fElectronFakeRateFit_Pt; //!2D Fake Rate Fit for electrons
86     TF1 *fMuonFakeRateFit_Pt; //!2D Fake Rate Fit for electrons
87    
88     TH2F *fElectronFakeRateHist_PtEta_sysError; //!2D Fake Rate Error for electrons
89     TH2F *fMuonFakeRateHist_PtEta_sysError; //!2D Fake Rate Error for muons
90    
91    
92     ClassDef(FakeRate, 1) // Charged particle class
93     };
94     }
95     #endif