00001 #ifndef RecoBTag_SoftLepton_SoftElectronProducer_h 00002 #define RecoBTag_SoftLepton_SoftElectronProducer_h 00003 00014 #include "FWCore/Framework/interface/EDProducer.h" 00015 #include "FWCore/Framework/interface/Event.h" 00016 #include "FWCore/Framework/interface/EventSetup.h" 00017 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00018 00019 class TrackDetectorAssociator; 00020 class TrackAssociatorParameters; 00021 class ElectronIdMLP; 00022 00023 // SoftElectronProducer inherits from EDProducer, so it can be a module: 00024 class SoftElectronProducer : public edm::EDProducer 00025 { 00026 00027 public: 00028 00029 SoftElectronProducer (const edm::ParameterSet &iConf); 00030 ~SoftElectronProducer(); 00031 00032 private: 00033 00034 virtual void produce(edm::Event &iEvent, const edm::EventSetup &iSetup); 00035 00036 edm::ParameterSet theConf; 00037 00038 edm::InputTag theTrackTag; 00039 edm::InputTag theHBHERecHitTag; 00040 edm::InputTag theBasicClusterTag; //, theBasicClusterShapeTag; 00041 edm::InputTag thePrimaryVertexTag; 00042 edm::InputTag barrelRecHitCollection_; 00043 edm::InputTag endcapRecHitCollection_; 00044 00045 double theHOverEConeSize; 00046 double theDiscriminatorCut; 00047 00048 TrackDetectorAssociator *theTrackAssociator; 00049 TrackAssociatorParameters *theTrackAssociatorParameters; 00050 00051 ElectronIdMLP *theElecNN; 00052 00053 }; 00054 00055 #endif 00056