1 |
khahn |
1.4 |
#include "Electron.h"
|
2 |
|
|
#include "Muon.h"
|
3 |
|
|
#include "Vertex.h"
|
4 |
|
|
#include "PFCandidate.h"
|
5 |
|
|
#include "PFCandidateCol.h"
|
6 |
|
|
#include "PileupEnergyDensity.h"
|
7 |
|
|
|
8 |
|
|
#include "MuonTools.h"
|
9 |
|
|
#include "ElectronTools.h"
|
10 |
khahn |
1.1 |
|
11 |
|
|
#include "ParseArgs.h"
|
12 |
|
|
#include "SelectionStatus.h"
|
13 |
khahn |
1.2 |
#include "SimpleLepton.h"
|
14 |
khahn |
1.1 |
|
15 |
khahn |
1.4 |
#define MUON_ISOMVA_CUT_BIN0 -0.615
|
16 |
khahn |
1.5 |
#define MUON_ISOMVA_CUT_BIN1 0.235
|
17 |
|
|
#define MUON_ISOMVA_CUT_BIN2 -0.825
|
18 |
|
|
#define MUON_ISOMVA_CUT_BIN3 0.155
|
19 |
|
|
#define MUON_ISOMVA_CUT_BIN4 -0.965
|
20 |
|
|
#define MUON_ISOMVA_CUT_BIN5 -0.989
|
21 |
khahn |
1.4 |
|
22 |
khahn |
1.6 |
#define MUON_ISOMVA_FORPFID_CUT_BIN0 -0.5934
|
23 |
|
|
#define MUON_ISOMVA_FORPFID_CUT_BIN1 0.3374
|
24 |
|
|
#define MUON_ISOMVA_FORPFID_CUT_BIN2 -0.7666
|
25 |
|
|
#define MUON_ISOMVA_FORPFID_CUT_BIN3 0.4102
|
26 |
|
|
#define MUON_ISOMVA_FORPFID_CUT_BIN4 -0.989
|
27 |
|
|
#define MUON_ISOMVA_FORPFID_CUT_BIN5 -0.9946
|
28 |
|
|
|
29 |
khahn |
1.7 |
#define MUON_ISOMVA_LOOSE_FORPFID_CUT_BIN0 -0.5934
|
30 |
|
|
#define MUON_ISOMVA_LOOSE_FORPFID_CUT_BIN1 0.3374
|
31 |
|
|
#define MUON_ISOMVA_LOOSE_FORPFID_CUT_BIN2 -0.7666
|
32 |
|
|
#define MUON_ISOMVA_LOOSE_FORPFID_CUT_BIN3 0.4102
|
33 |
|
|
#define MUON_ISOMVA_LOOSE_FORPFID_CUT_BIN4 -0.989
|
34 |
|
|
#define MUON_ISOMVA_LOOSE_FORPFID_CUT_BIN5 -0.9946
|
35 |
|
|
|
36 |
|
|
#define MUON_ISOMVA_TIGHT_FORPFID_CUT_BIN0 -0.5934
|
37 |
|
|
#define MUON_ISOMVA_TIGHT_FORPFID_CUT_BIN1 0.3374
|
38 |
|
|
#define MUON_ISOMVA_TIGHT_FORPFID_CUT_BIN2 -0.7666
|
39 |
|
|
#define MUON_ISOMVA_TIGHT_FORPFID_CUT_BIN3 0.4102
|
40 |
|
|
#define MUON_ISOMVA_TIGHT_FORPFID_CUT_BIN4 -0.989
|
41 |
|
|
#define MUON_ISOMVA_TIGHT_FORPFID_CUT_BIN5 -0.9946
|
42 |
|
|
|
43 |
|
|
#define ELECTRON_LOOSE_ISOMVA_CUT_BIN0 0.385
|
44 |
|
|
#define ELECTRON_LOOSE_ISOMVA_CUT_BIN1 -0.083
|
45 |
|
|
#define ELECTRON_LOOSE_ISOMVA_CUT_BIN2 -0.573
|
46 |
|
|
#define ELECTRON_LOOSE_ISOMVA_CUT_BIN3 0.413
|
47 |
|
|
#define ELECTRON_LOOSE_ISOMVA_CUT_BIN4 0.271
|
48 |
|
|
#define ELECTRON_LOOSE_ISOMVA_CUT_BIN5 0.135
|
49 |
|
|
|
50 |
|
|
#define ELECTRON_TIGHT_ISOMVA_CUT_BIN0 0.533
|
51 |
|
|
#define ELECTRON_TIGHT_ISOMVA_CUT_BIN1 -0.237
|
52 |
|
|
#define ELECTRON_TIGHT_ISOMVA_CUT_BIN2 -0.573
|
53 |
|
|
#define ELECTRON_TIGHT_ISOMVA_CUT_BIN3 0.521
|
54 |
|
|
#define ELECTRON_TIGHT_ISOMVA_CUT_BIN4 0.531
|
55 |
|
|
#define ELECTRON_TIGHT_ISOMVA_CUT_BIN5 0.493
|
56 |
|
|
|
57 |
|
|
#define ELECTRON_REFERENCE_PFISO_CUT 0.25
|
58 |
|
|
#define MUON_REFERENCE_PFISO_CUT 0.25
|
59 |
khahn |
1.4 |
|
60 |
|
|
Float_t computePFMuonIso(const mithep::Muon *muon,
|
61 |
|
|
const mithep::Vertex & vtx,
|
62 |
|
|
const mithep::Array<mithep::PFCandidate> * fPFCandidates,
|
63 |
|
|
const Double_t dRMax);
|
64 |
|
|
|
65 |
|
|
Float_t computePFEleIso(const mithep::Electron *electron,
|
66 |
|
|
const mithep::Vertex & fVertex,
|
67 |
|
|
const mithep::Array<mithep::PFCandidate> * fPFCandidates,
|
68 |
|
|
const Double_t dRMax);
|
69 |
|
|
|
70 |
|
|
SelectionStatus electronIsoSelection(ControlFlags &, const mithep::Electron *, const mithep::Vertex &, const mithep::Array<mithep::PFCandidate> * fPFCandidateCol );
|
71 |
|
|
SelectionStatus muonIsoSelection(ControlFlags &, const mithep::Muon *, const mithep::Vertex &, const mithep::Array<mithep::PFCandidate> * fPFCandidateCol );
|
72 |
khahn |
1.2 |
bool pairwiseIsoSelection( ControlFlags &, vector<SimpleLepton> &, float rho );
|
73 |
anlevin |
1.3 |
bool noIso(ControlFlags &, vector<SimpleLepton> &, float rho);
|
74 |
khahn |
1.4 |
|
75 |
|
|
void initMuonIsoMVA();
|
76 |
|
|
SelectionStatus muonIsoMVASelection(ControlFlags &ctrl,
|
77 |
|
|
const mithep::Muon * mu,
|
78 |
|
|
const mithep::Vertex & vtx,
|
79 |
|
|
const mithep::Array<mithep::PFCandidate> * fPFCandidates,
|
80 |
|
|
const mithep::Array<mithep::PileupEnergyDensity> * fPUEnergyDensity,
|
81 |
|
|
mithep::MuonTools::EMuonEffectiveAreaTarget EffectiveAreaVersion,
|
82 |
|
|
vector<const mithep::Muon*> muonsToVeto,
|
83 |
|
|
vector<const mithep::Electron*> electronsToVeto);
|
84 |
khahn |
1.7 |
double muonPFIso04(ControlFlags &ctrl,
|
85 |
|
|
const mithep::Muon * mu,
|
86 |
|
|
const mithep::Vertex & vtx,
|
87 |
|
|
const mithep::Array<mithep::PFCandidate> * fPFCandidates,
|
88 |
|
|
const mithep::Array<mithep::PileupEnergyDensity> * fPUEnergyDensity,
|
89 |
|
|
mithep::MuonTools::EMuonEffectiveAreaTarget EffectiveAreaVersion,
|
90 |
|
|
vector<const mithep::Muon*> muonsToVeto,
|
91 |
|
|
vector<const mithep::Electron*> electronsToVeto);
|
92 |
khahn |
1.8 |
SelectionStatus muonReferenceIsoSelection(ControlFlags &ctrl,
|
93 |
khahn |
1.7 |
const mithep::Muon * mu,
|
94 |
|
|
const mithep::Vertex & vtx,
|
95 |
|
|
const mithep::Array<mithep::PFCandidate> * fPFCandidates,
|
96 |
|
|
const mithep::Array<mithep::PileupEnergyDensity> * fPUEnergyDensity,
|
97 |
|
|
mithep::MuonTools::EMuonEffectiveAreaTarget EffectiveAreaVersion,
|
98 |
|
|
vector<const mithep::Muon*> muonsToVeto,
|
99 |
|
|
vector<const mithep::Electron*> electronsToVeto);
|
100 |
khahn |
1.4 |
|
101 |
|
|
void initElectronIsoMVA();
|
102 |
|
|
SelectionStatus electronIsoMVASelection(ControlFlags &ctrl,
|
103 |
|
|
const mithep::Electron * ele,
|
104 |
|
|
const mithep::Vertex & vtx,
|
105 |
|
|
const mithep::Array<mithep::PFCandidate> * fPFCandidates,
|
106 |
|
|
const mithep::Array<mithep::PileupEnergyDensity> * fPUEnergyDensity,
|
107 |
|
|
mithep::ElectronTools::EElectronEffectiveAreaTarget EffectiveAreaVersion,
|
108 |
|
|
vector<const mithep::Muon*> muonsToVeto,
|
109 |
|
|
vector<const mithep::Electron*> electronsToVeto);
|
110 |
khahn |
1.7 |
float electronPFIso04(ControlFlags &ctrl,
|
111 |
|
|
const mithep::Electron * ele,
|
112 |
|
|
const mithep::Vertex & vtx,
|
113 |
|
|
const mithep::Array<mithep::PFCandidate> * fPFCandidates,
|
114 |
|
|
const mithep::Array<mithep::PileupEnergyDensity> * fPUEnergyDensity,
|
115 |
|
|
mithep::ElectronTools::EElectronEffectiveAreaTarget EffectiveAreaVersion,
|
116 |
|
|
vector<const mithep::Muon*> muonsToVeto,
|
117 |
|
|
vector<const mithep::Electron*> electronsToVeto) ;
|
118 |
khahn |
1.8 |
SelectionStatus electronReferenceIsoSelection(ControlFlags &ctrl,
|
119 |
khahn |
1.7 |
const mithep::Electron * ele,
|
120 |
|
|
const mithep::Vertex & vtx,
|
121 |
|
|
const mithep::Array<mithep::PFCandidate> * fPFCandidates,
|
122 |
|
|
const mithep::Array<mithep::PileupEnergyDensity> * fPUEnergyDensity,
|
123 |
|
|
mithep::ElectronTools::EElectronEffectiveAreaTarget EffectiveAreaVersion,
|
124 |
|
|
vector<const mithep::Muon*> muonsToVeto,
|
125 |
|
|
vector<const mithep::Electron*> electronsToVeto);
|