File indexing completed on 2024-06-22 02:23:37
0001 #include "FWCore/Framework/interface/Frameworkfwd.h"
0002 #include "FWCore/Framework/interface/stream/EDProducer.h"
0003 #include "FWCore/Framework/interface/Event.h"
0004 #include "FWCore/Framework/interface/MakerMacros.h"
0005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0006 #include "FWCore/Utilities/interface/StreamID.h"
0007
0008 #include "DataFormats/FEDRawData/interface/FEDRawData.h"
0009 #include "DataFormats/L1ScoutingRawData/interface/SDSNumbering.h"
0010 #include "DataFormats/L1ScoutingRawData/interface/SDSRawDataCollection.h"
0011 #include "DataFormats/L1Scouting/interface/OrbitCollection.h"
0012
0013 #include "DataFormats/L1Scouting/interface/L1ScoutingBMTFStub.h"
0014
0015 #include "EventFilter/L1ScoutingRawToDigi/interface/shifts.h"
0016 #include "EventFilter/L1ScoutingRawToDigi/interface/masks.h"
0017 #include "EventFilter/L1ScoutingRawToDigi/interface/blocks.h"
0018 #include "L1TriggerScouting/Utilities/interface/printScObjects.h"
0019
0020 #include <memory>
0021 #include <vector>
0022 #include <iostream>
0023
0024 class ScBMTFRawToDigi : public edm::stream::EDProducer<> {
0025 public:
0026 explicit ScBMTFRawToDigi(const edm::ParameterSet&);
0027 ~ScBMTFRawToDigi() override;
0028
0029 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0030
0031 private:
0032 void produce(edm::Event&, const edm::EventSetup&) override;
0033
0034 void unpackOrbit(const unsigned char* buf, size_t len, int sdsId);
0035
0036
0037
0038 std::vector<std::vector<l1ScoutingRun3::BMTFStub>> orbitBuffer_;
0039 int nStubsOrbit_;
0040
0041 bool debug_ = false;
0042 std::vector<int> sourceIdList_;
0043 edm::InputTag srcInputTag_;
0044 edm::EDGetToken rawToken_;
0045 };