178 |
|
} |
179 |
|
if ( !muonfail ) { |
180 |
|
SimpleLepton tmplep; |
181 |
< |
tmplep.vec.SetPtEtaPhiM(mu->pt, |
181 |
> |
|
182 |
> |
float pt = mu->pt; |
183 |
> |
if( ctrl.do_escale_up ) pt*=(1.01); |
184 |
> |
if( ctrl.do_escale_down ) pt*=(0.99); |
185 |
> |
|
186 |
> |
tmplep.vec.SetPtEtaPhiM(pt, |
187 |
|
mu->eta, |
188 |
|
mu->phi, |
189 |
|
105.658369e-3); |
190 |
+ |
|
191 |
|
tmplep.type = 13; |
192 |
|
tmplep.index = i; |
193 |
|
tmplep.charge = mu->q; |
281 |
|
} |
282 |
|
if ( !FAIL && !isMuonOverlap ) { |
283 |
|
SimpleLepton tmplep; |
284 |
< |
tmplep.vec.SetPtEtaPhiM( ele->pt, |
284 |
> |
|
285 |
> |
float pt = ele->pt; |
286 |
> |
if( ctrl.do_escale_up ) pt*=(1.02); |
287 |
> |
if( ctrl.do_escale_down ) pt*=(0.98); |
288 |
> |
|
289 |
> |
tmplep.vec.SetPtEtaPhiM( pt, |
290 |
|
ele->eta, |
291 |
|
ele->phi, |
292 |
|
0.51099892e-3 ); |
589 |
|
|
590 |
|
if( abs(lepvec[i].type) == 13 ) { |
591 |
|
|
592 |
+ |
/* |
593 |
|
float reliso = lepvec[i].isoPF03/lepvec[i].vec.Pt(); |
594 |
|
if( lepvec[i].isEB && lepvec[i].vec.Pt() > 20 && reliso > PFISO_MU_LOOSE_EB_HIGHPT ) { //0.13 |
595 |
|
failiso = true; |
607 |
|
failiso = true; |
608 |
|
break; |
609 |
|
} |
610 |
+ |
*/ |
611 |
|
} |
612 |
|
} |
613 |
|
} else if ( ctrl.isoScheme == "pairwise" ) { |
758 |
|
|
759 |
|
vector< pair <double,double> > wlegs; // pair here is eff & err |
760 |
|
vector< pair <float,float> > mvec; // pair here is eta & pt |
761 |
< |
vector< pair <float,float> > evec; // pair here is eta & pt |
761 |
> |
// now deal with medium vs loose |
762 |
> |
// vector< pair <float,float> > evec; // pair here is eta & pt |
763 |
> |
vector< pair< bool, pair <float,float> > > evec; // pair here is eta & pt |
764 |
|
|
765 |
|
for( int k=0; k<lepvec.size(); k++ ) { |
766 |
|
if( !(lepvec[k].is4l) ) continue; |
769 |
|
wlegs.push_back( muonPerLegOfflineEfficiencyWeight( fabs(lepvec[k].vec.Eta()), |
770 |
|
lepvec[k].vec.Pt() ) ); |
771 |
|
} else { |
772 |
< |
evec.push_back( std::pair<float,float> (fabs(lepvec[k].vec.Eta()), lepvec[k].vec.Pt()) ); |
772 |
> |
|
773 |
> |
// now deal with medium vs loose |
774 |
> |
// evec.push_back( std::pair<float,float> (fabs(lepvec[k].vec.Eta()), lepvec[k].vec.Pt()) ); |
775 |
> |
|
776 |
> |
std::pair<float,float> tmppair(fabs(lepvec[k].vec.Eta()), lepvec[k].vec.Pt()); |
777 |
> |
evec.push_back( std::pair<bool, std::pair<float,float> > (lepvec[k].isTight, tmppair) ); |
778 |
> |
|
779 |
|
wlegs.push_back( elePerLegOfflineEfficiencyWeight( fabs(lepvec[k].vec.Eta()), |
780 |
|
lepvec[k].vec.Pt() ) ); |
760 |
– |
// wlegs.push_back( pair<double,double> (1.,0.) ); |
781 |
|
} |
782 |
|
} |
783 |
|
|
788 |
|
pair<double,double> onpair = getOnlineEfficiencyWeight( mvec, evec ); |
789 |
|
w_online = onpair.first; |
790 |
|
werr_online = onpair.second; |
791 |
+ |
|
792 |
|
} // if mc |
793 |
|
|
794 |
|
|