ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/LeptonSelection/interface/IsolationSelection.h
Revision: 1.8
Committed: Sat May 5 21:43:53 2012 UTC (13 years ago) by khahn
Content type: text/plain
Branch: MAIN
Changes since 1.7: +2 -2 lines
Log Message:
more sync ...

File Contents

# User Rev Content
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);