-
Notifications
You must be signed in to change notification settings - Fork 5
/
MEtSys.h
106 lines (88 loc) · 1.96 KB
/
MEtSys.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#ifndef HTT_MEtSys_h
#define HTT_MEtSys_h
#include <TFile.h>
#include <TH1.h>
#include <TH2.h>
#include <TF1.h>
#include <TString.h>
#include <TRandom.h>
#include <TMath.h>
#include <assert.h>
class MEtSys {
public:
MEtSys(TString fileName);
~MEtSys(){};
void ApplyMEtSys(float metPx,
float metPy,
float genVPx,
float genVPy,
float visVPx,
float visVPy,
int njets,
int bkgdType,
int sysType,
int shiftType,
float & metShiftPx,
float & metShiftPy);
void ShiftMEt(float metPx,
float metPy,
float genVPx,
float genVPy,
float visVPx,
float visVPy,
int njets,
int bkgdType,
int sysType,
float sysShift,
float & metShiftPx,
float & metShiftPy);
void ShiftResponseMet(float metPx,
float metPy,
float genVPx,
float genVPy,
float visVPx,
float visVPy,
int njets,
int bkgdType,
float sysShift,
float & metShiftPx,
float & metShiftPy);
void ShiftResolutionMet(float metPx,
float metPy,
float genVPx,
float genVPy,
float visVPx,
float visVPy,
int njets,
int bkgdType,
float sysShift,
float & metShiftPx,
float & metShiftPy);
enum ProcessType{BOSON=0, EWK=1, TOP=2};
enum SysType{Response=0, Resolution=1};
enum SysShift{Up=0, Down=1};
private:
void ComputeHadRecoilFromMet(float metX,
float metY,
float genVPx,
float genVPy,
float visVPx,
float visVPy,
float & Hparal,
float & Hperp);
void ComputeMetFromHadRecoil(float Hparal,
float Hperp,
float genVPx,
float genVPy,
float visVPx,
float visVPy,
float & metX,
float & metY);
int nBkgdTypes;
int nJetBins;
TH1D * responseHist[3][5];
float sysUnc[3][2][3]; // first index : bkgd type
// second index : type of uncertainty 0=response, 1=resolution
// third index : jet multiplicity bin (0,1,2);
};
#endif