ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/LeptonSelection/interface/HZZCiCElectronSelection.h
Revision: 1.2
Committed: Fri Feb 17 14:48:59 2012 UTC (13 years, 3 months ago) by khahn
Content type: text/plain
Branch: MAIN
CVS Tags: compiled, synced_FSR_2, synced_FSR, synched2, synched, HEAD
Changes since 1.1: +8 -3 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 #ifndef ELECTRON_SELECTION_CIC
2 #define ELECTRON_SELECTION_CIC
3
4 #include <vector>
5 #include <cassert>
6
7 #include "TElectron.hh"
8 #include "ParseArgs.h"
9 #include "SelectionStatus.h"
10
11 using namespace std;
12
13
14 #define N_CATEGORIES 9
15
16 #define ELECTRON_BREM_EB 0
17 #define ELECTRON_LOWBREM_EB 1
18 #define ELECTRON_BADTRACK_EB 2
19 #define ELECTRON_BREM_EE 3
20 #define ELECTRON_LOWBREM_EE 4
21 #define ELECTRON_BADTRACK_EE 5
22 #define ELECTRON_CRACK_EB 6
23 #define ELECTRON_CRACK_EE 7
24 #define ELECTRON_PURETRACKER 8
25
26 enum CICScheme { CICVeryLoose, CICLoose, CICMedium, CICTight };
27
28 struct CICStruct {
29 CICScheme scheme;
30 std::vector<double> cutdcotdist;
31 std::vector<double> cutdetain;
32 std::vector<double> cutdetainl;
33 std::vector<double> cutdphiin;
34 std::vector<double> cutdphiinl;
35 std::vector<double> cuteseedopcor;
36 std::vector<double> cutfmishits;
37 std::vector<double> cuthoe;
38 std::vector<double> cuthoel;
39 std::vector<double> cutsee;
40 std::vector<double> cutseel;
41 };
42
43 void initCiCSelection();
44 CICStruct getCiCCuts(TString eleSeleAnality);
45 unsigned cicCategory(const mithep::TElectron *ele);
46 SelectionStatus electronPreSelectionCic(ControlFlags &ctrl, const mithep::TElectron *electron);
47 SelectionStatus failsCicSelection( ControlFlags &ctrl, const mithep::TElectron * ele, CICStruct &cuts );
48
49 #endif