-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCommonHiggsPreselector.hh
More file actions
78 lines (61 loc) · 2.66 KB
/
CommonHiggsPreselector.hh
File metadata and controls
78 lines (61 loc) · 2.66 KB
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
#ifndef CommonHiggsPreselector_h
#define CommonHiggsPreselector_h
#include "CommonTools/include/Selection.hh"
#include "CommonTools/include/Counters.hh"
class CommonHiggsPreselector {
public:
//! constructor
CommonHiggsPreselector();
//! destructor
virtual ~CommonHiggsPreselector();
//! configure from files
void Configure(const char *fileCuts, const char *fileSwitches);
//! set event by event observables
void SetProcessID(int processID) { m_processID = processID; }
void SetWeight(float kFactor) { m_kFactor = kFactor; }
void SetMcTruth(bool foundMcTree) { m_foundMcTree = foundMcTree; }
void SetHLT(bool passedHLT) { m_passedHLT = passedHLT; }
void SetNele(int nEle) { m_nEle = nEle; }
void SetNmuon(int nMuon) { m_nMuon = nMuon; }
void SetIsEE(bool isEE) { m_isEE = isEE; }
void SetIsMM(bool isMM) { m_isMM = isMM; }
void SetIsEM(bool isEM) { m_isEM = isEM; }
void SetIsME(bool isME) { m_isME = isME; }
void SetHighElePt(float highElePt) { m_highElePt = highElePt; }
void SetLowElePt(float lowElePt) { m_lowElePt = lowElePt; }
void SetHighMuonPt(float highMuonPt){ m_highMuonPt = highMuonPt; }
void SetLowMuonPt(float lowMuonPt) { m_lowMuonPt = lowMuonPt; }
void SetMet(float met) { m_met = met; }
void SetMllEE(float mllEE) { m_mllEE = mllEE; }
void SetMllEM(float mllEM) { m_mllEM = mllEM; }
void SetMllME(float mllME) { m_mllME = mllME; }
void SetMllMM(float mllMM) { m_mllMM = mllMM; }
//! get output of the selector
bool output();
//! display the electron efficiency
void displayEfficiencies(std::string filename);
//! get the slection
Selection* GetSelection() { return _selection; }
private:
float m_weight;
float m_kFactor;
bool m_foundMcTree;
bool m_passedHLT;
int m_nEle, m_nMuon;
bool m_isEE, m_isEM, m_isMM, m_isME;
float m_highElePt, m_lowElePt;
float m_highMuonPt, m_lowMuonPt;
float m_met;
float m_mllEE, m_mllEM, m_mllMM, m_mllME;
bool m_evtPresel;
int m_processID;
//! contains the preselection cuts
Selection* _selection;
//! counters for the efficiencies display, based on electron candidates
Counters* presCounter;
//! this is to do an efficiency for each process in the sample
//! (if more than one is present)
//! to turn on it, use SetProcessID(int processID) with processID=!-1
std::map<int, Counters*> multiProcessCounter;
};
#endif