Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:18:08

0001 //
0002 // Original Author:  Yetkin Yilmaz,32 4-A08,+41227673039,
0003 //         Created:  Tue Jun 29 12:19:49 CEST 2010
0004 //
0005 //
0006 
0007 // system include files
0008 #include <memory>
0009 #include <vector>
0010 #include <string>
0011 
0012 // user include files
0013 #include "FWCore/Framework/interface/Frameworkfwd.h"
0014 #include "FWCore/Framework/interface/global/EDFilter.h"
0015 #include "FWCore/Framework/interface/Event.h"
0016 #include "FWCore/Framework/interface/MakerMacros.h"
0017 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0018 #include "FWCore/Utilities/interface/Exception.h"
0019 
0020 //
0021 // class declaration
0022 //
0023 
0024 class CentralityFilter : public edm::global::EDFilter<> {
0025 public:
0026   explicit CentralityFilter(const edm::ParameterSet&);
0027   ~CentralityFilter() override;
0028 
0029 private:
0030   bool filter(edm::StreamID, edm::Event&, const edm::EventSetup&) const override;
0031 
0032   // ----------member data ---------------------------
0033 
0034   std::vector<int> selectedBins_;
0035   edm::EDGetTokenT<int> tag_;
0036 };
0037 
0038 CentralityFilter::CentralityFilter(const edm::ParameterSet& iConfig)
0039     : selectedBins_(iConfig.getParameter<std::vector<int> >("selectedBins")) {
0040   using namespace edm;
0041   tag_ = consumes<int>(iConfig.getParameter<edm::InputTag>("BinLabel"));
0042 }
0043 
0044 CentralityFilter::~CentralityFilter() {}
0045 
0046 // ------------ method called on each new Event  ------------
0047 bool CentralityFilter::filter(edm::StreamID, edm::Event& iEvent, const edm::EventSetup& iSetup) const {
0048   bool result = false;
0049 
0050   using namespace edm;
0051   int bin = iEvent.get(tag_);
0052 
0053   for (unsigned int i = 0; i < selectedBins_.size(); ++i) {
0054     if (bin == selectedBins_[i])
0055       result = true;
0056   }
0057 
0058   return result;
0059 }
0060 
0061 //define this as a plug-in
0062 DEFINE_FWK_MODULE(CentralityFilter);