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