CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/TopQuarkAnalysis/TopEventProducers/src/StGenEventReco.cc

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