CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/RecoParticleFlow/PFProducer/plugins/PFBlockProducer.h

Go to the documentation of this file.
00001 #ifndef RecoParticleFlow_PFProducer_PFBlockProducer_h_
00002 #define RecoParticleFlow_PFProducer_PFBlockProducer_h_
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 "RecoParticleFlow/PFProducer/interface/PFBlockAlgo.h"
00017 
00018 
00030 class FSimEvent;
00031 
00032 
00033 
00034 class PFBlockProducer : public edm::EDProducer {
00035  public:
00036 
00037   explicit PFBlockProducer(const edm::ParameterSet&);
00038 
00039   ~PFBlockProducer();
00040   
00041   virtual void produce(edm::Event&, const edm::EventSetup&);
00042 
00043   virtual void beginJob();
00044 
00045   virtual void beginRun(edm::Run & r, const edm::EventSetup & c);
00046 
00047  private:
00048 
00049   
00050 
00051   edm::InputTag   inputTagRecTracks_;
00052   edm::InputTag   inputTagGsfRecTracks_;
00053   edm::InputTag   inputTagConvBremGsfRecTracks_;
00054   edm::InputTag   inputTagRecMuons_;
00055   edm::InputTag   inputTagPFNuclear_;
00056   edm::InputTag   inputTagPFClustersECAL_;
00057   edm::InputTag   inputTagPFClustersHCAL_;
00058   edm::InputTag   inputTagPFClustersHFEM_;
00059   edm::InputTag   inputTagPFClustersHFHAD_;
00060   edm::InputTag   inputTagPFClustersPS_;
00061   edm::InputTag   inputTagPFConversions_;
00062   edm::InputTag   inputTagPFV0_;
00063   edm::InputTag   inputTagEGPhotons_;
00064   
00066   bool   verbose_;
00067 
00069   bool   useNuclear_;
00070 
00072   bool useEGPhotons_;
00073   
00075   bool  useConversions_;  
00076   
00078   bool   useConvBremGsfTracks_;
00079 
00081   bool useV0_;
00082 
00084   bool usePFatHLT_;
00085 
00086   // Glowinski & Gouzevitch
00087   // Use the optimized KDTree Track/Ecal linker?
00088   bool useKDTreeTrackEcalLinker_;
00089   // !Glowinski & Gouzevitch
00090 
00092   PFBlockAlgo            pfBlockAlgo_;
00093 
00094 };
00095 
00096 #endif