20 |
|
|
21 |
|
#include "ParseArgs.h" |
22 |
|
#include "SelectionStatus.h" |
23 |
+ |
#include "Various.h" |
24 |
|
|
25 |
+ |
#include "ElectronTools.h" |
26 |
+ |
#include "PileupEnergyDensity.h" |
27 |
|
#include "PFCandidate.h" |
28 |
< |
|
26 |
< |
#include "MitPhysics/Utils/interface/ElectronTools.h" |
27 |
< |
|
28 |
< |
|
28 |
> |
#include "IsolationSelection.h" |
29 |
|
|
30 |
|
#define ELE_IDMVA_CUT_BIN0 0.369 |
31 |
|
#define ELE_IDMVA_CUT_BIN1 -0.025 |
57 |
|
|
58 |
|
using namespace std; |
59 |
|
|
60 |
< |
bool electron2012CutBasedIDMedium(const mithep::Electron *ele, const mithep::Vertex * vtx, const mithep::Array<mithep::PFCandidate> * fPFCandidates, const mithep::DecayParticleCol *conversions); |
60 |
> |
bool electron2012CutBasedIDMediumVersionThatWorksOn2011(ControlFlags &ctrl, const mithep::Electron *ele, const mithep::Vertex * vtx, const mithep::Array<mithep::PFCandidate> * fPFCandidates, |
61 |
> |
const mithep::DecayParticleCol *conversions, const mithep::Array<mithep::PileupEnergyDensity> * puEnergyDensity, |
62 |
> |
mithep::ElectronTools::EElectronEffectiveAreaTarget EffectiveAreaVersion); |
63 |
> |
|
64 |
> |
bool electronPOG2012CutBasedIDMedium(const mithep::Electron *ele, const mithep::Vertex * vtx, const mithep::Array<mithep::PFCandidate> * fPFCandidates, const mithep::DecayParticleCol *conversions, const mithep::Array<mithep::PileupEnergyDensity> * puEnergyDensity); |
65 |
|
|
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 ); |
74 |
< |
SelectionStatus electronReferenceIDMVASelection(ControlFlags &ctrl, |
75 |
< |
const mithep::Electron *ele, |
76 |
< |
const mithep::Vertex * vtx ); |
70 |
> |
SelectionStatus electronPreSelectionNoD0IP(ControlFlags &ctrl, |
71 |
> |
const mithep::Electron *electron, |
72 |
> |
const mithep::Vertex * vtx); |
73 |
> |
// get the mva value |
74 |
> |
double getElectronIDMVAval(ControlFlags &ctrl, |
75 |
> |
const mithep::Electron *ele, |
76 |
> |
const mithep::Vertex * vtx ); |
77 |
> |
// see if electron passes mva |
78 |
> |
SelectionStatus passElectronIDMVA(ControlFlags &ctrl, |
79 |
> |
double mvaVal, |
80 |
> |
const mithep::Electron *ele); |
81 |
> |
// do both of the above steps |
82 |
|
SelectionStatus electronReferenceIDMVASelectionV1(ControlFlags &ctrl, |
83 |
|
const mithep::Electron *ele, |
84 |
|
const mithep::Vertex * vtx ); |
80 |
– |
void initElectronIDMVA(); |
85 |
|
void initElectronIDMVAV1(); |
86 |
< |
|
86 |
> |
SelectionStatus electronTagSelection(const mithep::Electron *ele, |
87 |
> |
const mithep::Vertex *vtx, |
88 |
> |
const mithep::Array<mithep::PFCandidate> *pfCandidates); |
89 |
|
#endif |
90 |
|
|