1 |
|
#ifndef MUON_SELECTION |
2 |
|
#define MUON_SELECTION |
3 |
|
|
4 |
< |
#include "TMuon.hh" |
4 |
> |
#include "Muon.h" |
5 |
> |
#include "Vertex.h" |
6 |
> |
#include "PFCandidate.h" |
7 |
> |
#include "PFCandidateCol.h" |
8 |
> |
#include "MuonCol.h" |
9 |
|
|
10 |
|
#include "SelectionStatus.h" |
11 |
|
#include "ParseArgs.h" |
12 |
+ |
#include "Track.h" |
13 |
|
|
14 |
< |
SelectionStatus muonPreSelection( ControlFlags &ctrl, const mithep::TMuon * mu ); |
15 |
< |
SelectionStatus passMuonSelectionZZ( ControlFlags &ctrl, const mithep::TMuon * mu ); |
11 |
< |
SelectionStatus passSoftMuonSelection( ControlFlags &ctrl, const mithep::TMuon * mu ); |
12 |
< |
SelectionStatus passMuonSelection( ControlFlags &ctrl, const mithep::TMuon * mu ); // kevin's WW selection |
13 |
< |
SelectionStatus passMuonSelectionBackDoor( ControlFlags &ctrl, const mithep::TMuon * mu ); // Z4l backdoor selection |
14 |
< |
SelectionStatus noPreSelection( ControlFlags &ctrl, const mithep::TMuon * mu ); // Z4l backdoor preselection |
15 |
< |
bool isMuFO( const mithep::TMuon * mu ); // hacked in from MuonDenominator.h |
14 |
> |
#include "MuonTools.h" |
15 |
> |
#include "MuonQuality.h" |
16 |
|
|
17 |
+ |
#include "PileupEnergyDensity.h" |
18 |
+ |
#include "Various.h" |
19 |
+ |
|
20 |
+ |
#define MUON_IDMVA_CUT_BIN0 -0.825 |
21 |
+ |
#define MUON_IDMVA_CUT_BIN1 -0.725 |
22 |
+ |
#define MUON_IDMVA_CUT_BIN2 -0.895 |
23 |
+ |
#define MUON_IDMVA_CUT_BIN3 -0.595 |
24 |
+ |
#define MUON_IDMVA_CUT_BIN4 -0.865 |
25 |
+ |
#define MUON_IDMVA_CUT_BIN5 -0.979 |
26 |
+ |
|
27 |
+ |
bool muon2012CutBasedIDTightVersionWithOldIsoThatWorksOn2011(ControlFlags &ctrl, const mithep::Muon *mu, const mithep::Vertex * vtx, const mithep::Array<mithep::PFCandidate> * pfCandidates, |
28 |
+ |
const mithep::Array<mithep::PileupEnergyDensity> * puEnergyDensity, mithep::MuonTools::EMuonEffectiveAreaTarget EffectiveAreaVersion); |
29 |
+ |
|
30 |
+ |
bool muonPOG2012CutBasedIDTight(const mithep::Muon *mu, const mithep::Vertex * vtx, const mithep::Array<mithep::PFCandidate> * pfCandidates, const mithep::Array<mithep::PileupEnergyDensity> * puEnergyDensity); |
31 |
+ |
|
32 |
+ |
SelectionStatus muonDummyVeto(ControlFlags &, const mithep::Muon *, const mithep::Vertex *); |
33 |
+ |
SelectionStatus muonCutBasedVeto(ControlFlags &, const mithep::Muon *, const mithep::Vertex *); |
34 |
+ |
|
35 |
+ |
SelectionStatus muonPreSelection( ControlFlags &ctrl, |
36 |
+ |
const mithep::Muon * mu, |
37 |
+ |
const mithep::Vertex * vtx, |
38 |
+ |
const mithep::Array<mithep::PFCandidate> * pfCandidates ); |
39 |
+ |
SelectionStatus muonReferencePreSelection( ControlFlags &ctrl, |
40 |
+ |
const mithep::Muon * mu, |
41 |
+ |
const mithep::Vertex * vtx, |
42 |
+ |
const mithep::Array<mithep::PFCandidate> * pfCandidates ); |
43 |
+ |
SelectionStatus muonPreSelectionNoD0DzIP( ControlFlags &ctrl, |
44 |
+ |
const mithep::Muon * mu, |
45 |
+ |
const mithep::Vertex * vtx, |
46 |
+ |
const mithep::Array<mithep::PFCandidate> * pfCandidates ); |
47 |
+ |
SelectionStatus muonPreSelectionNoIP( ControlFlags &ctrl, |
48 |
+ |
const mithep::Muon * mu, |
49 |
+ |
const mithep::Vertex * vtx, |
50 |
+ |
const mithep::Array<mithep::PFCandidate> * pfCandidates ); |
51 |
+ |
|
52 |
+ |
SelectionStatus muonIDMVASelection(ControlFlags &ctrl, |
53 |
+ |
const mithep::Muon *mu, |
54 |
+ |
const mithep::Vertex * vtx ); |
55 |
+ |
void initMuonIDMVA(void); |
56 |
+ |
|
57 |
+ |
SelectionStatus muonIDPFSelection(ControlFlags &, const mithep::Muon *, const mithep::Vertex *, |
58 |
+ |
const mithep::Array<mithep::PFCandidate> * ); |
59 |
+ |
|
60 |
+ |
bool trackToPFMuonSelection( const mithep::Track *track, const mithep::MuonCol * muoncol ); |
61 |
+ |
SelectionStatus PassWwMuonSel(const mithep::Muon *mu, const mithep::Vertex *vtx, |
62 |
+ |
const mithep::Array<mithep::PFCandidate> *pfArr |
63 |
+ |
); |
64 |
|
#endif |