CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/TopQuarkAnalysis/TopEventProducers/src/StGenEventReco.cc

Go to the documentation of this file.
00001 #include "AnalysisDataFormats/TopObjects/interface/StGenEvent.h"
00002 
00003 #include "TopQuarkAnalysis/TopEventProducers/interface/StGenEventReco.h"
00004 
00005 StGenEventReco::StGenEventReco(const edm::ParameterSet& cfg):
00006   src_ ( cfg.getParameter<edm::InputTag>( "src"  ) ),
00007   init_( cfg.getParameter<edm::InputTag>( "init" ) )
00008 {
00009   produces<StGenEvent>();
00010 }
00011 
00012 StGenEventReco::~StGenEventReco()
00013 {
00014 }
00015 
00016 void
00017 StGenEventReco::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   StGenEvent* genEvt = new StGenEvent( cands, initParts );
00033   std::auto_ptr<StGenEvent> gen( genEvt );
00034   evt.put( gen );
00035 }