CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/RecoParticleFlow/PFProducer/plugins/PFProducer.h

Go to the documentation of this file.
00001 #ifndef RecoParticleFlow_PFProducer_PFProducer_h_
00002 #define RecoParticleFlow_PFProducer_PFProducer_h_
00003 
00004 // system include files
00005 #include <string>
00006 
00007 // user include files
00008 #include "FWCore/Framework/interface/Frameworkfwd.h"
00009 #include "FWCore/Framework/interface/EDProducer.h"
00010 #include "FWCore/Framework/interface/Event.h"
00011 
00012 // useful?
00013 #include "FWCore/Framework/interface/MakerMacros.h"
00014 
00015 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00016 
00017 class PFAlgo;
00018 class PFEnergyCalibrationHF;
00019 
00029 class PFProducer : public edm::EDProducer {
00030  public:
00031   explicit PFProducer(const edm::ParameterSet&);
00032   ~PFProducer();
00033   
00034   virtual void produce(edm::Event&, const edm::EventSetup&);
00035   virtual void beginJob();
00036   virtual void beginRun(edm::Run &, const edm::EventSetup &);
00037 
00038  private:
00039 
00040   edm::InputTag  inputTagBlocks_;
00041   edm::InputTag  inputTagMuons_;
00042   edm::InputTag  vertices_;
00043   edm::InputTag  inputTagEgammaElectrons_;
00044   std::vector<edm::InputTag>  inputTagCleanedHF_;
00045   std::string electronOutputCol_;
00046   std::string electronExtraOutputCol_;
00047 
00049   bool  verbose_;
00050 
00051   // Post muon cleaning ?
00052   bool postMuonCleaning_;
00053 
00054   // Use PF electrons ?
00055   bool usePFElectrons_;
00056 
00057   // what about e/g electrons ?
00058   bool useEGammaElectrons_;
00059 
00060   // Use vertices for Neutral particles ?
00061   bool useVerticesForNeutral_;
00062 
00063   
00065   std::auto_ptr<PFAlgo>      pfAlgo_;
00066 
00067 };
00068 
00069 #endif