ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/LeptonSelection/interface/ElectronSelection.h
Revision: 1.10
Committed: Fri Jun 8 22:30:42 2012 UTC (12 years, 11 months ago) by anlevin
Content type: text/plain
Branch: MAIN
Changes since 1.9: +1 -3 lines
Log Message:
corrected bug in electron cut based id

File Contents

# User Rev Content
1 khahn 1.4 #ifndef ELECTRON_SELECTION
2     #define ELECTRON_SELECTION
3 khahn 1.1
4     #include <vector>
5     #include <cassert>
6     #include <math.h>
7     #include <map>
8    
9     #include "Vertex.h"
10     #include "Electron.h"
11     #include "ElectronCol.h"
12     #include "PFCandidate.h"
13    
14     #include "TMath.h"
15    
16     #include "TMVA/Factory.h"
17     #include "TMVA/Tools.h"
18     #include "TMVA/Reader.h"
19     #include "TMVA/MethodCuts.h"
20    
21     #include "ParseArgs.h"
22     #include "SelectionStatus.h"
23    
24 anlevin 1.9 #include "MitPhysics/Utils/interface/ElectronTools.h"
25    
26    
27 anlevin 1.8
28 khahn 1.1 #define ELE_IDMVA_CUT_BIN0 0.369
29     #define ELE_IDMVA_CUT_BIN1 -0.025
30     #define ELE_IDMVA_CUT_BIN2 0.531
31     #define ELE_IDMVA_CUT_BIN3 0.735
32     #define ELE_IDMVA_CUT_BIN4 0.467
33     #define ELE_IDMVA_CUT_BIN5 0.795
34    
35 khahn 1.3 #define ELE_REFERENCE_IDMVA_CUT_BIN0 0.470 // eta<0.8, pt<10
36     #define ELE_REFERENCE_IDMVA_CUT_BIN1 0.004 // 0.8<eta<1.479, pt<10
37     #define ELE_REFERENCE_IDMVA_CUT_BIN2 0.295 // eta>1.478, pt<10
38     #define ELE_REFERENCE_IDMVA_CUT_BIN3 0.500 // eta<0.8, pt>10
39     #define ELE_REFERENCE_IDMVA_CUT_BIN4 0.120 // 0.8<eta<1.479, pt>10
40     #define ELE_REFERENCE_IDMVA_CUT_BIN5 0.600 // eta>1.478, pt>10
41    
42     #define ELE_LOOSE_IDMVA_CUT_BIN0 0.369
43     #define ELE_LOOSE_IDMVA_CUT_BIN1 -0.025
44     #define ELE_LOOSE_IDMVA_CUT_BIN2 0.531
45     #define ELE_LOOSE_IDMVA_CUT_BIN3 0.735
46     #define ELE_LOOSE_IDMVA_CUT_BIN4 0.467
47     #define ELE_LOOSE_IDMVA_CUT_BIN5 0.795
48    
49     #define ELE_TIGHT_IDMVA_CUT_BIN0 0.093
50     #define ELE_TIGHT_IDMVA_CUT_BIN1 0.451
51     #define ELE_TIGHT_IDMVA_CUT_BIN2 0.595
52     #define ELE_TIGHT_IDMVA_CUT_BIN3 0.881
53     #define ELE_TIGHT_IDMVA_CUT_BIN4 0.731
54     #define ELE_TIGHT_IDMVA_CUT_BIN5 0.891
55    
56 khahn 1.1 using namespace std;
57 khahn 1.2
58 anlevin 1.10 bool electron2012CutBasedIDMedium(const mithep::Electron *ele, const mithep::Vertex * vtx, const mithep::Array<mithep::PFCandidate> * fPFCandidates, const mithep::DecayParticleCol *conversions, const mithep::Array<mithep::PileupEnergyDensity> * puEnergyDensity);
59 anlevin 1.8
60 anlevin 1.5 SelectionStatus electronDummyVeto(ControlFlags &, const mithep::Electron*, const mithep::Vertex *);
61     SelectionStatus electronCutBasedVeto(ControlFlags &, const mithep::Electron*, const mithep::Vertex *);
62 khahn 1.1
63 anlevin 1.5 SelectionStatus electronPreSelection(ControlFlags &, const mithep::Electron *, const mithep::Vertex *);
64     SelectionStatus electronReferencePreSelection(ControlFlags &, const mithep::Electron *, const mithep::Vertex *);
65 khahn 1.7 SelectionStatus electronPreSelectionNoD0DzIP(ControlFlags &ctrl,
66     const mithep::Electron *electron,
67     const mithep::Vertex * vtx);
68 khahn 1.1
69     SelectionStatus electronIDMVASelection(ControlFlags &ctrl,
70     const mithep::Electron *ele,
71 anlevin 1.5 const mithep::Vertex * vtx );
72 khahn 1.3 SelectionStatus electronReferenceIDMVASelection(ControlFlags &ctrl,
73     const mithep::Electron *ele,
74 anlevin 1.5 const mithep::Vertex * vtx );
75 khahn 1.6 SelectionStatus electronReferenceIDMVASelectionV1(ControlFlags &ctrl,
76     const mithep::Electron *ele,
77     const mithep::Vertex * vtx );
78 khahn 1.1 void initElectronIDMVA();
79 khahn 1.7 void initElectronIDMVAV1();
80 khahn 1.1
81     #endif
82