ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/HbbAnalyzer/plugins/HbbAnalyzerNew.cc
(Generate patch)

Comparing UserCode/VHbbAnalysis/HbbAnalyzer/plugins/HbbAnalyzerNew.cc (file contents):
Revision 1.41 by tboccali, Mon Sep 19 10:34:54 2011 UTC vs.
Revision 1.55 by arizzi, Tue Oct 18 09:58:20 2011 UTC

# Line 103 | Line 103 | HbbAnalyzerNew::produce(edm::Event& iEve
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"];
# Line 171 | Line 171 | HbbAnalyzerNew::produce(edm::Event& iEve
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);  
# Line 420 | Line 422 | BTagSFContainer btagSFs;
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  
# Line 435 | Line 438 | BTagSFContainer btagSFs;
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;
# Line 461 | Line 465 | BTagSFContainer btagSFs;
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);
# Line 476 | Line 481 | BTagSFContainer btagSFs;
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;
# Line 502 | Line 508 | BTagSFContainer btagSFs;
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);
# Line 517 | Line 524 | BTagSFContainer btagSFs;
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;
# Line 543 | Line 551 | BTagSFContainer btagSFs;
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);
# Line 598 | Line 607 | BTagSFContainer btagSFs;
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;
# Line 685 | Line 695 | BTagSFContainer btagSFs;
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);
# Line 720 | Line 731 | BTagSFContainer btagSFs;
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
# Line 805 | Line 830 | BTagSFContainer btagSFs;
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;
# Line 821 | Line 851 | BTagSFContainer btagSFs;
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();
# Line 890 | Line 926 | BTagSFContainer btagSFs;
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");
# Line 991 | Line 1046 | BTagSFContainer btagSFs;
1046    iEvent.put(auxInfo);
1047  
1048  
1049 +  delete jecUnc;
1050 +
1051   }
1052    
1053   void
# Line 1179 | Line 1236 | void HbbAnalyzerNew::setJecUnc(VHbbEvent
1236    // test
1237    //
1238  
1239 <  return;
1239 >  //  return;
1240    double eta = sj.p4.Eta();
1241    double pt = sj.p4.Pt();
1242    
# Line 1199 | Line 1256 | void HbbAnalyzerNew ::fillSimpleJet (VHb
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;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines