12 |
|
#define MITPHYSICS_FAKEMODS_FAKERATE_H |
13 |
|
|
14 |
|
#include "MitAna/DataTree/interface/DataObject.h" |
15 |
+ |
#include "MitCommon/DataFormats/interface/TH2DAsymErr.h" |
16 |
|
|
17 |
|
class TH1F; |
18 |
|
class TH2F; |
41 |
|
|
42 |
|
Bool_t Init(); |
43 |
|
Double_t ElectronFakeRate(Double_t et, Double_t eta, Double_t phi); |
44 |
+ |
Double_t ElectronFakeRateError(Double_t pt, Double_t eta, Double_t phi, |
45 |
+ |
mithep::TH2DAsymErr::EErrType errorType); |
46 |
+ |
Double_t ElectronFakeRateStatErrorLow(Double_t pt, Double_t eta, Double_t phi); |
47 |
+ |
Double_t ElectronFakeRateStatErrorHigh(Double_t pt, Double_t eta, Double_t phi); |
48 |
+ |
Double_t ElectronFakeRateSysErrorLow(Double_t pt, Double_t eta, Double_t phi); |
49 |
+ |
Double_t ElectronFakeRateSysErrorHigh(Double_t pt, Double_t eta, Double_t phi); |
50 |
+ |
Double_t ElectronFakeRateErrorLow(Double_t pt, Double_t eta, Double_t phi); |
51 |
+ |
Double_t ElectronFakeRateErrorHigh(Double_t pt, Double_t eta, Double_t phi); |
52 |
|
Double_t MuonFakeRate(Double_t pt, Double_t eta, Double_t phi); |
53 |
< |
Double_t ElectronFakeRateError(Double_t et, Double_t eta, Double_t phi); |
54 |
< |
Double_t MuonFakeRateError(Double_t pt, Double_t eta, Double_t phi); |
53 |
> |
Double_t MuonFakeRateError(Double_t pt, Double_t eta, Double_t phi, |
54 |
> |
mithep::TH2DAsymErr::EErrType errorType); |
55 |
> |
Double_t MuonFakeRateStatErrorLow(Double_t pt, Double_t eta, Double_t phi); |
56 |
> |
Double_t MuonFakeRateStatErrorHigh(Double_t pt, Double_t eta, Double_t phi); |
57 |
> |
Double_t MuonFakeRateSysErrorLow(Double_t pt, Double_t eta, Double_t phi); |
58 |
> |
Double_t MuonFakeRateSysErrorHigh(Double_t pt, Double_t eta, Double_t phi); |
59 |
> |
Double_t MuonFakeRateErrorLow(Double_t pt, Double_t eta, Double_t phi); |
60 |
> |
Double_t MuonFakeRateErrorHigh(Double_t pt, Double_t eta, Double_t phi); |
61 |
> |
|
62 |
|
const char *GetElectronFRFilename() { return fElectronFRFilename; } |
63 |
|
const char *GetMuonFRFilename() { return fMuonFRFilename; } |
64 |
|
const char *GetElectronFRFunctionName() { return fElectronFRFunctionName; } |
67 |
|
const char *GetMuonFRHistName() { return fMuonFRHistName; } |
68 |
|
Bool_t GetUse2DFakeRate() { return fUse2DFakeRate; } |
69 |
|
Bool_t GetUseFitFunction() { return fUseFitFunction; } |
70 |
+ |
TH2DAsymErr *GetMuonFakeRate() { return fMuonFakeRateHist_PtEta; } |
71 |
+ |
TH2DAsymErr *GetElectronFakeRate() { return fElectronFakeRateHist_PtEta; } |
72 |
|
|
73 |
|
void SetElectronFRFilename(const char *name) { fElectronFRFilename = name; } |
74 |
|
void SetMuonFRFilename(const char *name) { fMuonFRFilename = name; } |
81 |
|
|
82 |
|
protected: |
83 |
|
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 |
84 |
|
|
85 |
< |
TH2F *fElectronFakeRateHist_PtEta_sysError; //!2D Fake Rate Error for electrons |
86 |
< |
TH2F *fMuonFakeRateHist_PtEta_sysError; //!2D Fake Rate Error for muons |
85 |
> |
TString fElectronFRFilename; //filename of file containing electron fake rate |
86 |
> |
TString fMuonFRFilename; //filename of file containing muon fake rate |
87 |
> |
TString fElectronFRFunctionName; //name of electron fake rate function |
88 |
> |
TString fMuonFRFunctionName; //name of muon fake rate function |
89 |
> |
TString fElectronFRHistName; //name of histogram containing electron fake rate |
90 |
> |
TString fMuonFRHistName; //name of histogram containing muon fake rate |
91 |
> |
Bool_t fUse2DFakeRate; //whether to use 2D pt-eta fake rate |
92 |
> |
Bool_t fUseFitFunction; //whether to use fit function or not |
93 |
|
|
94 |
+ |
private: |
95 |
+ |
Bool_t fIsInit; //=true if histograms are loaded |
96 |
+ |
TH2DAsymErr *fElectronFakeRateHist_PtEta; //2D Fake Rate for electrons |
97 |
+ |
TH2DAsymErr *fMuonFakeRateHist_PtEta; //2D Fake Rate for muons |
98 |
+ |
TH1F *fElectronFakeRateHist_Pt; //1D Fake Rate for electrons |
99 |
+ |
TH1F *fMuonFakeRateHist_Pt; //1D Fake Rate for electrons |
100 |
+ |
TF2 *fElectronFakeRateFit_PtEta; //2D Fake Rate Fit for electrons |
101 |
+ |
TF2 *fMuonFakeRateFit_PtEta; //2D Fake Rate Fit for muons |
102 |
+ |
TF1 *fElectronFakeRateFit_Pt; //1D Fake Rate Fit for electrons |
103 |
+ |
TF1 *fMuonFakeRateFit_Pt; //1D Fake Rate Fit for electrons |
104 |
|
|
105 |
|
ClassDef(FakeRate, 1) // Fake rate class |
106 |
|
}; |