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

Comparing UserCode/UHHAnalysis/NtupleWriter/src/NtupleWriter.cc (file contents):
Revision 1.23 by eusai, Fri Apr 5 13:23:16 2013 UTC vs.
Revision 1.24 by peiffer, Wed Jun 5 14:13:58 2013 UTC

# Line 53 | Line 53 | NtupleWriter::NtupleWriter(const edm::Pa
53    doMuons = iConfig.getParameter<bool>("doMuons");
54    doTaus = iConfig.getParameter<bool>("doTaus");
55    doJets = iConfig.getParameter<bool>("doJets");
56 +  doGenJets = iConfig.getParameter<bool>("doGenJets");
57    doJECUncertainty = iConfig.getParameter<bool>("doJECUncertainty");
58    doGenTopJets = iConfig.getParameter<bool>("doGenTopJets");  
59    doPhotons = iConfig.getParameter<bool>("doPhotons");
# Line 112 | Line 113 | NtupleWriter::NtupleWriter(const edm::Pa
113        tr->Branch( jet_sources[j].c_str(), "std::vector<Jet>", &jets[j]);
114      }
115    }
116 +  if(doGenJets){
117 +    genjet_sources = iConfig.getParameter<std::vector<std::string> >("genjet_sources");
118 +    genjet_ptmin = iConfig.getParameter<double> ("genjet_ptmin");
119 +    genjet_etamax = iConfig.getParameter<double> ("genjet_etamax");
120 +    for(size_t j=0; j< genjet_sources.size(); ++j){  
121 +      tr->Branch( genjet_sources[j].c_str(), "std::vector<Particle>", &genjets[j]);
122 +    }
123 +  }
124    if(doTopJets){
125      topjet_sources = iConfig.getParameter<std::vector<std::string> >("topjet_sources");
126      topjet_ptmin = iConfig.getParameter<double> ("topjet_ptmin");
# Line 631 | Line 640 | NtupleWriter::analyze(const edm::Event&
640         }
641       }
642     }
643 +
644 +   //-------------- gen jets -------------
645 +
646 +   if(doGenJets){
647 +     for(size_t j=0; j< genjet_sources.size(); ++j){
648 +      
649 +       genjets[j].clear();
650 +
651 +       edm::Handle< std::vector<reco::GenJet> > genjet_handle;
652 +       iEvent.getByLabel(genjet_sources[j], genjet_handle);
653 +       const std::vector<reco::GenJet>& gen_jets = *(genjet_handle.product());
654 +  
655 +       for (unsigned int i = 0; i < gen_jets.size(); ++i) {
656 +         pat::Jet gen_jet = gen_jets[i];
657 +         if(gen_jet.pt() < genjet_ptmin) continue;
658 +         if(fabs(gen_jet.eta()) > genjet_etamax) continue;
659 +
660 +         Particle jet;
661 +         jet.set_charge(gen_jet.charge());
662 +         jet.set_pt(gen_jet.pt());
663 +         jet.set_eta(gen_jet.eta());
664 +         jet.set_phi(gen_jet.phi());
665 +         jet.set_energy(gen_jet.energy());
666 +
667 +         genjets[j].push_back(jet);
668 +
669 +       }
670 +     }
671 +   }
672  
673     // ------------- top jets -------------
674     if(doTopJets){

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines