CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2_patch1/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 
00025 class GsfElectronBaseProducer : public edm::EDProducer
00026  {
00027   public:
00028 
00029     static void fillDescription( edm::ParameterSetDescription & ) ;
00030 
00031     explicit GsfElectronBaseProducer( const edm::ParameterSet & ) ;
00032     virtual ~GsfElectronBaseProducer() ;
00033 
00034 
00035   protected:
00036 
00037     GsfElectronAlgo * algo_ ;
00038 
00039     void beginEvent( edm::Event &, const edm::EventSetup & ) ;
00040     void fillEvent( edm::Event & ) ;
00041     void endEvent() ;
00042     reco::GsfElectron * newElectron() { return 0 ; }
00043 
00044     // configurables
00045     GsfElectronAlgo::InputTagsConfiguration inputCfg_ ;
00046     GsfElectronAlgo::StrategyConfiguration strategyCfg_ ;
00047     GsfElectronAlgo::CutsConfiguration cutsCfg_ ;
00048     GsfElectronAlgo::CutsConfiguration cutsCfgPflow_ ;
00049     ElectronHcalHelper::Configuration hcalCfg_ ;
00050     ElectronHcalHelper::Configuration hcalCfgPflow_ ;
00051 
00052   private :
00053 
00054     // check expected configuration of previous modules
00055     bool ecalSeedingParametersChecked_ ;
00056     void checkEcalSeedingParameters( edm::ParameterSetID const & ) ;
00057 
00058  } ;
00059 
00060 #endif