CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EgammaTowerExtractor.h
Go to the documentation of this file.
1 #ifndef EgammaTowerIsolation_h
2 #define EgammaTowerIsolation_h
3 
4 //*****************************************************************************
5 // File: EgammaTowerExtractor.h
6 // ----------------------------------------------------------------------------
7 // OrigAuth: Matthias Mozer
8 // Institute: IIHE-VUB
9 //=============================================================================
10 //*****************************************************************************
11 
12 //C++ includes
13 #include <vector>
14 #include <functional>
15 
16 //CMSSW includes
19 
24 
27 
30 
31 
32 namespace egammaisolation {
33 
35 
36  public:
38 
39 
40  public:
42  extRadius2_(par.getParameter<double>("extRadius")),
43  intRadius_(par.getParameter<double>("intRadius")),
44  etLow_(par.getParameter<double>("etMin")),
45  caloTowerTag_(par.getParameter<edm::InputTag>("caloTowers")),
46  depth_(par.getParameter<int>("hcalDepth"))
47  {
49  //lets just check we have a valid depth
50  //should we throw an exception or just warn and then fail gracefully later?
52  throw cms::Exception("Configuration Error") << "hcalDepth passed to EgammaTowerExtractor is invalid "<<std::endl;
53  }
54  }
55 
56  virtual ~EgammaTowerExtractor() ;
57 
58  virtual void fillVetos(const edm::Event & ev, const edm::EventSetup & evSetup,
59  const reco::TrackCollection & tracks) { }
60  virtual reco::IsoDeposit deposit(const edm::Event & ev, const edm::EventSetup & evSetup,
61  const reco::Track & track) const {
62  throw cms::Exception("Configuration Error") <<
63  "This extractor " << (typeid(this).name()) << " is not made for tracks";
64  }
65  virtual reco::IsoDeposit deposit(const edm::Event & ev, const edm::EventSetup & evSetup,
66  const reco::Candidate & c) const ;
67 
68  private:
69  double extRadius2_ ;
70  double intRadius_ ;
71  double etLow_ ;
72 
73 
75  int depth_;
76  //const CaloTowerCollection *towercollection_ ;
77  };
78 }
79 #endif
virtual reco::IsoDeposit deposit(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Track &track) const
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:10
virtual void fillVetos(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::TrackCollection &tracks)
tuple tracks
Definition: testEve_cfg.py:39
EgammaTowerExtractor(const edm::ParameterSet &par)