CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/CommonTools/ParticleFlow/plugins/PFPileUp.h

Go to the documentation of this file.
00001 #ifndef PhysicsTools_PFCandProducer_PFPileUp_
00002 #define PhysicsTools_PFCandProducer_PFPileUp_
00003 
00004 // system include files
00005 #include <memory>
00006 #include <string>
00007 
00008 // user include files
00009 #include "FWCore/Framework/interface/Frameworkfwd.h"
00010 #include "FWCore/Framework/interface/EDProducer.h"
00011 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00012 
00013 #include "FWCore/Framework/interface/Event.h"
00014 #include "FWCore/Framework/interface/MakerMacros.h"
00015 
00016 #include "DataFormats/ParticleFlowCandidate/interface/PFCandidateFwd.h"
00017 #include "DataFormats/VertexReco/interface/VertexFwd.h"
00018 
00019 
00031 class PFPileUp : public edm::EDProducer {
00032  public:
00033 
00034   explicit PFPileUp(const edm::ParameterSet&);
00035 
00036   ~PFPileUp();
00037   
00038   virtual void produce(edm::Event&, const edm::EventSetup&);
00039 
00040   virtual void beginJob();
00041 
00042  private:
00043   
00044   reco::VertexRef 
00045     chargedHadronVertex(const edm::Handle<reco::VertexCollection>& vertices, 
00046                         const reco::PFCandidate& pfcand ) const;
00047 
00048   
00050   edm::InputTag   inputTagPFCandidates_;
00051   
00053   edm::InputTag   inputTagVertices_;
00054 
00056   bool   enable_;
00057 
00059   bool   verbose_;
00060 
00062   bool   checkClosestZVertex_;
00063 
00064 };
00065 
00066 #endif