CMS 3D CMS Logo

CMSSW_4_4_3_patch1/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   std::string photonExtraOutputCol_;
00048 
00050   bool  verbose_;
00051 
00052   // Post muon cleaning ?
00053   bool postMuonCleaning_;
00054 
00055   // Use PF electrons ?
00056   bool usePFElectrons_;
00057 
00058   // Use PF photons ?
00059   bool usePFPhotons_;
00060 
00061   // what about e/g electrons ?
00062   bool useEGammaElectrons_;
00063 
00064   // Use vertices for Neutral particles ?
00065   bool useVerticesForNeutral_;
00066 
00067   // Take PF cluster calibrations from Global Tag ?
00068   bool useCalibrationsFromDB_;
00069 
00070   // Name of the calibration functions to read from the database
00071   // std::vector<std::string> fToRead;
00072   
00074   std::auto_ptr<PFAlgo>      pfAlgo_;
00075 
00076 };
00077 
00078 #endif