1 |
#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 |
|
11 |
#include "ParseArgs.h"
|
12 |
#include "SelectionStatus.h"
|
13 |
#include "SimpleLepton.h"
|
14 |
|
15 |
#define MUON_ISOMVA_CUT_BIN0 -0.615
|
16 |
#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 |
|
22 |
#define ELECTRON_ISOMVA_CUT_BIN0 0.385
|
23 |
#define ELECTRON_ISOMVA_CUT_BIN1 -0.083
|
24 |
#define ELECTRON_ISOMVA_CUT_BIN2 -0.573
|
25 |
#define ELECTRON_ISOMVA_CUT_BIN3 0.413
|
26 |
#define ELECTRON_ISOMVA_CUT_BIN4 0.271
|
27 |
#define ELECTRON_ISOMVA_CUT_BIN5 0.135
|
28 |
|
29 |
Float_t computePFMuonIso(const mithep::Muon *muon,
|
30 |
const mithep::Vertex & vtx,
|
31 |
const mithep::Array<mithep::PFCandidate> * fPFCandidates,
|
32 |
const Double_t dRMax);
|
33 |
|
34 |
Float_t computePFEleIso(const mithep::Electron *electron,
|
35 |
const mithep::Vertex & fVertex,
|
36 |
const mithep::Array<mithep::PFCandidate> * fPFCandidates,
|
37 |
const Double_t dRMax);
|
38 |
|
39 |
SelectionStatus electronIsoSelection(ControlFlags &, const mithep::Electron *, const mithep::Vertex &, const mithep::Array<mithep::PFCandidate> * fPFCandidateCol );
|
40 |
SelectionStatus muonIsoSelection(ControlFlags &, const mithep::Muon *, const mithep::Vertex &, const mithep::Array<mithep::PFCandidate> * fPFCandidateCol );
|
41 |
bool pairwiseIsoSelection( ControlFlags &, vector<SimpleLepton> &, float rho );
|
42 |
bool noIso(ControlFlags &, vector<SimpleLepton> &, float rho);
|
43 |
|
44 |
void initMuonIsoMVA();
|
45 |
SelectionStatus muonIsoMVASelection(ControlFlags &ctrl,
|
46 |
const mithep::Muon * mu,
|
47 |
const mithep::Vertex & vtx,
|
48 |
const mithep::Array<mithep::PFCandidate> * fPFCandidates,
|
49 |
const mithep::Array<mithep::PileupEnergyDensity> * fPUEnergyDensity,
|
50 |
mithep::MuonTools::EMuonEffectiveAreaTarget EffectiveAreaVersion,
|
51 |
vector<const mithep::Muon*> muonsToVeto,
|
52 |
vector<const mithep::Electron*> electronsToVeto);
|
53 |
|
54 |
void initElectronIsoMVA();
|
55 |
SelectionStatus electronIsoMVASelection(ControlFlags &ctrl,
|
56 |
const mithep::Electron * ele,
|
57 |
const mithep::Vertex & vtx,
|
58 |
const mithep::Array<mithep::PFCandidate> * fPFCandidates,
|
59 |
const mithep::Array<mithep::PileupEnergyDensity> * fPUEnergyDensity,
|
60 |
mithep::ElectronTools::EElectronEffectiveAreaTarget EffectiveAreaVersion,
|
61 |
vector<const mithep::Muon*> muonsToVeto,
|
62 |
vector<const mithep::Electron*> electronsToVeto);
|
63 |
|