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