ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/Selection/src/Selection.cc
(Generate patch)

Comparing UserCode/MitHzz4l/Selection/src/Selection.cc (file contents):
Revision 1.6 by khahn, Thu Oct 13 14:20:55 2011 UTC vs.
Revision 1.10 by khahn, Fri Oct 14 12:07:20 2011 UTC

# Line 1 | Line 1
1   #include "Selection.h"
2   #include "PassHLT.h"
3 +
4 + #include "SiMVAElectronSelection.h"
5 +
6   #include "HZZCiCElectronSelection.h"
7   #include "HZZLikelihoodElectronSelection.h"
8   #include "HZZBDTElectronSelection.h"
# Line 122 | Line 125 | unsigned fails_HZZ4L_selection(ControlFl
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 );
# Line 151 | Line 155 | unsigned fails_HZZ4L_selection(ControlFl
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      }
# Line 163 | Line 168 | unsigned fails_HZZ4L_selection(ControlFl
168      }
169      unsigned  failsBDT=0;
170      if(ctrl.eleSele=="bdt") {
171 <      failsBDT = failsBDTSelection(ele,ctrl.kinematics,ctrl.eleSeleScheme);
171 >      failsBDT = failsBDTSelection(ctrl,ele);
172        FAIL = failsBDT;
173      }
174 +    unsigned  failsSi=0;
175 +    if(ctrl.eleSele=="si") {
176 +      failsSi = failsSiMVAElectronSelection(ctrl, ele, 0.95, ctrl.kinematics);
177 +      FAIL = failsSi;
178 +    }
179 +
180 +
181 +
182  
183      if( ctrl.debug ){
184        cout << "CIC category: " << cicCategory(ele)
# Line 191 | Line 204 | unsigned fails_HZZ4L_selection(ControlFl
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;
# Line 420 | Line 434 | unsigned fails_HZZ4L_selection(ControlFl
434          //***************************************************************
435          bool failiso=false;
436  
437 <        /*
424 <        int i,j;
425 <        i=Z1LeptonPlusIndex;
426 <        j=Z1LeptonMinusIndex;
427 <        float RIso1 = (lepvec[i].isoTrk+lepvec[i].isoEcal+lepvec[i].isoHcal)/lepvec[i].vec.Pt();
428 <        float RIso2 = (lepvec[j].isoTrk+lepvec[j].isoEcal+lepvec[j].isoHcal)/lepvec[j].vec.Pt();
429 <        float comboIso12 = RIso1 + RIso2;
430 <        i=Z2LeptonPlusIndex;
431 <        j=Z2LeptonMinusIndex;
432 <        float RIso3 = (lepvec[i].isoTrk+lepvec[i].isoEcal+lepvec[i].isoHcal)/lepvec[i].vec.Pt();
433 <        float RIso4 = (lepvec[j].isoTrk+lepvec[j].isoEcal+lepvec[j].isoHcal)/lepvec[j].vec.Pt();
434 <        float comboIso34 = RIso3 + RIso4;
435 <        if( comboIso12 > 0.35 || comboIso34 > 0.35 ) {
436 <              failiso = true;
437 <        }
438 <        */
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 ) {
# Line 515 | Line 543 | unsigned fails_HZZ4L_selection(ControlFl
543                  //            break;
544                }
545              }
546 +          }
547          }
548 +
549 +
550          if( failiso ) {
551            evtfail |= ( 1<<EVTFAIL_ISOLATION );
552            return evtfail;
# Line 580 | Line 611 | unsigned fails_HZZ4L_selection(ControlFl
611            unsigned evt   = info->evtNum;
612            unsigned lumi  = info->lumiSec;
613            unsigned chan  = channel;
614 +          double   w     = eventweight;
615            float mZ1      = Z1Candidate.M() ;
616            float mZ2      = Z2Candidate.M() ;
617            float m4l      = ZZSystem.M() ;
# Line 591 | Line 623 | unsigned fails_HZZ4L_selection(ControlFl
623            passtuple->SetBranchAddress("mZ2",  &mZ2);
624            passtuple->SetBranchAddress("m4l",  &m4l);
625            passtuple->SetBranchAddress("pt4l", &pt4l);
626 <          passtuple->SetBranchAddress("w",    &eventweight);
626 >          passtuple->SetBranchAddress("w",    &w);
627            passtuple->Fill( );
628          }
629  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines