To get event content to edmDumpEventContent of your AOD file edmDumpEventContent 06688145-E89E-E211-9845-002590593876.root For only info on certain type use regex edmDumpEventContent 06688145-E89E-E211-9845-002590593876.root --regex gen Type Module Label Process -------------------------------------------------------------------------------------- GenEventInfoProduct "generator" "" "SIM" vector "genParticles" "" "SIM" vector "ak5GenJets" "" "SIM" vector "ak7GenJets" "" "SIM" vector "kt4GenJets" "" "SIM" vector "kt6GenJets" "" "SIM" vector "genMetCalo" "" "SIM" vector "genMetCaloAndNonPrompt" "" "SIM" vector "genMetTrue" "" "SIM" vector "genParticles" "" "SIM" vector "generalTracks" "" "RECO" First column is the name of the class, second is the label. Google your class reference to see the functions of the class. For instance "reco::GenParticle reference" gives you the page [[https://cmssdt.cern.ch/SDT/doxygen/CMSSW_5_3_6/doc/html/d5/dd4/classreco_1_1GenParticle.html| reco::GenParticle class reference]]. You then need you own analyzer. Check out [[https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookWriteFrameworkModule|Writing your own EDAnalyzer]].\\ For examples, check out /shome/jngadiub/TestPAT/CMSSW_5_3_11/src/Demo/MyEdmNtupleProducer/src/CandGenParticlesProducer.cc.\\ To get your class edm::Handle genParticles; iEvent.getByLabel(genSrc_, genParticles); To loop for(size_t i = 0; i < genParticles->size(); ++i ) { const reco::GenParticle & ParticleCand = (*genParticles)[i]; const reco::GenParticleRefVector & motherRefs = ParticleCand.motherRefVector(); const reco::GenParticleRefVector & daughterRefs = ParticleCand.daughterRefVector(); } To for instance get eta and pt ParticleCand.eta() ParticleCand.pt()