00001 #ifndef RegressionEnergyPatElectronProducer_h 00002 #define RegressionEnergyPatElectronProducer_h 00003 00004 #include "DataFormats/Common/interface/Handle.h" 00005 #include "DataFormats/Common/interface/EDProduct.h" 00006 #include "FWCore/Framework/interface/EDProducer.h" 00007 #include "FWCore/Framework/interface/Event.h" 00008 #include "FWCore/Framework/interface/EventSetup.h" 00009 00010 #include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h" 00011 #include "Geometry/CaloGeometry/interface/CaloGeometry.h" 00012 00013 #include "EgammaAnalysis/ElectronTools/interface/ElectronEnergyRegressionEvaluate.h" 00014 //#include "EGamma/EGammaAnalysisTools/interface/ElectronEnergyRegressionEvaluate.h" 00015 00016 class RegressionEnergyPatElectronProducer: public edm::EDProducer 00017 { 00018 public: 00019 00020 explicit RegressionEnergyPatElectronProducer( const edm::ParameterSet & ) ; 00021 virtual ~RegressionEnergyPatElectronProducer(); 00022 virtual void produce( edm::Event &, const edm::EventSetup & ) ; 00023 00024 private: 00025 00026 // input collections 00027 edm::InputTag inputElectrons_ ; 00028 edm::InputTag rhoInputTag_ ; 00029 edm::InputTag verticesInputTag_ ; 00030 edm::InputTag recHitCollectionEB_; 00031 edm::InputTag recHitCollectionEE_; 00032 00033 // 00034 bool useReducedRecHits_; 00035 00036 //output collection 00037 // std::string outputCollection_; 00038 std::string nameEnergyReg_; 00039 std::string nameEnergyErrorReg_; 00040 00041 uint32_t energyRegressionType_ ; 00042 uint32_t inputCollectionType_ ; 00043 std::string regressionInputFile_; 00044 bool debug_ ; 00045 ElectronEnergyRegressionEvaluate *regressionEvaluator_; 00046 bool geomInitialized_; 00047 bool producePatElectrons_; 00048 bool produceValueMaps_; 00049 00050 00051 const CaloTopology * ecalTopology_; 00052 const CaloGeometry * caloGeometry_; 00053 unsigned nElectrons_; 00054 } ; 00055 00056 #endif