00001 /* 00002 * ===================================================================================== 00003 * 00004 * Filename: RecoTauDumper.cc 00005 * 00006 * Description: Dump information about reco::PFTaus 00007 * 00008 * Author: Evan K. Friis, UC Davis 00009 * 00010 * $Id $ 00011 * 00012 * ===================================================================================== 00013 */ 00014 #include <boost/foreach.hpp> 00015 #include <sstream> 00016 00017 #include "FWCore/Framework/interface/EDAnalyzer.h" 00018 #include "FWCore/Framework/interface/Event.h" 00019 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00020 00021 #include "DataFormats/TauReco/interface/PFTau.h" 00022 00023 class RecoTauDumper : public edm::EDAnalyzer { 00024 public: 00025 explicit RecoTauDumper(const edm::ParameterSet& pset): 00026 tauSrc_(pset.getParameter<edm::InputTag>("src")) {} 00027 virtual ~RecoTauDumper() {} 00028 virtual void analyze(const edm::Event& evt, const edm::EventSetup& es); 00029 private: 00030 edm::InputTag tauSrc_; 00031 }; 00032 00033 void RecoTauDumper::analyze(const edm::Event& evt, const edm::EventSetup& es) { 00034 typedef edm::View<reco::PFTau> TauView; 00035 edm::Handle<TauView> tauView; 00036 evt.getByLabel(tauSrc_, tauView); 00037 00038 std::ostringstream output; 00039 output << " * * * reco::PFTau Dump - Source: " << tauSrc_ << std::endl; 00040 BOOST_FOREACH(const reco::PFTau& tau, *tauView) { 00041 output << " ------------------------------------" << std::endl; 00042 output << tau << std::endl; 00043 tau.dump(output); 00044 output << std::endl; 00045 } 00046 std::cout << output.str(); 00047 } 00048 00049 #include "FWCore/Framework/interface/MakerMacros.h" 00050 DEFINE_FWK_MODULE(RecoTauDumper);