File indexing completed on 2023-10-25 09:45:48
0001 #ifndef EventFilter_SiStripRawToDigi_ExcludedFEDListProducer_H
0002 #define EventFilter_SiStripRawToDigi_ExcludedFEDListProducer_H
0003
0004 #include "FWCore/Framework/interface/Frameworkfwd.h"
0005 #include "FWCore/Framework/interface/stream/EDProducer.h"
0006 #include "FWCore/Framework/interface/Event.h"
0007 #include "FWCore/Framework/interface/EventSetup.h"
0008 #include "FWCore/Framework/interface/ESHandle.h"
0009 #include "FWCore/Framework/interface/MakerMacros.h"
0010 #include "FWCore/Utilities/interface/ESGetToken.h"
0011 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0012 #include "DataFormats/Common/interface/Handle.h"
0013 #include "DataFormats/Common/interface/DetSetVector.h"
0014 #include "DataFormats/DetId/interface/DetIdVector.h"
0015 #include "DataFormats/SiStripCommon/interface/SiStripConstants.h"
0016 #include "EventFilter/SiStripRawToDigi/interface/SiStripFEDBuffer.h"
0017 #include "CondFormats/SiStripObjects/interface/SiStripFedCabling.h"
0018 #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h"
0019 #include "CondFormats/DataRecord/interface/SiStripFedCablingRcd.h"
0020 #include <iostream>
0021 #include <string>
0022 #include <vector>
0023 #include <cstdint>
0024
0025 namespace sistrip {
0026
0027 class ExcludedFEDListProducer : public edm::stream::EDProducer<> {
0028 public:
0029
0030 ExcludedFEDListProducer(const edm::ParameterSet& pset);
0031
0032 ~ExcludedFEDListProducer() override;
0033 void beginRun(const edm::Run& run, const edm::EventSetup& es) override;
0034 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0035 void produce(edm::Event& event, const edm::EventSetup& es) override;
0036
0037 private:
0038 unsigned int runNumber_;
0039 uint32_t cacheId_;
0040 const SiStripFedCabling* cabling_;
0041 const edm::EDGetTokenT<FEDRawDataCollection> token_;
0042 edm::ESGetToken<SiStripFedCabling, SiStripFedCablingRcd> cablingToken_;
0043
0044 DetIdVector detids_;
0045 };
0046 }
0047 #endif