43 bool isEB = ele.
isEB() ?
true :
false;
55 triggerWorkingPoint, isEB,
pt,
dEtaIn,
dPhiIn, sigmaIEtaIEta,
hoe, trackIso, ecalIso, hcalIso);
66 float fbrem = ele.
fbrem();
87 bool isEB = ele.
isEB() ?
true :
false;
101 if (!vtxs->empty()) {
143 const double &iso_ch,
144 const double &iso_em,
145 const double &iso_nh,
159 const float sigmaIEtaIEta,
167 const bool vtxFitConversion,
168 const unsigned int mHits,
200 const float sigmaIEtaIEta,
202 const float trackIso,
204 const float hcalIso) {
206 unsigned int idx = isEB ? 0 : 1;
209 float cut_dEtaIn[2] = {0.007, 0.009};
210 float cut_dPhiIn[2] = {0.15, 0.10};
211 float cut_sigmaIEtaIEta[2] = {0.01, 0.03};
212 float cut_hoe[2] = {0.12, 0.10};
213 float cut_trackIso[2] = {0.20, 0.20};
214 float cut_ecalIso[2] = {0.20, 0.20};
215 float cut_hcalIso[2] = {0.20, 0.20};
220 if (sigmaIEtaIEta > cut_sigmaIEtaIEta[
idx])
224 if (trackIso /
pt > cut_trackIso[
idx])
226 if (ecalIso /
pt > cut_ecalIso[
idx])
228 if (hcalIso /
pt > cut_hcalIso[
idx])
231 float cut_dEtaIn[2] = {0.004, 0.005};
232 float cut_dPhiIn[2] = {0.03, 0.02};
233 float cut_sigmaIEtaIEta[2] = {0.01, 0.03};
234 float cut_hoe[2] = {0.025, 0.025};
235 float cut_trackIso[2] = {0.10, 0.10};
236 float cut_ecalIso[2] = {0.10, 0.05};
237 float cut_hcalIso[2] = {0.05, 0.05};
242 if (sigmaIEtaIEta > cut_sigmaIEtaIEta[
idx])
246 if (trackIso /
pt > cut_trackIso[
idx])
248 if (ecalIso /
pt > cut_ecalIso[
idx])
250 if (hcalIso /
pt > cut_hcalIso[
idx])
253 std::cout <<
"[EgammaCutBasedEleId::PassTriggerCuts] Undefined working point" << std::endl;
262 else if (fabs(
eta) < 1.0 && eopin > 0.95)
273 const float sigmaIEtaIEta,
281 const bool vtxFitConversion,
282 const unsigned int mHits,
285 unsigned int mask = 0;
286 float cut_dEtaIn[2] = {999.9, 999.9};
287 float cut_dPhiIn[2] = {999.9, 999.9};
288 float cut_sigmaIEtaIEta[2] = {999.9, 999.9};
289 float cut_hoe[2] = {999.9, 999.9};
290 float cut_ooemoop[2] = {999.9, 999.9};
291 float cut_d0vtx[2] = {999.9, 999.9};
292 float cut_dzvtx[2] = {999.9, 999.9};
293 float cut_iso[2] = {999.9, 999.9};
294 bool cut_vtxFit[2] = {
false,
false};
295 unsigned int cut_mHits[2] = {999, 999};
298 cut_dEtaIn[0] = 0.007;
299 cut_dEtaIn[1] = 0.010;
300 cut_dPhiIn[0] = 0.800;
301 cut_dPhiIn[1] = 0.700;
302 cut_sigmaIEtaIEta[0] = 0.010;
303 cut_sigmaIEtaIEta[1] = 0.030;
306 cut_ooemoop[0] = 999.9;
307 cut_ooemoop[1] = 999.9;
308 cut_d0vtx[0] = 0.040;
309 cut_d0vtx[1] = 0.040;
310 cut_dzvtx[0] = 0.200;
311 cut_dzvtx[1] = 0.200;
312 cut_vtxFit[0] =
false;
313 cut_vtxFit[1] =
false;
319 cut_dEtaIn[0] = 0.007;
320 cut_dEtaIn[1] = 0.009;
321 cut_dPhiIn[0] = 0.150;
322 cut_dPhiIn[1] = 0.100;
323 cut_sigmaIEtaIEta[0] = 0.010;
324 cut_sigmaIEtaIEta[1] = 0.030;
327 cut_ooemoop[0] = 0.050;
328 cut_ooemoop[1] = 0.050;
329 cut_d0vtx[0] = 0.020;
330 cut_d0vtx[1] = 0.020;
331 cut_dzvtx[0] = 0.200;
332 cut_dzvtx[1] = 0.200;
333 cut_vtxFit[0] =
true;
334 cut_vtxFit[1] =
true;
345 cut_dEtaIn[0] = 0.004;
346 cut_dEtaIn[1] = 0.007;
347 cut_dPhiIn[0] = 0.060;
348 cut_dPhiIn[1] = 0.030;
349 cut_sigmaIEtaIEta[0] = 0.010;
350 cut_sigmaIEtaIEta[1] = 0.030;
353 cut_ooemoop[0] = 0.050;
354 cut_ooemoop[1] = 0.050;
355 cut_d0vtx[0] = 0.020;
356 cut_d0vtx[1] = 0.020;
357 cut_dzvtx[0] = 0.100;
358 cut_dzvtx[1] = 0.100;
359 cut_vtxFit[0] =
true;
360 cut_vtxFit[1] =
true;
371 cut_dEtaIn[0] = 0.004;
372 cut_dEtaIn[1] = 0.005;
373 cut_dPhiIn[0] = 0.030;
374 cut_dPhiIn[1] = 0.020;
375 cut_sigmaIEtaIEta[0] = 0.010;
376 cut_sigmaIEtaIEta[1] = 0.030;
379 cut_ooemoop[0] = 0.050;
380 cut_ooemoop[1] = 0.050;
381 cut_d0vtx[0] = 0.020;
382 cut_d0vtx[1] = 0.020;
383 cut_dzvtx[0] = 0.100;
384 cut_dzvtx[1] = 0.100;
385 cut_vtxFit[0] =
true;
386 cut_vtxFit[1] =
true;
397 std::cout <<
"[EgammaCutBasedEleId::TestWP] Undefined working point" << std::endl;
401 unsigned int idx = isEB ? 0 : 1;
410 double iso_n =
std::max(iso_nh + iso_em - rhoPrime * AEff, 0.0);
413 double iso = (iso_n + iso_ch) /
pt;
420 if (sigmaIEtaIEta < cut_sigmaIEtaIEta[
idx])
424 if (fabs(ooemoop) < cut_ooemoop[
idx])
426 if (fabs(d0vtx) < cut_d0vtx[
idx])
428 if (fabs(dzvtx) < cut_dzvtx[
idx])
430 if (!cut_vtxFit[
idx] || !vtxFitConversion)
432 if (mHits <= cut_mHits[
idx])
434 if (iso < cut_iso[
idx])
442 printf(
"detain(%i), ",
bool(mask &
DETAIN));
443 printf(
"dphiin(%i), ",
bool(mask &
DPHIIN));
445 printf(
"hoe(%i), ",
bool(mask &
HOE));
446 printf(
"ooemoop(%i), ",
bool(mask &
OOEMOOP));
447 printf(
"d0vtx(%i), ",
bool(mask &
D0VTX));
448 printf(
"dzvtx(%i), ",
bool(mask &
DZVTX));
449 printf(
"iso(%i), ",
bool(mask &
ISO));
450 printf(
"vtxfit(%i), ",
bool(mask &
VTXFIT));
451 printf(
"mhits(%i)\n",
bool(mask &
MHITS));