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 &)