00001 #ifndef RecoParticleFlow_PFCandidateChecker_ 00002 #define RecoParticleFlow_PFCandidateChecker_ 00003 00004 // system include files 00005 #include <memory> 00006 #include <string> 00007 #include <iostream> 00008 00009 // user include files 00010 #include "FWCore/Framework/interface/Frameworkfwd.h" 00011 #include "FWCore/Framework/interface/EDAnalyzer.h" 00012 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00013 00014 #include "FWCore/Framework/interface/Event.h" 00015 #include "FWCore/Framework/interface/MakerMacros.h" 00016 00017 #include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h" 00018 #include "DataFormats/ParticleFlowCandidate/interface/PFCandidateFwd.h" 00019 #include "DataFormats/JetReco/interface/PFJetCollection.h" 00020 00031 class PFCandidateChecker : public edm::EDAnalyzer { 00032 public: 00033 00034 explicit PFCandidateChecker(const edm::ParameterSet&); 00035 00036 ~PFCandidateChecker(); 00037 00038 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00039 00040 virtual void beginRun(const edm::Run & r, const edm::EventSetup & c); 00041 00042 private: 00043 00044 void printJets(const reco::PFJetCollection& pfJetsReco, 00045 const reco::PFJetCollection& pfJetsReReco) const; 00046 00047 void printMet(const reco::PFCandidateCollection& pfReco, 00048 const reco::PFCandidateCollection& pfReReco) const; 00049 00050 void printElementsInBlocks(const reco::PFCandidate& cand, 00051 std::ostream& out=std::cout) const; 00052 00053 00054 00056 edm::InputTag inputTagPFCandidatesReco_; 00057 edm::InputTag inputTagPFCandidatesReReco_; 00058 edm::InputTag inputTagPFJetsReco_; 00059 edm::InputTag inputTagPFJetsReReco_; 00060 00062 double deltaEMax_; 00063 double deltaEtaMax_; 00064 double deltaPhiMax_; 00065 00067 bool verbose_; 00068 00070 bool printBlocks_; 00071 00073 bool rankByPt_; 00074 00076 unsigned entry_; 00077 00078 static bool greaterPt( const reco::PFCandidate& a, const reco::PFCandidate& b ) { 00079 return (a.pt()>b.pt()); 00080 } 00081 00082 00083 00084 }; 00085 00086 #endif