125 |
|
tmplep.isoTrk = mu->trkIso03; |
126 |
|
tmplep.isoEcal = mu->emIso03; |
127 |
|
tmplep.isoHcal = mu->hadIso03; |
128 |
+ |
tmplep.isoPF04 = mu->pfIso04; |
129 |
|
tmplep.ip3dSig = mu->ip3dSig; |
130 |
|
tmplep.is4l = false; |
131 |
|
tmplep.isEB = (fabs(mu->eta) < 1.479 ? 1 : 0 ); |
155 |
|
CICStruct ciccuts = getCiCCuts(ctrl.eleSeleScheme); |
156 |
|
unsigned failsCIC=0; |
157 |
|
if(ctrl.eleSele=="cic") { |
158 |
+ |
// cout << "calling cic with debug set to : " << ctrl.debug << endl; |
159 |
|
failsCIC = failsCicSelection(ctrl, ele, ciccuts, ctrl.kinematics); |
160 |
|
FAIL = failsCIC; |
161 |
|
} |
204 |
|
tmplep.isoTrk = ele->trkIso03; |
205 |
|
tmplep.isoEcal = ele->emIso03; |
206 |
|
tmplep.isoHcal = ele->hadIso03; |
207 |
+ |
tmplep.isoPF04 = ele->pfIso04; |
208 |
|
tmplep.ip3dSig = ele->ip3dSig; |
209 |
|
tmplep.is4l = false; |
210 |
|
tmplep.isEB = ele->isEB; |
434 |
|
//*************************************************************** |
435 |
|
bool failiso=false; |
436 |
|
|
437 |
< |
/* |
435 |
< |
int i,j; |
436 |
< |
i=Z1LeptonPlusIndex; |
437 |
< |
j=Z1LeptonMinusIndex; |
438 |
< |
float RIso1 = (lepvec[i].isoTrk+lepvec[i].isoEcal+lepvec[i].isoHcal)/lepvec[i].vec.Pt(); |
439 |
< |
float RIso2 = (lepvec[j].isoTrk+lepvec[j].isoEcal+lepvec[j].isoHcal)/lepvec[j].vec.Pt(); |
440 |
< |
float comboIso12 = RIso1 + RIso2; |
441 |
< |
i=Z2LeptonPlusIndex; |
442 |
< |
j=Z2LeptonMinusIndex; |
443 |
< |
float RIso3 = (lepvec[i].isoTrk+lepvec[i].isoEcal+lepvec[i].isoHcal)/lepvec[i].vec.Pt(); |
444 |
< |
float RIso4 = (lepvec[j].isoTrk+lepvec[j].isoEcal+lepvec[j].isoHcal)/lepvec[j].vec.Pt(); |
445 |
< |
float comboIso34 = RIso3 + RIso4; |
446 |
< |
if( comboIso12 > 0.35 || comboIso34 > 0.35 ) { |
447 |
< |
failiso = true; |
448 |
< |
} |
449 |
< |
*/ |
437 |
> |
if( ctrl.isoScheme == "pf" ) { |
438 |
|
|
439 |
< |
float rho = info->rho; |
440 |
< |
for( int i=0; i<lepvec.size(); i++ ) { |
441 |
< |
if( !(lepvec[i].is4l) ) continue; |
439 |
> |
for( int i=0; i<lepvec.size(); i++ ) { |
440 |
> |
if( !(lepvec[i].is4l) ) continue; |
441 |
> |
if( abs(lepvec[i].type) == 11 ) { |
442 |
> |
if( (lepvec[i].isEB && lepvec[i].isoPF04 >0.13) || |
443 |
> |
(!(lepvec[i].isEB) && lepvec[i].isoPF04 >0.09) ) { |
444 |
> |
failiso = true; |
445 |
> |
break; |
446 |
> |
} |
447 |
> |
} |
448 |
> |
if( abs(lepvec[i].type) == 13 ) { |
449 |
> |
if( lepvec[i].isEB && lepvec[i].vec.Pt() > 20 && lepvec[i].isoPF04 > 0.13 ) { |
450 |
> |
failiso = true; |
451 |
> |
break; |
452 |
> |
} |
453 |
> |
if( lepvec[i].isEB && lepvec[i].vec.Pt() < 20 && lepvec[i].isoPF04 > 0.06 ) { |
454 |
> |
failiso = true; |
455 |
> |
break; |
456 |
> |
} |
457 |
> |
if( !(lepvec[i].isEB) && lepvec[i].vec.Pt() > 20 && lepvec[i].isoPF04 > 0.09 ) { |
458 |
> |
failiso = true; |
459 |
> |
break; |
460 |
> |
} |
461 |
> |
if( !(lepvec[i].isEB) && lepvec[i].vec.Pt() < 20 && lepvec[i].isoPF04 > 0.05 ) { |
462 |
> |
failiso = true; |
463 |
> |
break; |
464 |
> |
} |
465 |
> |
} |
466 |
> |
} |
467 |
> |
} else if ( ctrl.isoScheme == "pairwise" ) { |
468 |
> |
float rho = info->rho; |
469 |
> |
for( int i=0; i<lepvec.size(); i++ ) { |
470 |
> |
if( !(lepvec[i].is4l) ) continue; |
471 |
|
float effArea_ecal_i, effArea_hcal_i; |
472 |
|
if( lepvec[i].isEB ) { |
473 |
|
if( lepvec[i].type == 11 ) { |
543 |
|
// break; |
544 |
|
} |
545 |
|
} |
546 |
+ |
} |
547 |
|
} |
548 |
+ |
|
549 |
+ |
|
550 |
|
if( failiso ) { |
551 |
|
evtfail |= ( 1<<EVTFAIL_ISOLATION ); |
552 |
|
return evtfail; |