CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_8_patch3/src/TopQuarkAnalysis/TopEventProducers/src/TtGenEventReco.cc

Go to the documentation of this file.
00001 #include "AnalysisDataFormats/TopObjects/interface/TtGenEvent.h"
00002 
00003 #include "TopQuarkAnalysis/TopEventProducers/interface/TtGenEventReco.h"
00004 
00005 TtGenEventReco::TtGenEventReco(const edm::ParameterSet& cfg):
00006   src_ ( cfg.getParameter<edm::InputTag>( "src"  ) ),
00007   init_( cfg.getParameter<edm::InputTag>( "init" ) )
00008 {
00009   produces<TtGenEvent>();
00010 }
00011 
00012 TtGenEventReco::~TtGenEventReco()
00013 {
00014 }
00015 
00016 void
00017 TtGenEventReco::produce(edm::Event& evt, const edm::EventSetup& setup)
00018 {     
00019   edm::Handle<reco::GenParticleCollection> parts;
00020   evt.getByLabel(src_,  parts);
00021 
00022   edm::Handle<reco::GenParticleCollection> inits;
00023   evt.getByLabel(init_, inits);
00024 
00025   //add TopDecayTree
00026   reco::GenParticleRefProd cands( parts );
00027 
00028   //add InitialStatePartons
00029   reco::GenParticleRefProd initParts( inits );
00030 
00031   //add genEvt to the output stream
00032   TtGenEvent* genEvt = new TtGenEvent( cands, initParts );
00033   std::auto_ptr<TtGenEvent> gen( genEvt );
00034   evt.put( gen );
00035 }