Imperial Analysis
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ICPhotonProducer.hh
Go to the documentation of this file.
1 #ifndef UserCode_ICHiggsTauTau_ICPhotonProducer_h
2 #define UserCode_ICHiggsTauTau_ICPhotonProducer_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/Photon.h"
16 
17 // #include "EgammaAnalysis/ElectronTools/interface/PFIsolationEstimator.h"
18 
22 class ICPhotonProducer : public edm::EDProducer {
23  public:
24  explicit ICPhotonProducer(const edm::ParameterSet &);
26 
27  private:
28  virtual void beginJob();
29  virtual void produce(edm::Event &, const edm::EventSetup &);
30  virtual void endJob();
31 
32  std::vector<ic::Photon> *photons_;
33  edm::InputTag input_;
34  std::string branch_;
35  boost::hash<reco::Photon const*> photon_hasher_;
36  // std::string pfiso_postfix_;
37  // edm::InputTag vertex_input_;
38  // PFIsolationEstimator *isolator_;
39 
40  edm::InputTag input_electron_veto_;
41  bool do_electron_veto_;
42  bool do_had_tow_over_em_;
43 
44  struct IsoTags {
45  edm::InputTag charged_all;
46  edm::InputTag charged;
47  edm::InputTag neutral;
48  edm::InputTag gamma;
49  edm::InputTag pu;
50  explicit IsoTags(edm::ParameterSet const& pset, edm::ConsumesCollector && collector);
51  };
52 
53  IsoTags pf_iso_03_;
54  IsoTags pf_iso_04_;
55  bool do_pf_iso_03_;
56  bool do_pf_iso_04_;
57  bool do_iso_from_pat_;
58 };
59 
60 #endif
ICPhotonProducer(const edm::ParameterSet &)
See documentation here.