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 |
|
16 |
|
|
|
17 |
|
|
#define MUON_ISOMVA_CUT_BIN0 -0.615
|
18 |
|
|
#define MUON_ISOMVA_CUT_BIN1 0.215
|
19 |
|
|
#define MUON_ISOMVA_CUT_BIN2 -0.845
|
20 |
|
|
#define MUON_ISOMVA_CUT_BIN3 0.075
|
21 |
|
|
#define MUON_ISOMVA_CUT_BIN4 -0.999575
|
22 |
|
|
#define MUON_ISOMVA_CUT_BIN5 -0.997775
|
23 |
|
|
|
24 |
|
|
#define ELECTRON_ISOMVA_CUT_BIN0 0.385
|
25 |
|
|
#define ELECTRON_ISOMVA_CUT_BIN1 -0.083
|
26 |
|
|
#define ELECTRON_ISOMVA_CUT_BIN2 -0.573
|
27 |
|
|
#define ELECTRON_ISOMVA_CUT_BIN3 0.413
|
28 |
|
|
#define ELECTRON_ISOMVA_CUT_BIN4 0.271
|
29 |
|
|
#define ELECTRON_ISOMVA_CUT_BIN5 0.135
|
30 |
|
|
|
31 |
|
|
Float_t computePFMuonIso(const mithep::Muon *muon,
|
32 |
|
|
const mithep::Vertex & vtx,
|
33 |
|
|
const mithep::Array<mithep::PFCandidate> * fPFCandidates,
|
34 |
|
|
const Double_t dRMax);
|
35 |
|
|
|
36 |
|
|
Float_t computePFEleIso(const mithep::Electron *electron,
|
37 |
|
|
const mithep::Vertex & fVertex,
|
38 |
|
|
const mithep::Array<mithep::PFCandidate> * fPFCandidates,
|
39 |
|
|
const Double_t dRMax);
|
40 |
|
|
|
41 |
|
|
SelectionStatus electronIsoSelection(ControlFlags &, const mithep::Electron *, const mithep::Vertex &, const mithep::Array<mithep::PFCandidate> * fPFCandidateCol );
|
42 |
|
|
SelectionStatus muonIsoSelection(ControlFlags &, const mithep::Muon *, const mithep::Vertex &, const mithep::Array<mithep::PFCandidate> * fPFCandidateCol );
|
43 |
khahn |
1.2 |
bool pairwiseIsoSelection( ControlFlags &, vector<SimpleLepton> &, float rho );
|
44 |
anlevin |
1.3 |
bool noIso(ControlFlags &, vector<SimpleLepton> &, float rho);
|
45 |
khahn |
1.4 |
|
46 |
|
|
void initMuonIsoMVA();
|
47 |
|
|
SelectionStatus muonIsoMVASelection(ControlFlags &ctrl,
|
48 |
|
|
const mithep::Muon * mu,
|
49 |
|
|
const mithep::Vertex & vtx,
|
50 |
|
|
const mithep::Array<mithep::PFCandidate> * fPFCandidates,
|
51 |
|
|
const mithep::Array<mithep::PileupEnergyDensity> * fPUEnergyDensity,
|
52 |
|
|
mithep::MuonTools::EMuonEffectiveAreaTarget EffectiveAreaVersion,
|
53 |
|
|
vector<const mithep::Muon*> muonsToVeto,
|
54 |
|
|
vector<const mithep::Electron*> electronsToVeto);
|
55 |
|
|
|
56 |
|
|
void initElectronIsoMVA();
|
57 |
|
|
SelectionStatus electronIsoMVASelection(ControlFlags &ctrl,
|
58 |
|
|
const mithep::Electron * ele,
|
59 |
|
|
const mithep::Vertex & vtx,
|
60 |
|
|
const mithep::Array<mithep::PFCandidate> * fPFCandidates,
|
61 |
|
|
const mithep::Array<mithep::PileupEnergyDensity> * fPUEnergyDensity,
|
62 |
|
|
mithep::ElectronTools::EElectronEffectiveAreaTarget EffectiveAreaVersion,
|
63 |
|
|
vector<const mithep::Muon*> muonsToVeto,
|
64 |
|
|
vector<const mithep::Electron*> electronsToVeto);
|
65 |
|
|
|