38 void endJob()
override;
48 algoBitMask_(
config.getParameter<
std::
vector<unsigned long long>>(
"algoBitMask")),
56 config.getParameter<unsigned
int>(
"maxLines"),
59 for (
unsigned int channel :
channels) {
69 auto algoBlockIt = algoBlocks.
begin();
73 std::vector<ap_uint<64>>
bits(9, 0);
75 ap_uint<64>
mask = algoMaskIt !=
algoBitMask_.end() ? *algoMaskIt++ : ~static_cast<
unsigned long long>(0);
77 for (std::size_t
idx = 0;
idx < 64 && algoBlockIt != algoBlocks.end();
idx++) {
83 eventData.
add({
"Algos", channel},
bits);
96 desc.add<std::vector<unsigned int>>(
"channels");
97 desc.add<std::vector<unsigned long long>>(
"algoBitMask", {});
98 desc.add<
unsigned int>(
"maxLines", 1024);
void analyze(const edm::Event &, const edm::EventSetup &) override
Logical ID for link within any given time slice (e.g. ["tracks", 0] -> ["tracks", 17] for links from ...
l1t::demo::BoardDataWriter boardDataWriter_
void addEvent(const EventData &data)
FileFormat parseFileFormat(const std::string &)
void add(const LinkId &, const std::vector< ap_uint< 64 >> &)
example_stream void analyze(const edm::Event &, const edm::EventSetup &) override
void addDefault(ParameterSetDescription const &psetDescription)
const std::vector< unsigned int > channels_
const edm::EDGetTokenT< P2GTAlgoBlockCollection > algoBlocksToken_
#define DEFINE_FWK_MODULE(type)
std::map< LinkId, std::pair< ChannelSpec, std::vector< size_t > > > ChannelMap_t
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const std::vector< unsigned long long > algoBitMask_
std::vector< P2GTAlgoBlock > P2GTAlgoBlockCollection
L1GTBoardWriter(const edm::ParameterSet &)
const_iterator begin() const
Class representing information phase-2 ATCA I/O data corresponding to a single event, with logical channel IDs (essentially string-uint pairs, e.g. tracks-0 to tracks-17).
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)