Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:43:19

0001 // -*- C++ -*-
0002 //
0003 // Package:    SiStripCommissioningBasicPrescaler
0004 // Class:      SiStripCommissioningBasicPrescaler
0005 //
0006 /**\class SiStripCommissioningBasicPrescaler SiStripCommissioningBasicPrescaler.cc myTestArea/SiStripCommissioningBasicPrescaler/src/SiStripCommissioningBasicPrescaler.cc
0007 
0008  Description: simply filter acording to the run type
0009 
0010  Implementation:
0011      Uses information from SiStripEventSummary, so it has to be called after Raw2Digi.
0012 */
0013 //
0014 // Original Author:  Christophe DELAERE
0015 //         Created:  Fri Jan 18 12:17:46 CET 2008
0016 //
0017 //
0018 
0019 // system include files
0020 #include <memory>
0021 #include <vector>
0022 
0023 // user include files
0024 #include "FWCore/Framework/interface/stream/EDFilter.h"
0025 #include "FWCore/Framework/interface/Event.h"
0026 #include "FWCore/Framework/interface/Frameworkfwd.h"
0027 #include "FWCore/Framework/interface/MakerMacros.h"
0028 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0029 #include "FWCore/Utilities/interface/InputTag.h"
0030 
0031 //
0032 // class declaration
0033 //
0034 
0035 class SiStripCommissioningBasicPrescaler : public edm::stream::EDFilter<> {
0036 public:
0037   explicit SiStripCommissioningBasicPrescaler(const edm::ParameterSet&);
0038   ~SiStripCommissioningBasicPrescaler() override = default;
0039 
0040 private:
0041   bool filter(edm::Event&, const edm::EventSetup&) override;
0042 
0043   // ----------member data ---------------------------
0044   uint32_t factor_;
0045 };
0046 
0047 //
0048 // constructors and destructor
0049 //
0050 SiStripCommissioningBasicPrescaler::SiStripCommissioningBasicPrescaler(const edm::ParameterSet& iConfig) {
0051   //now do what ever initialization is needed
0052   factor_ = iConfig.getParameter<uint32_t>("ScaleFactor");
0053 }
0054 
0055 //
0056 // member functions
0057 //
0058 
0059 // ------------ method called on each new Event  ------------
0060 bool SiStripCommissioningBasicPrescaler::filter(edm::Event& iEvent, const edm::EventSetup& iSetup) {
0061   using namespace edm;
0062   bool result = ((iEvent.id().event() % factor_) == 0);
0063   return result;
0064 }
0065 
0066 DEFINE_FWK_MODULE(SiStripCommissioningBasicPrescaler);