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.7 by tboccali, Tue Jun 14 15:55:44 2011 UTC vs.
Revision 1.9 by tboccali, Thu Jun 30 08:56:27 2011 UTC

# Line 41 | Line 41 | HbbAnalyzerNew::HbbAnalyzerNew(const edm
41    dimuLabel_(iConfig.getParameter<edm::InputTag>("dimuTag")),
42    dielecLabel_(iConfig.getParameter<edm::InputTag>("dielecTag")),
43    hltResults_(iConfig.getParameter<edm::InputTag>("hltResultsTag")),
44 <  runOnMC_(iConfig.getParameter<bool>("runOnMC")) {
44 >  runOnMC_(iConfig.getParameter<bool>("runOnMC")), verbose_(iConfig.getUntrackedParameter<bool>("verbose")) {
45  
46    //
47    // put the setwhatproduced etc etc
# Line 679 | Line 679 | HbbAnalyzerNew::produce(edm::Event& iEve
679    // met is calomet
680    //
681  
682
683  for(edm::View<pat::MET>::const_iterator met = mets.begin(); met!=mets.end(); ++met){
684    hbbInfo->calomet.sumEt=met->sumEt();
685    hbbInfo->calomet.metSig=met->mEtSig();
686    hbbInfo->calomet.eLong=met->e_longitudinal();
687    hbbInfo->calomet.fourMomentum=GENPTOLORP(met);
688  }
689
682    edm::Handle<edm::View<pat::MET> > metTCHandle;
683    iEvent.getByLabel("patMETsTC",metTCHandle);
684    edm::View<pat::MET> metsTC = *metTCHandle;
685 <  for(edm::View<pat::MET>::const_iterator metTC = metsTC.begin(); metTC!=metsTC.end(); ++metTC){
686 <    hbbInfo->calomet.sumEt=metTC->sumEt();
687 <    hbbInfo->calomet.metSig=metTC->mEtSig();
688 <    hbbInfo->calomet.eLong=metTC->e_longitudinal();
689 <    hbbInfo->calomet.fourMomentum=GENPTOLORP(metTC);
685 >  if(metsTC.size()){
686 >    hbbInfo->tcmet.sumEt=(metsTC[0]).sumEt();
687 >    hbbInfo->tcmet.metSig=(metsTC[0]).mEtSig();
688 >    hbbInfo->tcmet.eLong=(metsTC[0]).e_longitudinal();
689 >    hbbInfo->tcmet.fourMomentum=GENPTOLOR((metsTC[0]));
690 >    if (verbose_)     std::cout <<" METTC "<<     hbbInfo->tcmet.metSig <<" " <<     hbbInfo->tcmet.sumEt<<std::endl;
691    }
692 +  
693 +  if(mets.size()){
694 +    hbbInfo->calomet.sumEt=(mets[0]).sumEt();
695 +    hbbInfo->calomet.metSig=(mets[0]).mEtSig();
696 +    hbbInfo->calomet.eLong=(mets[0]).e_longitudinal();
697 +    hbbInfo->calomet.fourMomentum=GENPTOLOR((mets[0]));
698 +    if (verbose_)     std::cout <<" METTC "<<     hbbInfo->calomet.metSig <<" " <<     hbbInfo->calomet.sumEt<<std::endl;
699 +  }
700 +
701 +  
702    edm::Handle<edm::View<pat::MET> > metPFHandle;
703    iEvent.getByLabel("patMETsPF",metPFHandle);
704    edm::View<pat::MET> metsPF = *metPFHandle;
705 <  for(edm::View<pat::MET>::const_iterator metPF = metsPF.begin(); metPF!=metsPF.end(); ++metPF){
706 <    hbbInfo->calomet.sumEt=metPF->sumEt();
707 <    hbbInfo->calomet.metSig=metPF->mEtSig();
708 <    hbbInfo->calomet.eLong=metPF->e_longitudinal();
709 <    hbbInfo->calomet.fourMomentum=GENPTOLORP(metPF);
705 >
706 >  if(metsPF.size()){
707 >    hbbInfo->pfmet.sumEt=(metsPF[0]).sumEt();
708 >    hbbInfo->pfmet.metSig=(metsPF[0]).mEtSig();
709 >    hbbInfo->pfmet.eLong=(metsPF[0]).e_longitudinal();
710 >    hbbInfo->pfmet.fourMomentum=GENPTOLOR((metsPF[0]));
711 >    if (verbose_)     std::cout <<" METTC "<<     hbbInfo->pfmet.metSig <<" " <<     hbbInfo->pfmet.sumEt<<std::endl;
712    }
713  
714  
715 +  if(verbose_){
716 +    std::cout << "METs: calomet "<<mets.size()<<" tcmet "<<metsTC.size()<<" pfmet "<<metsPF.size()<<std::endl;  
717 +  }
718 +
719 +  std::cout << " INPUT MUONS "<<muons.size()<<std::endl;
720  
721    for(edm::View<pat::Muon>::const_iterator mu = muons.begin(); mu!=muons.end(); ++mu){
722      VHbbEvent::MuonInfo mf;
# Line 740 | Line 750 | HbbAnalyzerNew::produce(edm::Event& iEve
750        const reco::HitPattern& q = gTrack->hitPattern();
751        mf.globChi2=gTrack.get()->normalizedChi2();
752        mf.globNHits=q.numberOfValidMuonHits();
753 +      mf. validMuStations = q. muonStationsWithValidHits();
754      }else{
755        mf.globChi2=-99;
756        mf.globNHits=-99;
757      }
758 +    //
759 +    // add stamuon
760 +
761 +    //    if (mu->isStandAloneMuon()) {
762 +    //      reco::TrackRef sta = mu->standAloneMuon();
763 +    //      
764 +    //    }
765 +
766  
767      //     int muInfo[12];
768      //     fillMuBlock(mu,  muInfo);
# Line 758 | Line 777 | HbbAnalyzerNew::produce(edm::Event& iEve
777      hbbInfo->muInfo.push_back(mf);
778    }
779  
780 <
780 >  std::cout << " INPUT electrons "<<electrons.size()<<std::endl;
781    for(edm::View<pat::Electron>::const_iterator elec = electrons.begin(); elec!=electrons.end(); ++elec){
782      VHbbEvent::ElectronInfo ef;
783      ef.fourMomentum=GENPTOLORP(elec);
# Line 771 | Line 790 | HbbAnalyzerNew::produce(edm::Event& iEve
790      ef.hIso=elec->hcalIso();
791      Geom::Phi<double> deltaphi(elec->superCluster()->phi()-atan2(hbbInfo->calomet.fourMomentum.Py(),hbbInfo->calomet.fourMomentum.Px()));
792      ef.acop = deltaphi.value();
793 <    
793 >    //
794 >    // fill eleids
795 >    //    
796 >    ef.id95 = elec->electronID("simpleEleId95cIso");
797 >    ef.id85 = elec->electronID("simpleEleId85cIso");
798 >    ef.id70 = elec->electronID("simpleEleId70cIso");
799 >    ef.id95r = elec->electronID("simpleEleId95relIso");
800 >    ef.id70r = elec->electronID("simpleEleId70relIso");
801 >    ef.id85r = elec->electronID("simpleEleId85relIso");
802 >
803      if(runOnMC_){
804        const GenParticle* elecMc = elec->genLepton();
805        if(elecMc!=0){
# Line 783 | Line 811 | HbbAnalyzerNew::produce(edm::Event& iEve
811      hbbInfo->eleInfo.push_back(ef);
812    }
813  
814 +
815 +  std::cout << " INPUT taus "<<taus.size()<<std::endl;
816    for(edm::View<pat::Tau>::const_iterator tau = taus.begin(); tau!=taus.end(); ++tau){
817      VHbbEvent::TauInfo tf;
818      tf.fourMomentum=GENPTOLORP(tau);
# Line 872 | Line 902 | HbbAnalyzerNew::produce(edm::Event& iEve
902          const reco::HitPattern& q = gTrack->hitPattern();
903          df.daughter1.globNHits=q.numberOfValidMuonHits();
904          df.daughter1.globChi2=gTrack.get()->normalizedChi2();
905 +        df.daughter1.validMuStations = q. muonStationsWithValidHits();
906        }
907        if(muonDau1.isGlobalMuon()){
908          TrackRef gTrack = muonDau1.globalTrack();
909          const reco::HitPattern& q = gTrack->hitPattern();
910          df.daughter2.globNHits=q.numberOfValidMuonHits();
911          df.daughter2.globChi2=gTrack.get()->normalizedChi2();
912 +        df.daughter2.validMuStations = q. muonStationsWithValidHits();
913        }
914    
915      }
# Line 910 | Line 942 | HbbAnalyzerNew::produce(edm::Event& iEve
942      df.daughter1.hIso = elecDau0.hcalIso();
943      df.daughter2.hIso = elecDau1.hcalIso();
944      
945 <    
945 >    // ids
946 >    df.daughter1.id95 = elecDau0.electronID("simpleEleId95cIso");
947 >    df.daughter1.id85 = elecDau0.electronID  ("simpleEleId85cIso");
948 >    df.daughter1.id70 = elecDau0.electronID  ("simpleEleId70cIso");
949 >    df.daughter1.id95r = elecDau0.electronID ("simpleEleId95relIso");
950 >    df.daughter1.id85r = elecDau0.electronID ("simpleEleId85relIso");
951 >    df.daughter1.id70r = elecDau0.electronID ("simpleEleId70relIso");
952 >
953 >
954 >    df.daughter2.id95 = elecDau1.electronID("simpleEleId95cIso");
955 >    df.daughter2.id85 = elecDau1.electronID  ("simpleEleId85cIso");
956 >    df.daughter2.id70 = elecDau1.electronID  ("simpleEleId70cIso");
957 >    df.daughter2.id95r = elecDau1.electronID ("simpleEleId95relIso");
958 >    df.daughter2.id85r = elecDau1.electronID ("simpleEleId85relIso");
959 >    df.daughter2.id70r = elecDau1.electronID ("simpleEleId70relIso");
960 >
961      hbbInfo->diElectronInfo.push_back(df);
962      
963    }
964 +   if (verbose_){
965 +     std::cout <<" Pushing hbbInfo "<<std::endl;
966 +     std::cout <<" SimpleJets1 = "<<hbbInfo->simpleJets.size()<<std::endl<<
967 +       " SimpleJets2 = "<<hbbInfo->simpleJets2.size()<<std::endl<<
968 +       " SubJets = "<<hbbInfo->subJets.size()<<std::endl<<
969 +       " HardJets = "<<hbbInfo->hardJets.size()<<std::endl<<
970 +       " Muons = "<<hbbInfo->muInfo.size()<<std::endl<<
971 +       " Electrons = "<<hbbInfo->eleInfo.size()<<std::endl<<
972 +       " Taus = "<<hbbInfo->tauInfo.size()<<std::endl<<
973 +       " Electrons = "<<hbbInfo->eleInfo.size()<<std::endl<<
974 +       "--------------------- "<<std::endl;
975 +  }
976 +
977 +
978    iEvent.put(hbbInfo);
979  
980 +
981   }
982    
983   void

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines