CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/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 #include "CommonTools/ParticleFlow/interface/PFPileUpAlgo.h"
00020 
00034 class PFPileUp : public edm::EDProducer {
00035  public:
00036 
00037   explicit PFPileUp(const edm::ParameterSet&);
00038 
00039   ~PFPileUp();
00040   
00041   virtual void produce(edm::Event&, const edm::EventSetup&);
00042 
00043   virtual void beginJob();
00044 
00045  private:
00046   
00047   PFPileUpAlgo    pileUpAlgo_;
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