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

Comparing UserCode/MitHzz4l/Selection/src/applySelection.cc (file contents):
Revision 1.16 by khahn, Wed May 9 14:57:20 2012 UTC vs.
Revision 1.18 by khahn, Thu May 10 03:01:17 2012 UTC

# Line 178 | Line 178 | int main(int argc, char** argv)
178    nt.makeAngleBranch(angles);
179    nt.makeKinematicsBranch(kinematics);
180    nt.makeInfoBranch(evtinfo);
181 <  FOTuple foTree( nt.getFile(), (const char*)"fo");
181 >
182 >  FOTuple foTree( nt.getFile(), (const char*)"FOtree");
183    foTree.makeFailedLeptonBranch(failingLeptons);
184    foTree.makeZLeptonBranch(passingLeptons);
185  
# Line 248 | Line 249 | int main(int argc, char** argv)
249    chain->SetBranchAddress(fMuonName,        &muonArr);
250    chain->SetBranchAddress(fPrimVtxName,     &vtxArr);
251    chain->SetBranchAddress(fPFCandidateName, &pfArr);
252 <  chain->SetBranchAddress(fPileupInfoName,  &puArr);
252 >  if( ctrl.mc ) chain->SetBranchAddress(fPileupInfoName,  &puArr);
253    chain->SetBranchAddress(fPileupEnergyDensityName, &puDArr);
254    chain->SetBranchAddress(fTrackName, &trkArr);
255    chain->SetBranchAddress(fTriggerMaskName, &trigMask);
# Line 281 | Line 282 | int main(int argc, char** argv)
282      {
283        chain->GetEntry(ientry);
284        if(!(ientry%1000)) cerr << "entry: " << ientry << endl;
284      if( ientry>100 )break;
285        setPV( ctrl, vtxArr, vtx);
286  
287  
# Line 306 | Line 306 | int main(int argc, char** argv)
306          //
307          // JSON
308          //
309 +        /*
310          RunLumiRangeMap::RunLumiPairType rl(info->RunNum(), info->LumiSec());      
311          if( !(rlrm.HasRunLumi(rl)) )  {
312            if( ctrl.debug ) cout << "\tfails JSON" << endl;
313            continue;
314          }
315 +        */
316          //
317          // trigger
318          //
# Line 367 | Line 369 | int main(int argc, char** argv)
369        //      cout << "bits: " << ret4l.status.selectionBits << endl;
370        
371        if( ret4l.status.pass() ) {
370        
372          fillAngles(ret4l,angles);
373          fillKinematics(ret4l,kinematics);
374          fillEventInfo(info,evtinfo);
# Line 400 | Line 401 | int main(int argc, char** argv)
401          //      if( pass > 3 ) break;
402  
403        } else if( ret4l.status.selectionBits.test(PASS_ZCANDIDATE) ) { // save for fakes ...
404 <        cout << "failingLeptons : " << failingLeptons.size() << endl;
405 <        for( int f=0; f<failingLeptons.size(); f++ ) {
406 <          SimpleLepton  l = failingLeptons[f];
407 <          cout << "f: " << f << "\t"
408 <               << "type: " << l.type << "\t"
409 <               << "pT: " << l.vec->Pt()
410 <               << endl;
404 >        if(ctrl.debug) {
405 >          cout << "failingLeptons : " << failingLeptons.size() << endl;
406 >          for( int f=0; f<failingLeptons.size(); f++ ) {
407 >            SimpleLepton  l = failingLeptons[f];
408 >            cout << "f: " << f << "\t"
409 >                 << "type: " << l.type << "\t"
410 >                 << "pT: " << l.vec.Pt()  << "\t"
411 >                 << "eta: " << l.vec.Eta()
412 >                 << endl;
413 >          }
414          }
411        /*
412        cout << "passingLeptons : " << passingLeptons.GetSize() << endl;
413        for( int f=0; f<passingLeptons.GetSize(); f++ ) {
414          cout << "f: " << f << "\t"
415               << "type: " << passingLeptons.At(f).type << "\t"
416               << "pT: " << passingLeptons.At(f).vec->Pt()
417               << endl;
418        }
419        */
420        cout << endl;
415          foTree.Fill();
416        }
417      }  
# Line 502 | Line 496 | void setEffiencyWeights(EventData & evtd
496    
497    for( int k=0; k<lepvec.size(); k++ ) {
498      if( abs(lepvec[k].type) == 13 ) {
499 <      mvec.push_back( std::pair<float,float> (fabs(lepvec[k].vec->Eta()), lepvec[k].vec->Pt()) );
500 <      wlegs.push_back( muonPerLegOfflineEfficiencyWeight( fabs(lepvec[k].vec->Eta()),
501 <                                                          lepvec[k].vec->Pt() ) );
499 >      mvec.push_back( std::pair<float,float> (fabs(lepvec[k].vec.Eta()), lepvec[k].vec.Pt()) );
500 >      wlegs.push_back( muonPerLegOfflineEfficiencyWeight( fabs(lepvec[k].vec.Eta()),
501 >                                                          lepvec[k].vec.Pt() ) );
502      } else {
503        
504        // now deal with medium vs loose
505        //              evec.push_back( std::pair<float,float> (fabs(lepvec[k].vec.Eta()), lepvec[k].vec.Pt()) );
506        
507 <      std::pair<float,float> tmppair(fabs(lepvec[k].vec->Eta()), lepvec[k].vec->Pt());
507 >      std::pair<float,float> tmppair(fabs(lepvec[k].vec.Eta()), lepvec[k].vec.Pt());
508        evec.push_back( std::pair<bool, std::pair<float,float> > (lepvec[k].isTight, tmppair) );
509        
510 <      //              wlegs.push_back( elePerLegOfflineEfficiencyWeight(  fabs(lepvec[k].vec->Eta()),
511 <      //                                                                 lepvec[k].vec->Pt() ) );
510 >      //              wlegs.push_back( elePerLegOfflineEfficiencyWeight(  fabs(lepvec[k].vec.Eta()),
511 >      //                                                                 lepvec[k].vec.Pt() ) );
512        
513 <      wlegs.push_back( elePerLegOfflineEfficiencyWeight(  fabs(lepvec[k].vec->Eta()),
514 <                                                          lepvec[k].vec->Pt(),
513 >      wlegs.push_back( elePerLegOfflineEfficiencyWeight(  fabs(lepvec[k].vec.Eta()),
514 >                                                          lepvec[k].vec.Pt(),
515                                                            lepvec[k].isTight ) );
516        
517      }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines