ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/FakeMods/interface/FakeRate.h
Revision: 1.3
Committed: Mon Jul 20 19:05:04 2009 UTC (15 years, 9 months ago) by loizides
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_010
Changes since 1.2: +2 -2 lines
Log Message:
Changes for html docu

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: FakeRate.h,v 1.2 2009/07/13 11:27:13 loizides Exp $
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 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) // Fake rate class
91 };
92 }
93 #endif