CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EENoiseFilter.cc
Go to the documentation of this file.
1 
7 
8 
9 class EENoiseFilter : public edm::EDFilter {
10 
11  public:
12 
13  explicit EENoiseFilter(const edm::ParameterSet & iConfig);
15 
16  private:
17 
18  virtual bool filter(edm::Event & iEvent, const edm::EventSetup & iSetup) override;
19 
22  const double slope_, intercept_;
23 
24  const bool taggingMode_, debug_;
25 };
26 
27 
29  : ebRHSrcToken_ (consumes<EcalRecHitCollection>(iConfig.getParameter<edm::InputTag>("EBRecHitSource")))
30  , eeRHSrcToken_ (consumes<EcalRecHitCollection>(iConfig.getParameter<edm::InputTag>("EERecHitSource")))
31  , slope_ (iConfig.getParameter<double>("Slope"))
32  , intercept_ (iConfig.getParameter<double>("Intercept"))
33  , taggingMode_ (iConfig.getParameter<bool>("taggingMode"))
34  , debug_ (iConfig.getParameter<bool>("debug"))
35 {
36  produces<bool>();
37 }
38 
39 
42  iEvent.getByToken(ebRHSrcToken_, ebRHs);
43  iEvent.getByToken(eeRHSrcToken_, eeRHs);
44 
45  const bool pass = eeRHs->size() < slope_ * ebRHs->size() + intercept_;
46 
47  iEvent.put( std::auto_ptr<bool>(new bool(pass)) );
48 
49  return taggingMode_ || pass;
50 }
51 
52 
54 
const bool taggingMode_
const double slope_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:464
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:17
int iEvent
Definition: GenABIO.cc:230
EENoiseFilter(const edm::ParameterSet &iConfig)
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition: Event.h:120
const bool debug_
virtual bool filter(edm::Event &iEvent, const edm::EventSetup &iSetup) override
const double intercept_
edm::EDGetTokenT< EcalRecHitCollection > eeRHSrcToken_
edm::EDGetTokenT< EcalRecHitCollection > ebRHSrcToken_