CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/RecoEgamma/EgammaElectronProducers/plugins/GsfElectronBaseProducer.h

Go to the documentation of this file.
00001 
00002 #ifndef GsfElectronBaseProducer_h
00003 #define GsfElectronBaseProducer_h
00004 
00005 #include "RecoEgamma/EgammaElectronAlgos/interface/GsfElectronAlgo.h"
00006 
00007 #include "FWCore/Framework/interface/EDProducer.h"
00008 #include "FWCore/Framework/interface/Event.h"
00009 #include "FWCore/Framework/interface/EventSetup.h"
00010 
00011 namespace reco
00012  {
00013   class GsfElectron ;
00014  }
00015 
00016 namespace edm
00017  {
00018   class ParameterSet ;
00019   class ConfigurationDescriptions ;
00020  }
00021 
00022 #include "RecoEgamma/EgammaElectronAlgos/interface/GsfElectronAlgo.h"
00023 #include "DataFormats/Common/interface/Handle.h"
00024 #include "DataFormats/Common/interface/EDProduct.h"
00025 
00026 class GsfElectronBaseProducer : public edm::EDProducer
00027  {
00028   public:
00029 
00030     static void fillDescription( edm::ParameterSetDescription & ) ;
00031 
00032     explicit GsfElectronBaseProducer( const edm::ParameterSet & ) ;
00033     virtual ~GsfElectronBaseProducer() ;
00034 
00035 
00036   protected:
00037 
00038     GsfElectronAlgo * algo_ ;
00039 
00040     void beginEvent( edm::Event &, const edm::EventSetup & ) ;
00041     void fillEvent( edm::Event & ) ;
00042     void endEvent() ;
00043     reco::GsfElectron * newElectron() { return 0 ; }
00044 
00045     // configurables
00046     GsfElectronAlgo::InputTagsConfiguration inputCfg_ ;
00047     GsfElectronAlgo::StrategyConfiguration strategyCfg_ ;
00048     GsfElectronAlgo::CutsConfiguration cutsCfg_ ;
00049     GsfElectronAlgo::CutsConfiguration cutsCfgPflow_ ;
00050     ElectronHcalHelper::Configuration hcalCfg_ ;
00051     ElectronHcalHelper::Configuration hcalCfgPflow_ ;
00052 
00053   private :
00054 
00055     // check expected configuration of previous modules
00056     bool pfTranslatorParametersChecked_ ;
00057     void checkPfTranslatorParameters( edm::ParameterSetID const & ) ;
00058     bool ecalSeedingParametersChecked_ ;
00059     void checkEcalSeedingParameters( edm::ParameterSetID const & ) ;
00060 
00061  } ;
00062 
00063 #endif