CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch12/src/RecoTauTag/TauTagTools/plugins/RecoTauDumper.cc

Go to the documentation of this file.
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);