103 |
|
|
104 |
|
// JetCorrectionUncertainty *jecUnc=0; |
105 |
|
edm::ESHandle<JetCorrectorParametersCollection> JetCorParColl; |
106 |
< |
iSetup.get<JetCorrectionsRecord>().get("AK5PF",JetCorParColl); |
106 |
> |
iSetup.get<JetCorrectionsRecord>().get("AK5PFchs",JetCorParColl); |
107 |
|
JetCorrectionUncertainty *jecUnc=0; |
108 |
|
// if (!runOnMC_){ |
109 |
|
JetCorrectorParameters const & JetCorPar = (*JetCorParColl)["Uncertainty"]; |
171 |
|
|
172 |
|
auxInfo->pvInfo.firstPVInPT2 = TVector3(RecVtxFirst.x(), RecVtxFirst.y(), RecVtxFirst.z()); |
173 |
|
auxInfo->pvInfo.firstPVInProb = TVector3(RecVtx.x(), RecVtx.y(), RecVtx.z()); |
174 |
< |
|
174 |
> |
|
175 |
> |
(auxInfo->pvInfo).efirstPVInPT2 = (RecVtxFirst.error()); |
176 |
> |
(auxInfo->pvInfo).efirstPVInProb = RecVtx.error(); |
177 |
|
|
178 |
|
edm::Handle<double> rhoHandle; |
179 |
|
iEvent.getByLabel(edm::InputTag("kt6PFJets", "rho"),rhoHandle); |
422 |
|
// if(jet_iter->pt()>50) |
423 |
|
// njetscounter++; |
424 |
|
VHbbEvent::SimpleJet sj; |
425 |
+ |
// std::cout <<" sj1"<<std::endl; |
426 |
|
fillSimpleJet(sj,jet_iter); |
427 |
|
// if(!runOnMC_) |
428 |
|
|
438 |
|
//genJet |
439 |
|
const reco::GenJet *gJ = jet_iter->genJet(); |
440 |
|
//physical parton for mother info ONLY |
441 |
< |
if( (jet_iter->genParton()) |
442 |
< |
and (jet_iter->genParton()->mother()) ) |
443 |
< |
sj.bestMCmomid=jet_iter->genParton()->mother()->pdgId(); |
441 |
> |
if( (jet_iter->genParton()) ){ |
442 |
> |
sj.bestMCid = jet_iter->genParton()->pdgId(); |
443 |
> |
if( (jet_iter->genParton()->mother()) ) |
444 |
> |
sj.bestMCmomid=jet_iter->genParton()->mother()->pdgId(); |
445 |
> |
} |
446 |
|
TLorentzVector gJp4; |
447 |
|
if(gJ){ |
448 |
|
gJp4.SetPtEtaPhiE(gJ->pt(),gJ->eta(),gJ->phi(),gJ->energy()); |
449 |
< |
sj.bestMCp4mom = gJp4; |
445 |
< |
std::cout <<" KKKKK 1 "<< sj.bestMCp4mom.Pt() <<std::endl; |
449 |
> |
sj.bestMCp4 = gJp4; |
450 |
|
if(verbose_){ |
451 |
|
std::clog << "genJet matched Pt = " << gJp4.Pt() << std::endl; |
452 |
|
std::clog << "genJet matched eta = " << gJp4.Eta() << std::endl; |
465 |
|
// if(jet_iter->pt()>50) |
466 |
|
// njetscounter++; |
467 |
|
VHbbEvent::SimpleJet sj; |
468 |
+ |
// std::cout <<" sj3"<<std::endl; |
469 |
|
fillSimpleJet(sj,jet_iter); |
470 |
|
// if(!runOnMC_) |
471 |
|
setJecUnc(sj,jecUnc); |
481 |
|
//genJet |
482 |
|
const reco::GenJet *gJ = jet_iter->genJet(); |
483 |
|
//physical parton for mother info ONLY |
484 |
< |
if( (jet_iter->genParton()) |
485 |
< |
and (jet_iter->genParton()->mother()) ) |
486 |
< |
sj.bestMCmomid=jet_iter->genParton()->mother()->pdgId(); |
484 |
> |
if( (jet_iter->genParton()) ){ |
485 |
> |
sj.bestMCid = jet_iter->genParton()->pdgId(); |
486 |
> |
if( (jet_iter->genParton()->mother()) ) |
487 |
> |
sj.bestMCmomid=jet_iter->genParton()->mother()->pdgId(); |
488 |
> |
} |
489 |
|
TLorentzVector gJp4; |
490 |
|
if(gJ){ |
491 |
|
gJp4.SetPtEtaPhiE(gJ->pt(),gJ->eta(),gJ->phi(),gJ->energy()); |
492 |
< |
sj.bestMCp4mom = gJp4; |
486 |
< |
std::cout <<" KKKKK 2 "<< (sj.bestMCp4mom.Pt()) <<std::endl; |
492 |
> |
sj.bestMCp4 = gJp4; |
493 |
|
if(verbose_){ |
494 |
|
std::clog << "genJet matched Pt = " << gJp4.Pt() << std::endl; |
495 |
|
std::clog << "genJet matched eta = " << gJp4.Eta() << std::endl; |
508 |
|
// if(jet_iter->pt()>50) |
509 |
|
// njetscounter++; |
510 |
|
VHbbEvent::SimpleJet sj; |
511 |
+ |
// std::cout <<" sj4"<<std::endl; |
512 |
|
fillSimpleJet(sj,jet_iter); |
513 |
|
// if(!runOnMC_) |
514 |
|
setJecUnc(sj,jecUnc); |
524 |
|
//genJet |
525 |
|
const reco::GenJet *gJ = jet_iter->genJet(); |
526 |
|
//physical parton for mother info ONLY |
527 |
< |
if( (jet_iter->genParton()) |
528 |
< |
and (jet_iter->genParton()->mother()) ) |
529 |
< |
sj.bestMCmomid=jet_iter->genParton()->mother()->pdgId(); |
527 |
> |
if( (jet_iter->genParton()) ){ |
528 |
> |
sj.bestMCid = jet_iter->genParton()->pdgId(); |
529 |
> |
if( (jet_iter->genParton()->mother()) ) |
530 |
> |
sj.bestMCmomid=jet_iter->genParton()->mother()->pdgId(); |
531 |
> |
} |
532 |
|
TLorentzVector gJp4; |
533 |
|
if(gJ){ |
534 |
|
gJp4.SetPtEtaPhiE(gJ->pt(),gJ->eta(),gJ->phi(),gJ->energy()); |
535 |
< |
sj.bestMCp4mom = gJp4; |
527 |
< |
std::cout <<" KKKKK 3 "<< sj.bestMCp4mom.Pt() <<std::endl; |
535 |
> |
sj.bestMCp4 = gJp4; |
536 |
|
if(verbose_){ |
537 |
|
std::clog << "genJet matched Pt = " << gJp4.Pt() << std::endl; |
538 |
|
std::clog << "genJet matched eta = " << gJp4.Eta() << std::endl; |
551 |
|
for(edm::View<pat::Jet>::const_iterator jet_iter = simplejets2.begin(); jet_iter!=simplejets2.end(); ++jet_iter){ |
552 |
|
|
553 |
|
VHbbEvent::SimpleJet sj; |
554 |
+ |
// std::cout <<" sj2"<<std::endl; |
555 |
|
fillSimpleJet(sj,jet_iter); |
556 |
|
// if(!runOnMC_) |
557 |
|
setJecUnc(sj,jecUnc); |
607 |
|
//genJet |
608 |
|
const reco::GenJet *gJ = jet_iter->genJet(); |
609 |
|
//physical parton for mother info ONLY |
610 |
< |
if( (jet_iter->genParton()) |
611 |
< |
and (jet_iter->genParton()->mother()) ) |
612 |
< |
sj.bestMCmomid=jet_iter->genParton()->mother()->pdgId(); |
610 |
> |
if( (jet_iter->genParton()) ){ |
611 |
> |
sj.bestMCid = jet_iter->genParton()->pdgId(); |
612 |
> |
if( (jet_iter->genParton()->mother()) ) |
613 |
> |
sj.bestMCmomid=jet_iter->genParton()->mother()->pdgId(); |
614 |
> |
} |
615 |
|
TLorentzVector gJp4; |
616 |
|
if(gJ){ |
617 |
|
gJp4.SetPtEtaPhiE(gJ->pt(),gJ->eta(),gJ->phi(),gJ->energy()); |
618 |
< |
sj.bestMCp4mom = gJp4; |
608 |
< |
std::cout <<" KKKKK 4 "<< sj.bestMCp4mom.Pt() <<std::endl; |
618 |
> |
sj.bestMCp4 = gJp4; |
619 |
|
if(verbose_){ |
620 |
|
std::clog << "genJet matched Pt = " << gJp4.Pt() << std::endl; |
621 |
|
std::clog << "genJet matched eta = " << gJp4.Eta() << std::endl; |
695 |
|
<< "," << subjet_iter->bDiscriminator("combinedSecondaryVertexBJetTags") << "\n";} |
696 |
|
|
697 |
|
VHbbEvent::SimpleJet sj; |
698 |
+ |
// std::cout <<" sub jet "<<std::endl; |
699 |
|
fillSimpleJet(sj,subjet_iter); |
700 |
|
// if(!runOnMC_) |
701 |
|
setJecUnc(sj,jecUnc); |
731 |
|
|
732 |
|
} |
733 |
|
|
734 |
+ |
// |
735 |
+ |
// add charged met |
736 |
+ |
// |
737 |
+ |
|
738 |
+ |
edm::Handle<edm::View<reco::MET> > metChargedHandle; |
739 |
+ |
iEvent.getByLabel("pfMETNoPUCharge",metChargedHandle); |
740 |
+ |
edm::View<reco::MET> metsCh = *metChargedHandle; |
741 |
+ |
if(metsCh.size()){ |
742 |
+ |
hbbInfo->metCh.sumEt=(metsCh[0]).sumEt(); |
743 |
+ |
hbbInfo->metCh.metSig=(metsCh[0]).significance(); |
744 |
+ |
hbbInfo->metCh.eLong=(metsCh[0]).e_longitudinal(); |
745 |
+ |
hbbInfo->metCh.p4=GENPTOLOR((metsCh[0])); |
746 |
+ |
if (verbose_) std::cout <<" METCharged "<< hbbInfo->metCh.metSig <<" " << hbbInfo->metCh.sumEt<<std::endl; |
747 |
+ |
} |
748 |
|
|
749 |
|
// |
750 |
|
// met is calomet |
830 |
|
double acop = deltaphi.value(); |
831 |
|
mf.acop=acop; |
832 |
|
|
833 |
+ |
mf.emEnergy = mu->calEnergy().em; |
834 |
+ |
mf.hadEnergy = mu->calEnergy().had; |
835 |
+ |
|
836 |
+ |
mf.nMatches = mu->numberOfMatches(); |
837 |
+ |
|
838 |
|
mf.ipDb=mu->dB(); |
839 |
|
mf.ipErrDb=mu->edB(); |
840 |
|
mf.cat=0; |
851 |
|
TrackRef iTrack1 = mu->innerTrack(); |
852 |
|
const reco::HitPattern& p1 = iTrack1->hitPattern(); |
853 |
|
mf.nPixelHits=p1.pixelLayersWithMeasurement(); |
854 |
< |
} |
854 |
> |
|
855 |
> |
mf.nValidTracker = p1.numberOfValidTrackerHits(); |
856 |
> |
mf.nValidPixel = p1.numberOfValidPixelHits(); |
857 |
> |
|
858 |
> |
|
859 |
> |
|
860 |
> |
} |
861 |
|
if(mu->isGlobalMuon()){ |
862 |
|
TrackRef gTrack = mu->globalTrack(); |
863 |
|
const reco::HitPattern& q = gTrack->hitPattern(); |
926 |
|
ef.pfPhoIso=elec->photonIso(); |
927 |
|
ef.pfNeuIso=elec->neutralHadronIso(); |
928 |
|
|
929 |
+ |
// |
930 |
+ |
// ip info |
931 |
+ |
// |
932 |
+ |
|
933 |
+ |
ef.ipDb=elec->dB(); |
934 |
+ |
ef.ipErrDb=elec->edB(); |
935 |
+ |
|
936 |
+ |
|
937 |
+ |
|
938 |
|
Geom::Phi<double> deltaphi(elec->superCluster()->phi()-atan2(hbbInfo->pfmet.p4.Py(),hbbInfo->pfmet.p4.Px())); |
939 |
|
ef.acop = deltaphi.value(); |
940 |
|
// |
941 |
+ |
ef.sihih = elec->sigmaIetaIeta(); |
942 |
+ |
ef.Dphi = elec->deltaPhiSuperClusterTrackAtVtx(); |
943 |
+ |
ef.Deta = elec->deltaEtaSuperClusterTrackAtVtx(); |
944 |
+ |
ef.HoE = elec->hadronicOverEm(); |
945 |
+ |
ef.convDist = elec->convDist(); |
946 |
+ |
ef.convDcot = elec->convDcot(); |
947 |
+ |
if(elec->gsfTrack().isNonnull()) ef.innerHits = elec->gsfTrack()->trackerExpectedHitsInner().numberOfHits(); |
948 |
+ |
ef.isEB = elec->isEB(); |
949 |
+ |
ef.isEE = elec->isEE(); |
950 |
+ |
// |
951 |
|
// fill eleids |
952 |
|
// |
953 |
|
/* ef.id95 = elec->electronID("simpleEleId95cIso"); |
1046 |
|
iEvent.put(auxInfo); |
1047 |
|
|
1048 |
|
|
1049 |
+ |
delete jecUnc; |
1050 |
+ |
|
1051 |
|
} |
1052 |
|
|
1053 |
|
void |
1236 |
|
// test |
1237 |
|
// |
1238 |
|
|
1239 |
< |
return; |
1239 |
> |
// return; |
1240 |
|
double eta = sj.p4.Eta(); |
1241 |
|
double pt = sj.p4.Pt(); |
1242 |
|
|
1256 |
|
sj.jpb=jet_iter->bDiscriminator("jetBProbabilityBJetTags"); |
1257 |
|
sj.ssvhe=jet_iter->bDiscriminator("simpleSecondaryVertexHighEffBJetTags"); |
1258 |
|
sj.csv=jet_iter->bDiscriminator("combinedSecondaryVertexBJetTags"); |
1259 |
< |
sj.csvmva=jet_iter->bDiscriminator("combinedSecondaryVertexMVABJetTags"); |
1259 |
> |
sj.csvmva=jet_iter->bDiscriminator("combinedSecondaryVertexMVABJetTags"); |
1260 |
|
sj.charge=jet_iter->jetCharge(); |
1261 |
|
sj.ntracks=jet_iter->associatedTracks().size(); |
1262 |
|
sj.p4=GENPTOLORP(jet_iter); |
1263 |
+ |
// std::cout << " ECCO "<<sj.csv<< " "<< sj.p4.Pt()<<std::endl; |
1264 |
|
sj.chargedTracksFourMomentum=(getChargedTracksMomentum(&*(jet_iter))); |
1265 |
|
sj.SF_CSVL=1; |
1266 |
|
sj.SF_CSVM=1; |