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 
25 
28 
31 
32 
33 namespace egammaisolation {
34 
36 
37  public:
39 
40 
41  public:
43  EgammaTowerExtractor(par, iC) {}
45  extRadius2_(par.getParameter<double>("extRadius")),
46  intRadius_(par.getParameter<double>("intRadius")),
47  etLow_(par.getParameter<double>("etMin")),
48  caloTowerToken(iC.consumes<CaloTowerCollection>(par.getParameter<edm::InputTag>("caloTowers"))),
49  depth_(par.getParameter<int>("hcalDepth"))
50  {
52  //lets just check we have a valid depth
53  //should we throw an exception or just warn and then fail gracefully later?
55  throw cms::Exception("Configuration Error") << "hcalDepth passed to EgammaTowerExtractor is invalid "<<std::endl;
56  }
57  }
58 
59  virtual ~EgammaTowerExtractor() ;
60 
61  virtual void fillVetos(const edm::Event & ev, const edm::EventSetup & evSetup,
62  const reco::TrackCollection & tracks) { }
63  virtual reco::IsoDeposit deposit(const edm::Event & ev, const edm::EventSetup & evSetup,
64  const reco::Track & track) const {
65  throw cms::Exception("Configuration Error") <<
66  "This extractor " << (typeid(this).name()) << " is not made for tracks";
67  }
68  virtual reco::IsoDeposit deposit(const edm::Event & ev, const edm::EventSetup & evSetup,
69  const reco::Candidate & c) const ;
70 
71  private:
72  double extRadius2_ ;
73  double intRadius_ ;
74  double etLow_ ;
75 
76 
78  int depth_;
79  //const CaloTowerCollection *towercollection_ ;
80  };
81 }
82 #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
bool ev
virtual void fillVetos(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::TrackCollection &tracks)
EgammaTowerExtractor(const edm::ParameterSet &par, edm::ConsumesCollector &&iC)
EgammaTowerExtractor(const edm::ParameterSet &par, edm::ConsumesCollector &iC)
tuple tracks
Definition: testEve_cfg.py:39
edm::EDGetTokenT< CaloTowerCollection > caloTowerToken