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 |
|
|
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); |
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 |
|
|
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 |
|
// |
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); |
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 |
|
} |
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 |
|
} |