ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/FakeMods/interface/FakeRate.h
Revision: 1.2
Committed: Mon Jul 13 11:27:13 2009 UTC (15 years, 9 months ago) by loizides
Content type: text/plain
Branch: MAIN
Changes since 1.1: +2 -4 lines
Log Message:
Fix compiler warnings... Still this code needs further cleanup.

File Contents

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2 loizides 1.2 // $Id: FakeRate.h,v 1.1 2009/06/30 10:47:17 loizides Exp $
3 loizides 1.1 //
4     // FakeRate
5     //
6 loizides 1.2 // Class for storing the fake rates.
7 loizides 1.1 //
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     Bool_t Init();
42     Double_t ElectronFakeRate(Double_t et, Double_t eta, Double_t phi);
43     Double_t MuonFakeRate(Double_t pt, Double_t eta, Double_t phi);
44     Double_t ElectronFakeRateError(Double_t et, Double_t eta, Double_t phi);
45     Double_t MuonFakeRateError(Double_t pt, Double_t eta, Double_t phi);
46     const char *GetElectronFRFilename() { return fElectronFRFilename; }
47     const char *GetMuonFRFilename() { return fMuonFRFilename; }
48     const char *GetElectronFRFunctionName() { return fElectronFRFunctionName; }
49     const char *GetMuonFRFunctionName() { return fMuonFRFunctionName; }
50     const char *GetElectronFRHistName() { return fElectronFRHistName; }
51     const char *GetMuonFRHistName() { return fMuonFRHistName; }
52     Bool_t GetUse2DFakeRate() { return fUse2DFakeRate; }
53     Bool_t GetUseFitFunction() { return fUseFitFunction; }
54    
55     void SetElectronFRFilename(const char *name) { fElectronFRFilename = name; }
56     void SetMuonFRFilename(const char *name) { fMuonFRFilename = name; }
57     void SetElectronFRFunctionName(const char *name) { fElectronFRFunctionName = name; }
58     void SetMuonFRFunctionName(const char *name) { fMuonFRFunctionName = name; }
59     void SetElectronFRHistName(const char *name) { fElectronFRHistName = name; }
60     void SetMuonFRHistName(const char *name) { fMuonFRHistName = name; }
61     void SetUse2DFakeRate(Bool_t b) { fUse2DFakeRate = b; }
62     void SetUseFitFunction(Bool_t b) { fUseFitFunction = b; }
63    
64     protected:
65     void DeleteHistos();
66     TString fElectronFRFilename; //!filename of file containing electron fake rate
67     TString fMuonFRFilename; //!filename of file containing muon fake rate
68     TString fElectronFRFunctionName; //!name of electron fake rate function
69     TString fMuonFRFunctionName; //!name of muon fake rate function
70     TString fElectronFRHistName; //!name of histogram containing electron fake rate
71     TString fMuonFRHistName; //!name of histogram containing muon fake rate
72     Bool_t fUse2DFakeRate; //!whether to use 2D pt-eta fake rate
73     Bool_t fUseFitFunction; //!whether to use fit function or not
74    
75     private:
76     Bool_t fIsInit; //!=true if histograms are loaded
77     TH2F *fElectronFakeRateHist_PtEta; //!2D Fake Rate for electrons
78     TH2F *fMuonFakeRateHist_PtEta; //!2D Fake Rate for muons
79     TH1F *fElectronFakeRateHist_Pt; //!2D Fake Rate for electrons
80     TH1F *fMuonFakeRateHist_Pt; //!2D Fake Rate for electrons
81     TF2 *fElectronFakeRateFit_PtEta; //!2D Fake Rate Fit for electrons
82     TF2 *fMuonFakeRateFit_PtEta; //!2D Fake Rate Fit for muons
83     TF1 *fElectronFakeRateFit_Pt; //!2D Fake Rate Fit for electrons
84     TF1 *fMuonFakeRateFit_Pt; //!2D Fake Rate Fit for electrons
85    
86     TH2F *fElectronFakeRateHist_PtEta_sysError; //!2D Fake Rate Error for electrons
87     TH2F *fMuonFakeRateHist_PtEta_sysError; //!2D Fake Rate Error for muons
88    
89    
90     ClassDef(FakeRate, 1) // Charged particle class
91     };
92     }
93     #endif