1 #ifndef UserCode_ICHiggsTauTau_ICElectronProducer_h 
    2 #define UserCode_ICHiggsTauTau_ICElectronProducer_h 
    7 #include "boost/functional/hash.hpp" 
    8 #include "FWCore/Framework/interface/EDProducer.h" 
    9 #include "FWCore/ParameterSet/interface/ParameterSet.h" 
   10 #include "FWCore/Framework/interface/Event.h" 
   11 #include "FWCore/Framework/interface/EventSetup.h" 
   12 #include "FWCore/Utilities/interface/InputTag.h" 
   13 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h" 
   26   virtual void beginJob();
 
   27   virtual void produce(edm::Event &, 
const edm::EventSetup &);
 
   28   virtual void endJob();
 
   30   std::vector<ic::Electron> *electrons_;
 
   33   boost::hash<reco::GsfElectron const*> gsf_electron_hasher_;
 
   35   std::vector<std::pair<std::string, edm::InputTag> > input_vmaps_;
 
   36   edm::InputTag input_r9_;
 
   38   edm::InputTag input_hcal_sum_;
 
   40   edm::InputTag input_vertices_;
 
   42   edm::InputTag input_beamspot_;
 
   44   edm::InputTag input_conversion_matches_;
 
   45   bool do_conversion_matches_;
 
   48     edm::InputTag charged_all;
 
   49     edm::InputTag charged;
 
   50     edm::InputTag neutral;
 
   56   struct ClusterIsoTags {
 
   63   ClusterIsoTags cluster_iso_;
 
ICElectronProducer(const edm::ParameterSet &)