ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/LeptonSelection/interface/ElectronSelection.h
Revision: 1.17
Committed: Fri Jul 6 15:36:12 2012 UTC (12 years, 10 months ago) by dkralph
Content type: text/plain
Branch: MAIN
Changes since 1.16: +4 -5 lines
Log Message:
Reinstate version that works on 2011; removed unused fcn.

File Contents

# Content
1 #ifndef ELECTRON_SELECTION
2 #define ELECTRON_SELECTION
3
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 #include "Various.h"
24
25 #include "ElectronTools.h"
26 #include "PileupEnergyDensity.h"
27 #include "PFCandidate.h"
28
29 #define ELE_IDMVA_CUT_BIN0 0.369
30 #define ELE_IDMVA_CUT_BIN1 -0.025
31 #define ELE_IDMVA_CUT_BIN2 0.531
32 #define ELE_IDMVA_CUT_BIN3 0.735
33 #define ELE_IDMVA_CUT_BIN4 0.467
34 #define ELE_IDMVA_CUT_BIN5 0.795
35
36 #define ELE_REFERENCE_IDMVA_CUT_BIN0 0.470 // eta<0.8, pt<10
37 #define ELE_REFERENCE_IDMVA_CUT_BIN1 0.004 // 0.8<eta<1.479, pt<10
38 #define ELE_REFERENCE_IDMVA_CUT_BIN2 0.295 // eta>1.478, pt<10
39 #define ELE_REFERENCE_IDMVA_CUT_BIN3 0.500 // eta<0.8, pt>10
40 #define ELE_REFERENCE_IDMVA_CUT_BIN4 0.120 // 0.8<eta<1.479, pt>10
41 #define ELE_REFERENCE_IDMVA_CUT_BIN5 0.600 // eta>1.478, pt>10
42
43 #define ELE_LOOSE_IDMVA_CUT_BIN0 0.369
44 #define ELE_LOOSE_IDMVA_CUT_BIN1 -0.025
45 #define ELE_LOOSE_IDMVA_CUT_BIN2 0.531
46 #define ELE_LOOSE_IDMVA_CUT_BIN3 0.735
47 #define ELE_LOOSE_IDMVA_CUT_BIN4 0.467
48 #define ELE_LOOSE_IDMVA_CUT_BIN5 0.795
49
50 #define ELE_TIGHT_IDMVA_CUT_BIN0 0.093
51 #define ELE_TIGHT_IDMVA_CUT_BIN1 0.451
52 #define ELE_TIGHT_IDMVA_CUT_BIN2 0.595
53 #define ELE_TIGHT_IDMVA_CUT_BIN3 0.881
54 #define ELE_TIGHT_IDMVA_CUT_BIN4 0.731
55 #define ELE_TIGHT_IDMVA_CUT_BIN5 0.891
56
57 using namespace std;
58
59 bool electron2012CutBasedIDMediumVersionThatWorksOn2011(ControlFlags &ctrl, const mithep::Electron *ele, const mithep::Vertex * vtx, const mithep::Array<mithep::PFCandidate> * fPFCandidates,
60 const mithep::DecayParticleCol *conversions, const mithep::Array<mithep::PileupEnergyDensity> * puEnergyDensity,
61 mithep::ElectronTools::EElectronEffectiveAreaTarget EffectiveAreaVersion);
62
63 bool electronPOG2012CutBasedIDMedium(const mithep::Electron *ele, const mithep::Vertex * vtx, const mithep::Array<mithep::PFCandidate> * fPFCandidates, const mithep::DecayParticleCol *conversions, const mithep::Array<mithep::PileupEnergyDensity> * puEnergyDensity);
64
65 SelectionStatus electronDummyVeto(ControlFlags &, const mithep::Electron*, const mithep::Vertex *);
66 SelectionStatus electronCutBasedVeto(ControlFlags &, const mithep::Electron*, const mithep::Vertex *);
67
68 SelectionStatus electronPreSelection(ControlFlags &, const mithep::Electron *, const mithep::Vertex *);
69 SelectionStatus electronReferencePreSelection(ControlFlags &, const mithep::Electron *, const mithep::Vertex *);
70 SelectionStatus electronPreSelectionNoD0DzIP(ControlFlags &ctrl,
71 const mithep::Electron *electron,
72 const mithep::Vertex * vtx);
73
74 SelectionStatus electronIDMVASelection(ControlFlags &ctrl,
75 const mithep::Electron *ele,
76 const mithep::Vertex * vtx );
77 SelectionStatus electronReferenceIDMVASelection(ControlFlags &ctrl,
78 const mithep::Electron *ele,
79 const mithep::Vertex * vtx );
80 SelectionStatus electronReferenceIDMVASelectionV1(ControlFlags &ctrl,
81 const mithep::Electron *ele,
82 const mithep::Vertex * vtx );
83 void initElectronIDMVA();
84 void initElectronIDMVAV1();
85 SelectionStatus electronTagSelection(const mithep::Electron *ele,
86 const mithep::Vertex *vtx,
87 const mithep::Array<mithep::PFCandidate> *pfCandidates);
88 #endif
89