ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/LeptonSelection/interface/IsolationSelection.h
(Generate patch)

Comparing UserCode/MitHzz4l/LeptonSelection/interface/IsolationSelection.h (file contents):
Revision 1.3 by anlevin, Wed Feb 29 10:08:00 2012 UTC vs.
Revision 1.10 by khahn, Mon May 14 17:27:29 2012 UTC

# Line 1 | Line 1
1 < #include "TElectron.hh"
2 < #include "TMuon.hh"
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 < SelectionStatus failEleIso(ControlFlags &, const mithep::TElectron *  );
16 < SelectionStatus passMuonIsoSelection( ControlFlags &, const mithep::TMuon *  );
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 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 > #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 >
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   bool pairwiseIsoSelection( ControlFlags &, vector<SimpleLepton> &, float rho );
73   bool noIso(ControlFlags &, vector<SimpleLepton> &, float rho);
74 +
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 + //hacked version
85 + SelectionStatus muonIsoMVASelection(ControlFlags &ctrl,
86 +                                    const mithep::Muon * mu,
87 +                                    const mithep::Vertex & vtx,
88 +                                    const mithep::Array<mithep::PFCandidate> * fPFCandidates,
89 +                                    float rho,
90 +                                    mithep::MuonTools::EMuonEffectiveAreaTarget EffectiveAreaVersion,
91 +                                    vector<const mithep::Muon*> muonsToVeto,
92 +                                    vector<const mithep::Electron*> electronsToVeto);
93 + double muonPFIso04(ControlFlags &ctrl,
94 +                   const mithep::Muon * mu,
95 +                   const mithep::Vertex & vtx,
96 +                   const mithep::Array<mithep::PFCandidate> * fPFCandidates,
97 +                   const mithep::Array<mithep::PileupEnergyDensity> * fPUEnergyDensity,
98 +                   mithep::MuonTools::EMuonEffectiveAreaTarget EffectiveAreaVersion,
99 +                   vector<const mithep::Muon*> muonsToVeto,
100 +                   vector<const mithep::Electron*> electronsToVeto);
101 + // hacked version
102 + double muonPFIso04(ControlFlags &ctrl,
103 +                   const mithep::Muon * mu,
104 +                   const mithep::Vertex & vtx,
105 +                   const mithep::Array<mithep::PFCandidate> * fPFCandidates,
106 +                   float rho,  // the hack
107 +                   mithep::MuonTools::EMuonEffectiveAreaTarget EffectiveAreaVersion,
108 +                   vector<const mithep::Muon*> muonsToVeto,
109 +                   vector<const mithep::Electron*> electronsToVeto);
110 + //
111 + SelectionStatus muonReferenceIsoSelection(ControlFlags &ctrl,
112 +                                          const mithep::Muon * mu,
113 +                                          const mithep::Vertex & vtx,
114 +                                          const mithep::Array<mithep::PFCandidate> * fPFCandidates,
115 +                                          const mithep::Array<mithep::PileupEnergyDensity> * fPUEnergyDensity,
116 +                                          mithep::MuonTools::EMuonEffectiveAreaTarget EffectiveAreaVersion,
117 +                                          vector<const mithep::Muon*> muonsToVeto,
118 +                                          vector<const mithep::Electron*> electronsToVeto);
119 + // hacked version
120 + SelectionStatus muonReferenceIsoSelection(ControlFlags &ctrl,
121 +                                          const mithep::Muon * mu,
122 +                                          const mithep::Vertex & vtx,
123 +                                          const mithep::Array<mithep::PFCandidate> * fPFCandidates,
124 +                                          float,
125 +                                          mithep::MuonTools::EMuonEffectiveAreaTarget EffectiveAreaVersion,
126 +                                          vector<const mithep::Muon*> muonsToVeto,
127 +                                          vector<const mithep::Electron*> electronsToVeto);
128 +
129 + void initElectronIsoMVA();
130 + SelectionStatus electronIsoMVASelection(ControlFlags &ctrl,
131 +                                    const mithep::Electron * ele,
132 +                                    const mithep::Vertex & vtx,
133 +                                    const mithep::Array<mithep::PFCandidate> * fPFCandidates,
134 +                                    const mithep::Array<mithep::PileupEnergyDensity> * fPUEnergyDensity,
135 +                                    mithep::ElectronTools::EElectronEffectiveAreaTarget EffectiveAreaVersion,
136 +                                    vector<const mithep::Muon*> muonsToVeto,
137 +                                    vector<const mithep::Electron*> electronsToVeto);
138 + //hacked version
139 + SelectionStatus electronIsoMVASelection(ControlFlags &ctrl,
140 +                                    const mithep::Electron * ele,
141 +                                    const mithep::Vertex & vtx,
142 +                                    const mithep::Array<mithep::PFCandidate> * fPFCandidates,
143 +                                        float rho,
144 +                                    mithep::ElectronTools::EElectronEffectiveAreaTarget EffectiveAreaVersion,
145 +                                    vector<const mithep::Muon*> muonsToVeto,
146 +                                    vector<const mithep::Electron*> electronsToVeto);
147 + float electronPFIso04(ControlFlags &ctrl,
148 +                      const mithep::Electron * ele,
149 +                      const mithep::Vertex & vtx,
150 +                      const mithep::Array<mithep::PFCandidate> * fPFCandidates,
151 +                      const mithep::Array<mithep::PileupEnergyDensity> * fPUEnergyDensity,
152 +                      mithep::ElectronTools::EElectronEffectiveAreaTarget EffectiveAreaVersion,
153 +                      vector<const mithep::Muon*> muonsToVeto,
154 +                      vector<const mithep::Electron*> electronsToVeto) ;
155 + // hacked version
156 + float electronPFIso04(ControlFlags &ctrl,
157 +                      const mithep::Electron * ele,
158 +                      const mithep::Vertex & vtx,
159 +                      const mithep::Array<mithep::PFCandidate> * fPFCandidates,
160 +                      float rho, // the hack
161 +                      mithep::ElectronTools::EElectronEffectiveAreaTarget EffectiveAreaVersion,
162 +                      vector<const mithep::Muon*> muonsToVeto,
163 +                      vector<const mithep::Electron*> electronsToVeto) ;
164 + //
165 + SelectionStatus electronReferenceIsoSelection(ControlFlags &ctrl,
166 +                                              const mithep::Electron * ele,
167 +                                              const mithep::Vertex & vtx,
168 +                                              const mithep::Array<mithep::PFCandidate> * fPFCandidates,
169 +                                              const mithep::Array<mithep::PileupEnergyDensity> * fPUEnergyDensity,
170 +                                              mithep::ElectronTools::EElectronEffectiveAreaTarget EffectiveAreaVersion,
171 +                                              vector<const mithep::Muon*> muonsToVeto,
172 +                                              vector<const mithep::Electron*> electronsToVeto);
173 + // hacked version
174 + SelectionStatus electronReferenceIsoSelection(ControlFlags &ctrl,
175 +                                              const mithep::Electron * ele,
176 +                                              const mithep::Vertex & vtx,
177 +                                              const mithep::Array<mithep::PFCandidate> * fPFCandidates,
178 +                                              float,
179 +                                              mithep::ElectronTools::EElectronEffectiveAreaTarget EffectiveAreaVersion,
180 +                                              vector<const mithep::Muon*> muonsToVeto,
181 +                                              vector<const mithep::Electron*> electronsToVeto);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines