Imperial Analysis
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ICElectronProducer.hh
Go to the documentation of this file.
1 #ifndef UserCode_ICHiggsTauTau_ICElectronProducer_h
2 #define UserCode_ICHiggsTauTau_ICElectronProducer_h
3 
4 #include <memory>
5 #include <vector>
6 #include <string>
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"
16 
20 class ICElectronProducer : public edm::EDProducer {
21  public:
22  explicit ICElectronProducer(const edm::ParameterSet &);
24 
25  private:
26  virtual void beginJob();
27  virtual void produce(edm::Event &, const edm::EventSetup &);
28  virtual void endJob();
29 
30  std::vector<ic::Electron> *electrons_;
31  edm::InputTag input_;
32  std::string branch_;
33  boost::hash<reco::GsfElectron const*> gsf_electron_hasher_;
34 
35  std::vector<std::pair<std::string, edm::InputTag> > input_vmaps_;
36  edm::InputTag input_r9_;
37  bool do_r9_;
38  edm::InputTag input_hcal_sum_;
39  bool do_hcal_sum_;
40  edm::InputTag input_vertices_;
41  bool do_vertex_ip_;
42  edm::InputTag input_beamspot_;
43  bool do_beamspot_ip_;
44  edm::InputTag input_conversion_matches_;
45  bool do_conversion_matches_;
46 
47  struct IsoTags {
48  edm::InputTag charged_all;
49  edm::InputTag charged;
50  edm::InputTag neutral;
51  edm::InputTag gamma;
52  edm::InputTag pu;
53  explicit IsoTags(edm::ParameterSet const& pset, edm::ConsumesCollector && collector);
54  };
55 
56  struct ClusterIsoTags {
57  edm::InputTag ecal;
58  edm::InputTag hcal;
59  explicit ClusterIsoTags(edm::ParameterSet const& pset, edm::ConsumesCollector && collector);
60  };
61 
62 
63  ClusterIsoTags cluster_iso_;
64  IsoTags pf_iso_03_;
65  IsoTags pf_iso_04_;
66  bool do_cluster_iso_;
67  bool do_pf_iso_03_;
68  bool do_pf_iso_04_;
69 };
70 
71 #endif
ICElectronProducer(const edm::ParameterSet &)
See documentation here.