CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RecHitEnergyFilter.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: RecHitEnergyFilter
4 // Class: RecHitEnergyFilter
5 //
13 //
14 // Original Author: James Jackson
15 // Created: Mon Jan 11 09:57:58 CET 2010
16 // $Id: RecHitEnergyFilter.cc,v 1.1 2010/03/06 22:12:30 malgeri Exp $
17 //
18 //
19 
20 
21 // system include files
22 #include <memory>
23 
24 // user include files
31 
32 //
33 // class declaration
34 //
35 
37  public:
38  explicit RecHitEnergyFilter(const edm::ParameterSet&);
40 
41  private:
42  virtual void beginJob() override ;
43  virtual bool filter(edm::Event&, const edm::EventSetup&) override;
44  virtual void endJob() override ;
45 
46  // RecHit input tags
49 
50  // RecHit handles
55 
56  // Procesing control
57  bool doEb_;
58  bool doEe_;
59  double ebThresh_;
60  double eeThresh_;
61 };
62 
63 //
64 // constructors and destructor
65 //
67 {
68  doEb_ = iConfig.getParameter<bool>("DoEB");
69  doEe_ = iConfig.getParameter<bool>("DoEE");
70  ebRecHitsTag_ = iConfig.getParameter<edm::InputTag>("EBRecHits");
71  eeRecHitsTag_ = iConfig.getParameter<edm::InputTag>("EERecHits");
72  ebThresh_ = iConfig.getParameter<double>("EBThresh");
73  eeThresh_ = iConfig.getParameter<double>("EEThresh");
74 }
75 
76 
78 {
79 }
80 
81 
82 //
83 // member functions
84 //
85 
86 // ------------ method called on each new Event ------------
87 bool
89 {
90  if(doEb_)
91  {
93  ebRecHits_ = ebRecHitsH_.product();
95  {
96  double hitE = it->energy();
97  if(hitE > ebThresh_)
98  {
99  return true;
100  }
101  }
102  }
103  if(doEe_)
104  {
106  eeRecHits_ = eeRecHitsH_.product();
108  {
109  double hitE = it->energy();
110  if(hitE > eeThresh_)
111  {
112  return true;
113  }
114  }
115  }
116 
117  return false;
118 }
119 
120 // ------------ method called once each job just before starting event loop ------------
121 void
123 {
124 }
125 
126 // ------------ method called once each job just after ending the event loop ------------
127 void
129 }
130 
131 //define this as a plug-in
virtual bool filter(edm::Event &, const edm::EventSetup &) override
T getParameter(std::string const &) const
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:17
std::vector< EcalRecHit >::const_iterator const_iterator
edm::InputTag ebRecHitsTag_
RecHitEnergyFilter(const edm::ParameterSet &)
const EcalRecHitCollection * eeRecHits_
const EcalRecHitCollection * ebRecHits_
virtual void beginJob() override
edm::Handle< EcalRecHitCollection > eeRecHitsH_
virtual void endJob() override
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:420
const_iterator end() const
edm::Handle< EcalRecHitCollection > ebRecHitsH_
edm::InputTag eeRecHitsTag_
const_iterator begin() const