CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes
L1TCorrelatorLayer1PatternFileWriter Class Reference

#include <L1TCorrelatorLayer1PatternFileWriter.h>

Public Member Functions

void flush ()
 
 L1TCorrelatorLayer1PatternFileWriter (const edm::ParameterSet &iConfig, const l1ct::Event &eventTemplate)
 
void write (const l1ct::Event &event)
 
 ~L1TCorrelatorLayer1PatternFileWriter ()
 

Static Public Member Functions

static edm::ParameterSetDescription getParameterSetDescription ()
 

Private Types

enum  Partition { Partition::Barrel, Partition::HGCal, Partition::HGCalNoTk, Partition::HF }
 

Private Member Functions

void configLinks (const edm::ParameterSet &iConfig, const std::string &prefix, unsigned int linksFactor, unsigned int offset)
 
void configSectors (const edm::ParameterSet &iConfig, const std::string &prefix, unsigned int nSectors, unsigned int linksFactor)
 
void configTimeSlices (const edm::ParameterSet &iConfig, const std::string &prefix, unsigned int nSectors, unsigned int nTimeSlices, unsigned int linksFactor)
 
void writeBarrelGCT (const l1ct::Event &event, l1t::demo::EventData &out)
 
void writeEgamma (const l1ct::OutputBoard &egboard, std::vector< ap_uint< 64 >> &out)
 
void writeEgamma (const l1ct::Event &event, l1t::demo::EventData &out)
 
void writeGMT (const l1ct::Event &event, l1t::demo::EventData &out)
 
void writeGTT (const l1ct::Event &event, l1t::demo::EventData &out)
 
void writeHGC (const l1ct::Event &event, l1t::demo::EventData &out)
 
void writePuppi (const l1ct::Event &event, l1t::demo::EventData &out)
 
void writeTF (const l1ct::Event &event, l1t::demo::EventData &out)
 

Static Private Member Functions

static std::unique_ptr< edm::ParameterDescriptionNodedescribeEG ()
 
static std::unique_ptr< edm::ParameterDescriptionNodedescribeGCT ()
 
static std::unique_ptr< edm::ParameterDescriptionNodedescribeGMT ()
 
static std::unique_ptr< edm::ParameterDescriptionNodedescribeGTT ()
 
static std::unique_ptr< edm::ParameterDescriptionNodedescribeHGC ()
 
static std::unique_ptr< edm::ParameterDescriptionNodedescribeLinks (const std::string &prefix)
 
static std::unique_ptr< edm::ParameterDescriptionNodedescribePuppi ()
 
static std::unique_ptr< edm::ParameterDescriptionNodedescribeSectors (const std::string &prefix)
 
static std::unique_ptr< edm::ParameterDescriptionNodedescribeTF ()
 
static std::unique_ptr< edm::ParameterDescriptionNodedescribeTimeSlices (const std::string &prefix)
 
static Partition parsePartition (const std::string &partition)
 

Private Attributes

std::map< l1t::demo::LinkId, std::vector< size_t > > channelIdsInput_
 
std::map< l1t::demo::LinkId, std::vector< size_t > > channelIdsOutput_
 
std::map< std::string, l1t::demo::ChannelSpecchannelSpecsInput_
 
std::map< std::string, l1t::demo::ChannelSpecchannelSpecsOutput_
 
uint32_t eventIndex_
 
const uint32_t eventsPerFile_
 
const std::string fileFormat_
 
uint32_t gctLinksEcal_
 
uint32_t gctLinksHad_
 
const unsigned int gctSectors_ = 3
 
bool gctSingleLink_
 
const unsigned int gctTimeslices_
 
const unsigned int gctTmuxFactor_ = 1
 
const unsigned int gmtLinksFactor_ = 1
 
uint32_t gmtNumberOfMuons_
 
const unsigned int gmtTimeslices_
 
const unsigned int gmtTmuxFactor_ = 18
 
uint32_t gttLatency_
 
const unsigned int gttLinksFactor_ = 1
 
uint32_t gttNumberOfPVs_
 
const unsigned int gttTimeslices_
 
const unsigned int gttTmuxFactor_ = 6
 
const unsigned int hgcLinksFactor_ = 4
 
const unsigned int hgcTimeslices_
 
const unsigned int hgcTmuxFactor_ = 18
 
std::unique_ptr< l1t::demo::BoardDataWriterinputFileWriter_
 
uint32_t nEgammaObjectsOut_
 
uint32_t nInputFramesPerBX_
 
uint32_t nOutputFramesPerBX_
 
unsigned int nPuppiFramesPerRegion_
 
int32_t outputBoard_
 
std::unique_ptr< l1t::demo::BoardDataWriteroutputFileWriter_
 
int32_t outputLinkEgamma_
 
std::vector< uint32_t > outputLinksPuppi_
 
std::vector< uint32_t > outputRegions_
 
Partition partition_
 
const unsigned int tfLinksFactor_ = 1
 
const unsigned int tfTimeslices_
 
const unsigned int tfTmuxFactor_ = 18
 
const unsigned int tmuxFactor_
 
bool writeInputs_
 
bool writeOutputs_
 

Detailed Description

Definition at line 11 of file L1TCorrelatorLayer1PatternFileWriter.h.

Member Enumeration Documentation

◆ Partition

Enumerator
Barrel 
HGCal 
HGCalNoTk 
HF 

Definition at line 22 of file L1TCorrelatorLayer1PatternFileWriter.h.

22 { Barrel, HGCal, HGCalNoTk, HF };

Constructor & Destructor Documentation

◆ L1TCorrelatorLayer1PatternFileWriter()

L1TCorrelatorLayer1PatternFileWriter::L1TCorrelatorLayer1PatternFileWriter ( const edm::ParameterSet iConfig,
const l1ct::Event eventTemplate 
)

Definition at line 7 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References Barrel, channelIdsInput_, channelIdsOutput_, channelSpecsInput_, channelSpecsOutput_, configTimeSlices(), Exception, fileFormat_, gctLinksEcal_, gctLinksHad_, gctSectors_, gctSingleLink_, gctTimeslices_, edm::ParameterSet::getParameter(), gmtLinksFactor_, gmtNumberOfMuons_, gmtTimeslices_, gttLatency_, gttLinksFactor_, gttNumberOfPVs_, gttTimeslices_, HGCal, l1ct::RawInputs::hgcalcluster, HGCalNoTk, hgcLinksFactor_, hgcTimeslices_, mps_fire::i, inputFileWriter_, nEgammaObjectsOut_, nInputFramesPerBX_, nOutputFramesPerBX_, nPuppiFramesPerRegion_, outputBoard_, outputFileWriter_, outputLinkEgamma_, outputLinksPuppi_, outputRegions_, l1t::demo::parseFileFormat(), partition_, l1ct::Event::raw, AlCaHLTBitMon_QueryRunRegistry::string, tfLinksFactor_, tfTimeslices_, tfTmuxFactor_, tmuxFactor_, l1ct::RawInputs::track, writeInputs_, and writeOutputs_.

9  : partition_(parsePartition(iConfig.getParameter<std::string>("partition"))),
10  tmuxFactor_(iConfig.getParameter<uint32_t>("tmuxFactor")),
11  writeInputs_(!iConfig.getParameter<std::string>("inputFileName").empty()),
12  writeOutputs_(!iConfig.getParameter<std::string>("outputFileName").empty()),
18  outputBoard_(-1),
20  fileFormat_(iConfig.getParameter<std::string>("fileFormat")),
21  eventsPerFile_(iConfig.getParameter<uint32_t>("eventsPerFile")),
22  eventIndex_(0) {
23  if (writeInputs_) {
24  nInputFramesPerBX_ = iConfig.getParameter<uint32_t>("nInputFramesPerBX");
25 
27  configTimeSlices(iConfig, "tf", eventTemplate.raw.track.size(), tfTimeslices_, tfLinksFactor_);
29  }
31  auto sectorConfig = iConfig.getParameter<std::vector<edm::ParameterSet>>("gctSectors");
32  gctLinksEcal_ = iConfig.getParameter<uint32_t>("gctNLinksEcal");
33  gctLinksHad_ = iConfig.getParameter<uint32_t>("gctNLinksHad");
34  gctSingleLink_ = false;
35  bool gctHasMultiLink = false;
36  if (sectorConfig.size() != gctSectors_)
37  throw cms::Exception("Configuration", "Bad number of GCT sectors");
38  for (unsigned int iS = 0; iS < gctSectors_; ++iS) {
39  auto linksEcal = sectorConfig[iS].getParameter<std::vector<int32_t>>("gctLinksEcal");
40  auto linksHad = sectorConfig[iS].getParameter<std::vector<int32_t>>("gctLinksHad");
41  if (linksEcal.size() != gctLinksEcal_ || linksHad.size() != gctLinksHad_)
42  throw cms::Exception("Configuration", "Bad number of GCT links");
43  unsigned int iLink = 0;
44  if (!(gctLinksEcal_ == 1 && gctLinksHad_ == 1 && linksEcal[0] == linksHad[0] && linksEcal[0] != -1)) {
45  for (unsigned int i = 0; i < gctLinksHad_; ++i, ++iLink) {
46  if (linksHad[i] != -1)
47  channelIdsInput_[l1t::demo::LinkId{"gct", iLink + 10 * iS}].push_back(linksHad[i]);
48  }
49  for (unsigned int i = 0; i < gctLinksEcal_; ++i) {
50  if (linksEcal[i] != -1)
51  channelIdsInput_[l1t::demo::LinkId{"gct", iLink + 10 * iS}].push_back(linksEcal[i]);
52  }
53  gctHasMultiLink = true;
54  } else { // single link combining ecal and hcal
55  channelIdsInput_[l1t::demo::LinkId{"gct", 10 * iS}].push_back(linksEcal[0]);
56  gctSingleLink_ = true;
57  }
59  }
60  if (gctSingleLink_ && gctHasMultiLink)
61  throw cms::Exception("Configuration", "Some GCT sectors have a single link, others have multiple.");
62  }
64  configTimeSlices(iConfig, "hgc", eventTemplate.raw.hgcalcluster.size(), hgcTimeslices_, hgcLinksFactor_);
66  }
68  configTimeSlices(iConfig, "gmt", 1, gmtTimeslices_, gmtLinksFactor_);
69  gmtNumberOfMuons_ = iConfig.getParameter<uint32_t>("gmtNumberOfMuons");
72  }
74  configTimeSlices(iConfig, "gtt", 1, gttTimeslices_, gttLinksFactor_);
75  gttLatency_ = iConfig.getParameter<uint32_t>("gttLatency");
76  gttNumberOfPVs_ = iConfig.getParameter<uint32_t>("gttNumberOfPVs");
78  }
80  std::make_unique<l1t::demo::BoardDataWriter>(l1t::demo::parseFileFormat(fileFormat_),
81  iConfig.getParameter<std::string>("inputFileName"),
82  iConfig.getParameter<std::string>("inputFileExtension"),
85  iConfig.getParameter<uint32_t>("maxLinesPerInputFile"),
88  }
89 
90  if (writeOutputs_) {
91  nOutputFramesPerBX_ = iConfig.getParameter<uint32_t>("nOutputFramesPerBX");
92 
93  outputRegions_ = iConfig.getParameter<std::vector<uint32_t>>("outputRegions");
94  outputLinksPuppi_ = iConfig.getParameter<std::vector<uint32_t>>("outputLinksPuppi");
95  for (unsigned int i = 0; i < outputLinksPuppi_.size(); ++i) {
97  }
98  channelSpecsOutput_["puppi"] = {tmuxFactor_, 0};
101  outputLinkEgamma_ = iConfig.getParameter<int32_t>("outputLinkEgamma");
102  nEgammaObjectsOut_ = iConfig.getParameter<uint32_t>("nEgammaObjectsOut");
103  if (outputLinkEgamma_ != -1) {
104  channelIdsOutput_[l1t::demo::LinkId{"egamma", 0}].push_back(outputLinkEgamma_);
105  if (tmuxFactor_ == 18) {
106  // the format is different, as we put together multiple endcaps or slices
107  unsigned int nboards = (partition_ == Partition::Barrel) ? 3 : 2;
108  channelSpecsOutput_["egamma"] = {tmuxFactor_,
110  } else {
111  outputBoard_ = iConfig.getParameter<int32_t>("outputBoard");
113  }
114  }
115  }
117  std::make_unique<l1t::demo::BoardDataWriter>(l1t::demo::parseFileFormat(fileFormat_),
118  iConfig.getParameter<std::string>("outputFileName"),
119  iConfig.getParameter<std::string>("outputFileExtension"),
121  tmuxFactor_,
122  iConfig.getParameter<uint32_t>("maxLinesPerOutputFile"),
125  }
126 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
Logical ID for link within any given time slice (e.g. ["tracks", 0] -> ["tracks", 17] for links from ...
Definition: LinkId.h:10
void configTimeSlices(const edm::ParameterSet &iConfig, const std::string &prefix, unsigned int nSectors, unsigned int nTimeSlices, unsigned int linksFactor)
std::unique_ptr< l1t::demo::BoardDataWriter > inputFileWriter_
FileFormat parseFileFormat(const std::string &)
Definition: utilities.cc:73
std::map< std::string, l1t::demo::ChannelSpec > channelSpecsInput_
std::map< l1t::demo::LinkId, std::vector< size_t > > channelIdsOutput_
RawInputs raw
std::unique_ptr< l1t::demo::BoardDataWriter > outputFileWriter_
static Partition parsePartition(const std::string &partition)
std::vector< DetectorSector< ap_uint< 96 > > > track
std::vector< DetectorSector< ap_uint< 256 > > > hgcalcluster
std::map< l1t::demo::LinkId, std::vector< size_t > > channelIdsInput_
std::map< std::string, l1t::demo::ChannelSpec > channelSpecsOutput_

◆ ~L1TCorrelatorLayer1PatternFileWriter()

L1TCorrelatorLayer1PatternFileWriter::~L1TCorrelatorLayer1PatternFileWriter ( )

Definition at line 128 of file L1TCorrelatorLayer1PatternFileWriter.cc.

128 {}

Member Function Documentation

◆ configLinks()

void L1TCorrelatorLayer1PatternFileWriter::configLinks ( const edm::ParameterSet iConfig,
const std::string &  prefix,
unsigned int  linksFactor,
unsigned int  offset 
)
private

Definition at line 289 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References channelIdsInput_, edm::ParameterSet::getParameter(), mps_fire::i, electronStore::links, hltrates_dqm_sourceclient-live_cfg::offset, and hcallasereventfilter2012_cfi::prefix.

Referenced by configSectors().

292  {
293  if (linksFactor > 1) {
294  auto links = iConfig.getParameter<std::vector<int32_t>>(prefix + "Links");
295  if (links.size() != linksFactor)
296  throw cms::Exception("Configuration")
297  << "Mismatched number of " << prefix << "Links, expected " << linksFactor << std::endl;
298  for (unsigned int i = 0; i < linksFactor; ++i) {
299  if (links[i] != -1) {
301  }
302  }
303  } else {
304  auto link = iConfig.getParameter<int32_t>(prefix + "Link");
305  if (link != -1) {
306  channelIdsInput_[l1t::demo::LinkId{prefix, offset}].push_back(link);
307  }
308  }
309 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
Logical ID for link within any given time slice (e.g. ["tracks", 0] -> ["tracks", 17] for links from ...
Definition: LinkId.h:10
std::map< l1t::demo::LinkId, std::vector< size_t > > channelIdsInput_

◆ configSectors()

void L1TCorrelatorLayer1PatternFileWriter::configSectors ( const edm::ParameterSet iConfig,
const std::string &  prefix,
unsigned int  nSectors,
unsigned int  linksFactor 
)
private

Definition at line 264 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References configLinks(), edm::ParameterSet::getParameter(), and hcallasereventfilter2012_cfi::prefix.

Referenced by configTimeSlices().

267  {
268  if (nSectors > 1) {
269  auto sectorConfig = iConfig.getParameter<std::vector<edm::ParameterSet>>(prefix + "Sectors");
270  if (sectorConfig.size() != nSectors)
271  throw cms::Exception("Configuration")
272  << "Mismatched number of " << prefix << "Sectors, expected " << nSectors << std::endl;
273  for (unsigned int iS = 0; iS < nSectors; ++iS) {
274  configLinks(sectorConfig[iS], prefix, linksFactor, linksFactor > 1 ? iS * 10 : iS);
275  }
276  } else {
277  configLinks(iConfig, prefix, linksFactor, 0);
278  }
279 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
void configLinks(const edm::ParameterSet &iConfig, const std::string &prefix, unsigned int linksFactor, unsigned int offset)

◆ configTimeSlices()

void L1TCorrelatorLayer1PatternFileWriter::configTimeSlices ( const edm::ParameterSet iConfig,
const std::string &  prefix,
unsigned int  nSectors,
unsigned int  nTimeSlices,
unsigned int  linksFactor 
)
private

Definition at line 238 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References configSectors(), edm::ParameterSet::getParameter(), and hcallasereventfilter2012_cfi::prefix.

Referenced by L1TCorrelatorLayer1PatternFileWriter().

242  {
243  if (nTimeSlices > 1) {
244  auto timeSliceConfig = iConfig.getParameter<std::vector<edm::ParameterSet>>(prefix + "TimeSlices");
245  if (timeSliceConfig.size() != nTimeSlices)
246  throw cms::Exception("Configuration")
247  << "Mismatched number of " << prefix << "TimeSlices, expected " << nTimeSlices << std::endl;
248  for (unsigned int iT = 0; iT < nTimeSlices; ++iT) {
249  configSectors(timeSliceConfig[iT], prefix, nSectors, linksFactor);
250  }
251  } else {
252  configSectors(iConfig, prefix, nSectors, linksFactor);
253  }
254 }
void configSectors(const edm::ParameterSet &iConfig, const std::string &prefix, unsigned int nSectors, unsigned int linksFactor)
T getParameter(std::string const &) const
Definition: ParameterSet.h:307

◆ describeEG()

std::unique_ptr< edm::ParameterDescriptionNode > L1TCorrelatorLayer1PatternFileWriter::describeEG ( )
staticprivate

Definition at line 181 of file L1TCorrelatorLayer1PatternFileWriter.cc.

Referenced by getParameterSetDescription().

181  {
182  return edm::ParameterDescription<int32_t>("outputLinkEgamma", -1, true) and
183  edm::ParameterDescription<uint32_t>("nEgammaObjectsOut", 16, true) and
184  edm::ParameterDescription<int32_t>("outputBoard", -1, true);
185 }
HLT enums.

◆ describeGCT()

std::unique_ptr< edm::ParameterDescriptionNode > L1TCorrelatorLayer1PatternFileWriter::describeGCT ( )
staticprivate

Definition at line 157 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References edm::ParameterSetDescription::add().

Referenced by getParameterSetDescription().

157  {
158  edm::ParameterSetDescription gctSectorPSD;
159  gctSectorPSD.add<std::vector<int32_t>>("gctLinksEcal");
160  gctSectorPSD.add<std::vector<int32_t>>("gctLinksHad");
161  return std::make_unique<edm::ParameterDescription<std::vector<edm::ParameterSet>>>(
162  "gctSectors", gctSectorPSD, true) and
163  edm::ParameterDescription<uint32_t>("gctNLinksEcal", 1, true) and
164  edm::ParameterDescription<uint32_t>("gctNLinksHad", 2, true);
165 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
HLT enums.

◆ describeGMT()

std::unique_ptr< edm::ParameterDescriptionNode > L1TCorrelatorLayer1PatternFileWriter::describeGMT ( )
staticprivate

Definition at line 169 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References describeTimeSlices().

Referenced by getParameterSetDescription().

169  {
170  return describeTimeSlices("gmt") and edm::ParameterDescription<uint32_t>("gmtNumberOfMuons", 12, true);
171 }
static std::unique_ptr< edm::ParameterDescriptionNode > describeTimeSlices(const std::string &prefix)
HLT enums.

◆ describeGTT()

std::unique_ptr< edm::ParameterDescriptionNode > L1TCorrelatorLayer1PatternFileWriter::describeGTT ( )
staticprivate

Definition at line 172 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References describeTimeSlices().

Referenced by getParameterSetDescription().

172  {
173  return describeTimeSlices("gtt") and
174  edm::ParameterDescription<uint32_t>("gttLatency", 162, true) and // minimal latency is 18 BX
175  edm::ParameterDescription<uint32_t>("gttNumberOfPVs", 10, true);
176 }
static std::unique_ptr< edm::ParameterDescriptionNode > describeTimeSlices(const std::string &prefix)
HLT enums.

◆ describeHGC()

std::unique_ptr< edm::ParameterDescriptionNode > L1TCorrelatorLayer1PatternFileWriter::describeHGC ( )
staticprivate

Definition at line 166 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References describeTimeSlices().

Referenced by getParameterSetDescription().

166  {
167  return describeTimeSlices("hgc");
168 }
static std::unique_ptr< edm::ParameterDescriptionNode > describeTimeSlices(const std::string &prefix)

◆ describeLinks()

std::unique_ptr< edm::ParameterDescriptionNode > L1TCorrelatorLayer1PatternFileWriter::describeLinks ( const std::string &  prefix)
staticprivate

◆ describePuppi()

std::unique_ptr< edm::ParameterDescriptionNode > L1TCorrelatorLayer1PatternFileWriter::describePuppi ( )
staticprivate

◆ describeSectors()

std::unique_ptr< edm::ParameterDescriptionNode > L1TCorrelatorLayer1PatternFileWriter::describeSectors ( const std::string &  prefix)
staticprivate

Definition at line 281 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References edm::ParameterSetDescription::addNode(), describeLinks(), and hcallasereventfilter2012_cfi::prefix.

Referenced by describeTimeSlices().

282  {
283  edm::ParameterSetDescription sectorsPSD;
284  sectorsPSD.addNode(describeLinks(prefix));
285  return edm::ParameterDescription<std::vector<edm::ParameterSet>>(prefix + "Sectors", sectorsPSD, true) xor
287 }
static std::unique_ptr< edm::ParameterDescriptionNode > describeLinks(const std::string &prefix)
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)

◆ describeTF()

std::unique_ptr< edm::ParameterDescriptionNode > L1TCorrelatorLayer1PatternFileWriter::describeTF ( )
staticprivate

Definition at line 154 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References describeTimeSlices().

Referenced by getParameterSetDescription().

154  {
155  return describeTimeSlices("tf");
156 }
static std::unique_ptr< edm::ParameterDescriptionNode > describeTimeSlices(const std::string &prefix)

◆ describeTimeSlices()

std::unique_ptr< edm::ParameterDescriptionNode > L1TCorrelatorLayer1PatternFileWriter::describeTimeSlices ( const std::string &  prefix)
staticprivate

Definition at line 256 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References edm::ParameterSetDescription::addNode(), describeSectors(), and hcallasereventfilter2012_cfi::prefix.

Referenced by describeGMT(), describeGTT(), describeHGC(), and describeTF().

257  {
258  edm::ParameterSetDescription timeslicesPSD;
259  timeslicesPSD.addNode(describeSectors(prefix));
260  return edm::ParameterDescription<std::vector<edm::ParameterSet>>(prefix + "TimeSlices", timeslicesPSD, true) xor
262 }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
static std::unique_ptr< edm::ParameterDescriptionNode > describeSectors(const std::string &prefix)

◆ flush()

void L1TCorrelatorLayer1PatternFileWriter::flush ( )

Definition at line 490 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References inputFileWriter_, and outputFileWriter_.

490  {
491  if (inputFileWriter_)
492  inputFileWriter_->flush();
493  if (outputFileWriter_)
494  outputFileWriter_->flush();
495 }
std::unique_ptr< l1t::demo::BoardDataWriter > inputFileWriter_
std::unique_ptr< l1t::demo::BoardDataWriter > outputFileWriter_

◆ getParameterSetDescription()

edm::ParameterSetDescription L1TCorrelatorLayer1PatternFileWriter::getParameterSetDescription ( )
static

Definition at line 130 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References describeEG(), describeGCT(), describeGMT(), describeGTT(), describeHGC(), describePuppi(), describeTF(), makeListRunsInFiles::description, or, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by L1TCorrelatorLayer1Producer::fillDescriptions().

130  {
132  description.add<std::string>("inputFileName", "");
133  description.add<std::string>("inputFileExtension", "txt.gz");
134  description.add<uint32_t>("maxLinesPerInputFile", 1024u);
135  description.add<uint32_t>("nInputFramesPerBX", 9u);
136  description.add<std::string>("outputFileName", "");
137  description.add<std::string>("outputFileExtension", "txt.gz");
138  description.add<uint32_t>("maxLinesPerOutputFile", 1024u);
139  description.add<uint32_t>("nOutputFramesPerBX", 9u);
140  description.add<uint32_t>("tmuxFactor", 6u);
141  description.add<uint32_t>("eventsPerFile", 12u);
142  description.add<std::string>("fileFormat");
143 
144  description.ifValue(edm::ParameterDescription<std::string>("partition", "Barrel", true),
145  "Barrel" >> (describeTF() and describeGCT() and describeGTT() and describeGMT() and
146  describePuppi() and describeEG()) or
147  "HGCal" >> (describeTF() and describeHGC() and describeGTT() and describeGMT() and
148  describePuppi() and describeEG()) or
149  "HGCalNoTk" >> (describeHGC() and describeGMT() and describePuppi()) or
150  "HF" >> (describePuppi()));
151  return description;
152 }
static std::unique_ptr< edm::ParameterDescriptionNode > describeHGC()
static std::unique_ptr< edm::ParameterDescriptionNode > describePuppi()
static std::unique_ptr< edm::ParameterDescriptionNode > describeEG()
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
static std::unique_ptr< edm::ParameterDescriptionNode > describeGTT()
static std::unique_ptr< edm::ParameterDescriptionNode > describeGCT()
static std::unique_ptr< edm::ParameterDescriptionNode > describeTF()
static std::unique_ptr< edm::ParameterDescriptionNode > describeGMT()

◆ parsePartition()

L1TCorrelatorLayer1PatternFileWriter::Partition L1TCorrelatorLayer1PatternFileWriter::parsePartition ( const std::string &  partition)
staticprivate

◆ write()

void L1TCorrelatorLayer1PatternFileWriter::write ( const l1ct::Event event)

Definition at line 187 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References Barrel, eventIndex_, eventsPerFile_, HGCal, HGCalNoTk, inputFileWriter_, PixelMapPlotter::inputs, outputFileWriter_, outputLinkEgamma_, PatBasicFWLiteJetAnalyzer_Selector_cfg::outputs, partition_, writeBarrelGCT(), writeEgamma(), writeGMT(), writeGTT(), writeHGC(), writeInputs_, writeOutputs_, writePuppi(), and writeTF().

187  {
188  if (writeInputs_) {
191  writeTF(event, inputs);
192  }
193  if (partition_ == Partition::Barrel) {
195  }
198  }
201  }
204  }
205  inputFileWriter_->addEvent(inputs);
206  }
207 
208  if (writeOutputs_) {
211  if (outputLinkEgamma_ != -1)
213  outputFileWriter_->addEvent(outputs);
214  }
215 
216  eventIndex_++;
217  if (eventIndex_ % eventsPerFile_ == 0) {
218  if (writeInputs_)
219  inputFileWriter_->flush();
220  if (writeOutputs_)
221  outputFileWriter_->flush();
222  }
223 }
void writeGMT(const l1ct::Event &event, l1t::demo::EventData &out)
std::unique_ptr< l1t::demo::BoardDataWriter > inputFileWriter_
void writeGTT(const l1ct::Event &event, l1t::demo::EventData &out)
void writePuppi(const l1ct::Event &event, l1t::demo::EventData &out)
void writeTF(const l1ct::Event &event, l1t::demo::EventData &out)
void writeBarrelGCT(const l1ct::Event &event, l1t::demo::EventData &out)
std::unique_ptr< l1t::demo::BoardDataWriter > outputFileWriter_
void writeHGC(const l1ct::Event &event, l1t::demo::EventData &out)
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).
Definition: EventData.h:28
void writeEgamma(const l1ct::OutputBoard &egboard, std::vector< ap_uint< 64 >> &out)
Definition: event.py:1

◆ writeBarrelGCT()

void L1TCorrelatorLayer1PatternFileWriter::writeBarrelGCT ( const l1ct::Event event,
l1t::demo::EventData out 
)
private

Definition at line 373 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References channelIdsInput_, l1ct::MiddleBufferMultififoRegionizerEmulator::encode(), gctLinksEcal_, gctLinksHad_, gctSectors_, gctSingleLink_, mps_fire::i, l1tnanotables_cff::ihad, SiStripPI::min, MillePedeFileConverter_cfg::out, timeUnitHelper::pack(), runTheMatrix::ret, and createJobs::tmp.

Referenced by write().

373  {
374  std::vector<ap_uint<64>> ret;
375  for (unsigned int iS = 0; iS < gctSectors_; ++iS) {
376  l1t::demo::LinkId key0{"gct", iS * 10};
377  if (channelIdsInput_.count(key0) == 0)
378  continue;
379  const auto& had = event.decoded.hadcalo[iS];
380  const auto& ecal = event.decoded.emcalo[iS];
381  if (!gctSingleLink_) {
382  unsigned int iLink = 0, nHad = had.size(), nEcal = ecal.size();
383  for (unsigned int i = 0; i < gctLinksHad_; ++i, ++iLink) {
384  ret.clear();
385  for (unsigned int iHad = i; iHad < nHad; iHad += gctLinksHad_) {
386  ret.emplace_back(had[iHad].pack());
387  }
388  if (ret.empty())
389  ret.emplace_back(0);
390  out.add(l1t::demo::LinkId{"gct", iS * 10 + iLink}, ret);
391  }
392  for (unsigned int i = 0; i < gctLinksEcal_; ++i, ++iLink) {
393  ret.clear();
394  for (unsigned int iEcal = i; iEcal < nEcal; iEcal += gctLinksEcal_) {
395  ret.emplace_back(ecal[iEcal].pack());
396  }
397  if (ret.empty())
398  ret.emplace_back(0);
399  out.add(l1t::demo::LinkId{"gct", iS * 10 + iLink}, ret);
400  }
401  } else {
402  const unsigned int NCLK_EM = 54, NCLK_TOT = 3 * NCLK_EM;
404  ret.resize(std::min(NCLK_EM + had.size(), NCLK_TOT));
405  for (unsigned int iclock = 0, nem = ecal.size(); iclock < NCLK_EM; ++iclock) {
406  if (iclock < nem) {
408  ret[iclock] = tmp.pack();
409  } else {
410  ret[iclock] = 0;
411  }
412  }
413  for (unsigned int ihad = 0, iclock = NCLK_EM, nhad = had.size(); iclock < NCLK_TOT && ihad < nhad;
414  ++iclock, ++ihad) {
416  ret[iclock] = tmp.pack();
417  }
418  out.add(l1t::demo::LinkId{"gct", iS * 10}, ret);
419  }
420  }
421 }
def pack(high, low)
Logical ID for link within any given time slice (e.g. ["tracks", 0] -> ["tracks", 17] for links from ...
Definition: LinkId.h:10
static void encode(const l1ct::EmCaloObjEmu &from, l1ct::HadCaloObjEmu &to)
ret
prodAgent to be discontinued
tmp
align.sh
Definition: createJobs.py:716
std::map< l1t::demo::LinkId, std::vector< size_t > > channelIdsInput_

◆ writeEgamma() [1/2]

void L1TCorrelatorLayer1PatternFileWriter::writeEgamma ( const l1ct::OutputBoard egboard,
std::vector< ap_uint< 64 >> &  out 
)
private

Definition at line 456 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References l1ct::OutputBoard::egelectron, l1ct::OutputBoard::egphoton, nEgammaObjectsOut_, AlCaHLTBitMon_ParallelJobs::p, and runTheMatrix::ret.

Referenced by write(), and writeEgamma().

457  {
458  unsigned int s0 = ret.size();
459  const auto& pho = egboard.egphoton;
460  const auto& ele = egboard.egelectron;
461  ret.reserve(s0 + 3 * nEgammaObjectsOut_);
462  for (const auto& p : pho) {
463  ret.emplace_back(p.pack());
464  }
465  ret.resize(s0 + nEgammaObjectsOut_, ap_uint<64>(0));
466  for (const auto& p : ele) {
467  ap_uint<128> dword = p.pack();
468  ret.push_back(dword(63, 0));
469  ret.push_back(dword(127, 64));
470  }
471  ret.resize(s0 + 3 * nEgammaObjectsOut_, ap_uint<64>(0));
472 }
ret
prodAgent to be discontinued
std::vector< EGIsoEleObjEmu > egelectron
std::vector< EGIsoObjEmu > egphoton

◆ writeEgamma() [2/2]

void L1TCorrelatorLayer1PatternFileWriter::writeEgamma ( const l1ct::Event event,
l1t::demo::EventData out 
)
private

Definition at line 474 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References nOutputFramesPerBX_, gen::npad, MillePedeFileConverter_cfg::out, outputBoard_, runTheMatrix::ret, tmuxFactor_, and writeEgamma().

474  {
475  std::vector<ap_uint<64>> ret;
476  if (tmuxFactor_ == 18) {
477  // the format is different, as we put together all boards
478  unsigned int nboards = event.board_out.size();
479  unsigned int npad = nOutputFramesPerBX_ * tmuxFactor_ / nboards;
480  for (unsigned int board = 0; board < nboards; ++board) {
481  ret.resize(board * npad, ap_uint<64>(0));
482  writeEgamma(event.board_out[board], ret);
483  }
484  } else {
485  writeEgamma(event.board_out[outputBoard_], ret);
486  }
487  out.add(l1t::demo::LinkId{"egamma", 0}, ret);
488 }
Logical ID for link within any given time slice (e.g. ["tracks", 0] -> ["tracks", 17] for links from ...
Definition: LinkId.h:10
ret
prodAgent to be discontinued
void writeEgamma(const l1ct::OutputBoard &egboard, std::vector< ap_uint< 64 >> &out)
Definition: event.py:1

◆ writeGMT()

void L1TCorrelatorLayer1PatternFileWriter::writeGMT ( const l1ct::Event event,
l1t::demo::EventData out 
)
private

Definition at line 423 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References channelIdsInput_, gmtNumberOfMuons_, submitPVResolutionJobs::key, DiMuonV_cfg::muons, and MillePedeFileConverter_cfg::out.

Referenced by write().

423  {
424  l1t::demo::LinkId key{"gmt", 0};
425  if (channelIdsInput_.count(key) == 0)
426  return;
427  std::vector<ap_uint<64>> muons = event.raw.muon.obj;
428  muons.resize(gmtNumberOfMuons_, ap_uint<64>(0));
429  out.add(key, muons);
430 }
Logical ID for link within any given time slice (e.g. ["tracks", 0] -> ["tracks", 17] for links from ...
Definition: LinkId.h:10
muons
the two sets of parameters below are mutually exclusive, depending if RECO or ALCARECO is used the us...
Definition: DiMuonV_cfg.py:214
key
prepare the HTCondor submission files and eventually submit them
std::map< l1t::demo::LinkId, std::vector< size_t > > channelIdsInput_

◆ writeGTT()

void L1TCorrelatorLayer1PatternFileWriter::writeGTT ( const l1ct::Event event,
l1t::demo::EventData out 
)
private

Definition at line 432 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References channelIdsInput_, gttNumberOfPVs_, submitPVResolutionJobs::key, MillePedeFileConverter_cfg::out, and FSQDQM_cfi::pvs.

Referenced by write().

432  {
433  l1t::demo::LinkId key{"gtt", 0};
434  if (channelIdsInput_.count(key) == 0)
435  return;
436  std::vector<ap_uint<64>> pvs = event.pvs_emu;
437  pvs.resize(gttNumberOfPVs_, ap_uint<64>(0));
438  out.add(key, pvs);
439 }
Logical ID for link within any given time slice (e.g. ["tracks", 0] -> ["tracks", 17] for links from ...
Definition: LinkId.h:10
key
prepare the HTCondor submission files and eventually submit them
std::map< l1t::demo::LinkId, std::vector< size_t > > channelIdsInput_

◆ writeHGC()

void L1TCorrelatorLayer1PatternFileWriter::writeHGC ( const l1ct::Event event,
l1t::demo::EventData out 
)
private

Definition at line 341 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References cms::cuda::assert(), channelIdsInput_, eventIndex_, hgcLinksFactor_, hgcTimeslices_, dqmiolumiharvest::j, MillePedeFileConverter_cfg::out, runTheMatrix::ret, and tmuxFactor_.

Referenced by write().

341  {
342  assert(hgcLinksFactor_ == 4); // this piece of code won't really work otherwise
343  std::vector<ap_uint<64>> ret[hgcLinksFactor_];
344  for (unsigned int iS = 0, nS = event.raw.hgcalcluster.size(); iS < nS; ++iS) {
345  l1t::demo::LinkId key0{"hgc", iS * 10};
346  if (channelIdsInput_.count(key0) == 0)
347  continue;
348  for (unsigned int il = 0; il < hgcLinksFactor_; ++il) {
349  // put header word and (dummy) towers
350  ret[il].resize(31);
351  ap_uint<64>& head64 = ret[il][0];
352  head64(63, 48) = 0xABC0; // Magic
353  head64(47, 38) = 0; // Opaque
354  head64(39, 32) = (eventIndex_ % hgcTimeslices_) * tmuxFactor_; // TM slice
355  head64(31, 24) = iS; // Sector
356  head64(23, 16) = il; // link
357  head64(15, 0) = eventIndex_ % 3564; // BX
358  for (unsigned int j = 0; j < 30; ++j) {
359  ret[il][j + 1] = 4 * j + il;
360  }
361  }
362  for (auto clust : event.raw.hgcalcluster[iS].obj) {
363  for (unsigned int il = 0; il < hgcLinksFactor_; ++il) {
364  ret[il].push_back(clust(64 * il + 63, 64 * il));
365  }
366  }
367  for (unsigned int il = 0; il < hgcLinksFactor_; ++il) {
368  out.add(l1t::demo::LinkId{"hgc", iS * 10 + il}, ret[il]);
369  }
370  }
371 }
Logical ID for link within any given time slice (e.g. ["tracks", 0] -> ["tracks", 17] for links from ...
Definition: LinkId.h:10
ret
prodAgent to be discontinued
assert(be >=bs)
std::map< l1t::demo::LinkId, std::vector< size_t > > channelIdsInput_
Definition: event.py:1

◆ writePuppi()

void L1TCorrelatorLayer1PatternFileWriter::writePuppi ( const l1ct::Event event,
l1t::demo::EventData out 
)
private

Definition at line 441 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References mps_fire::i, electronStore::links, dqmiodumpmetadata::n, nPuppiFramesPerRegion_, MillePedeFileConverter_cfg::out, outputLinksPuppi_, outputRegions_, and timeUnitHelper::pack().

Referenced by write().

441  {
442  unsigned int n = outputLinksPuppi_.size();
443  std::vector<std::vector<ap_uint<64>>> links(n);
444  for (auto ir : outputRegions_) {
445  auto puppi = event.out[ir].puppi;
446  unsigned int npuppi = puppi.size();
447  for (unsigned int i = 0; i < n * nPuppiFramesPerRegion_; ++i) {
448  links[i / nPuppiFramesPerRegion_].push_back(i < npuppi ? puppi[i].pack() : ap_uint<l1ct::PuppiObj::BITWIDTH>(0));
449  }
450  }
451  for (unsigned int i = 0; i < n; ++i) {
452  out.add(l1t::demo::LinkId{"puppi", i}, links[i]);
453  }
454 }
def pack(high, low)
Logical ID for link within any given time slice (e.g. ["tracks", 0] -> ["tracks", 17] for links from ...
Definition: LinkId.h:10

◆ writeTF()

void L1TCorrelatorLayer1PatternFileWriter::writeTF ( const l1ct::Event event,
l1t::demo::EventData out 
)
private

Definition at line 317 of file L1TCorrelatorLayer1PatternFileWriter.cc.

References channelIdsInput_, mps_fire::i, submitPVResolutionJobs::key, dqmiodumpmetadata::n, MillePedeFileConverter_cfg::out, runTheMatrix::ret, and DiMuonV_cfg::tracks.

Referenced by write().

317  {
318  for (unsigned int iS = 0, nS = event.raw.track.size(); iS < nS; ++iS) {
319  l1t::demo::LinkId key{"tf", iS};
320  if (channelIdsInput_.count(key) == 0)
321  continue;
322  std::vector<ap_uint<64>> ret;
323  std::vector<ap_uint<96>> tracks = event.raw.track[iS].obj;
324  if (tracks.empty())
325  tracks.emplace_back(0);
326  for (unsigned int i = 0, n = tracks.size(); i < n; ++i) {
327  const ap_uint<96>& packedtk = tracks[i];
328  if (i % 2 == 0) {
329  ret.emplace_back(packedtk(63, 0));
330  ret.emplace_back(0);
331  ret.back()(31, 0) = packedtk(95, 64);
332  } else {
333  ret.back()(63, 32) = packedtk(31, 0);
334  ret.emplace_back(packedtk(95, 32));
335  }
336  }
337  out.add(key, ret);
338  }
339 }
Logical ID for link within any given time slice (e.g. ["tracks", 0] -> ["tracks", 17] for links from ...
Definition: LinkId.h:10
ret
prodAgent to be discontinued
key
prepare the HTCondor submission files and eventually submit them
std::map< l1t::demo::LinkId, std::vector< size_t > > channelIdsInput_
Definition: event.py:1

Member Data Documentation

◆ channelIdsInput_

std::map<l1t::demo::LinkId, std::vector<size_t> > L1TCorrelatorLayer1PatternFileWriter::channelIdsInput_
private

◆ channelIdsOutput_

std::map<l1t::demo::LinkId, std::vector<size_t> > L1TCorrelatorLayer1PatternFileWriter::channelIdsOutput_
private

◆ channelSpecsInput_

std::map<std::string, l1t::demo::ChannelSpec> L1TCorrelatorLayer1PatternFileWriter::channelSpecsInput_
private

◆ channelSpecsOutput_

std::map<std::string, l1t::demo::ChannelSpec> L1TCorrelatorLayer1PatternFileWriter::channelSpecsOutput_
private

◆ eventIndex_

uint32_t L1TCorrelatorLayer1PatternFileWriter::eventIndex_
private

Definition at line 53 of file L1TCorrelatorLayer1PatternFileWriter.h.

Referenced by write(), and writeHGC().

◆ eventsPerFile_

const uint32_t L1TCorrelatorLayer1PatternFileWriter::eventsPerFile_
private

Definition at line 52 of file L1TCorrelatorLayer1PatternFileWriter.h.

Referenced by write().

◆ fileFormat_

const std::string L1TCorrelatorLayer1PatternFileWriter::fileFormat_
private

◆ gctLinksEcal_

uint32_t L1TCorrelatorLayer1PatternFileWriter::gctLinksEcal_
private

◆ gctLinksHad_

uint32_t L1TCorrelatorLayer1PatternFileWriter::gctLinksHad_
private

◆ gctSectors_

const unsigned int L1TCorrelatorLayer1PatternFileWriter::gctSectors_ = 3
private

◆ gctSingleLink_

bool L1TCorrelatorLayer1PatternFileWriter::gctSingleLink_
private

◆ gctTimeslices_

const unsigned int L1TCorrelatorLayer1PatternFileWriter::gctTimeslices_
private

◆ gctTmuxFactor_

const unsigned int L1TCorrelatorLayer1PatternFileWriter::gctTmuxFactor_ = 1
private

Definition at line 32 of file L1TCorrelatorLayer1PatternFileWriter.h.

◆ gmtLinksFactor_

const unsigned int L1TCorrelatorLayer1PatternFileWriter::gmtLinksFactor_ = 1
private

◆ gmtNumberOfMuons_

uint32_t L1TCorrelatorLayer1PatternFileWriter::gmtNumberOfMuons_
private

◆ gmtTimeslices_

const unsigned int L1TCorrelatorLayer1PatternFileWriter::gmtTimeslices_
private

◆ gmtTmuxFactor_

const unsigned int L1TCorrelatorLayer1PatternFileWriter::gmtTmuxFactor_ = 18
private

Definition at line 33 of file L1TCorrelatorLayer1PatternFileWriter.h.

◆ gttLatency_

uint32_t L1TCorrelatorLayer1PatternFileWriter::gttLatency_
private

◆ gttLinksFactor_

const unsigned int L1TCorrelatorLayer1PatternFileWriter::gttLinksFactor_ = 1
private

◆ gttNumberOfPVs_

uint32_t L1TCorrelatorLayer1PatternFileWriter::gttNumberOfPVs_
private

◆ gttTimeslices_

const unsigned int L1TCorrelatorLayer1PatternFileWriter::gttTimeslices_
private

◆ gttTmuxFactor_

const unsigned int L1TCorrelatorLayer1PatternFileWriter::gttTmuxFactor_ = 6
private

Definition at line 34 of file L1TCorrelatorLayer1PatternFileWriter.h.

◆ hgcLinksFactor_

const unsigned int L1TCorrelatorLayer1PatternFileWriter::hgcLinksFactor_ = 4
private

◆ hgcTimeslices_

const unsigned int L1TCorrelatorLayer1PatternFileWriter::hgcTimeslices_
private

◆ hgcTmuxFactor_

const unsigned int L1TCorrelatorLayer1PatternFileWriter::hgcTmuxFactor_ = 18
private

Definition at line 31 of file L1TCorrelatorLayer1PatternFileWriter.h.

◆ inputFileWriter_

std::unique_ptr<l1t::demo::BoardDataWriter> L1TCorrelatorLayer1PatternFileWriter::inputFileWriter_
private

◆ nEgammaObjectsOut_

uint32_t L1TCorrelatorLayer1PatternFileWriter::nEgammaObjectsOut_
private

◆ nInputFramesPerBX_

uint32_t L1TCorrelatorLayer1PatternFileWriter::nInputFramesPerBX_
private

◆ nOutputFramesPerBX_

uint32_t L1TCorrelatorLayer1PatternFileWriter::nOutputFramesPerBX_
private

◆ nPuppiFramesPerRegion_

unsigned int L1TCorrelatorLayer1PatternFileWriter::nPuppiFramesPerRegion_
private

◆ outputBoard_

int32_t L1TCorrelatorLayer1PatternFileWriter::outputBoard_
private

◆ outputFileWriter_

std::unique_ptr<l1t::demo::BoardDataWriter> L1TCorrelatorLayer1PatternFileWriter::outputFileWriter_
private

◆ outputLinkEgamma_

int32_t L1TCorrelatorLayer1PatternFileWriter::outputLinkEgamma_
private

◆ outputLinksPuppi_

std::vector<uint32_t> L1TCorrelatorLayer1PatternFileWriter::outputLinksPuppi_
private

◆ outputRegions_

std::vector<uint32_t> L1TCorrelatorLayer1PatternFileWriter::outputRegions_
private

◆ partition_

Partition L1TCorrelatorLayer1PatternFileWriter::partition_
private

◆ tfLinksFactor_

const unsigned int L1TCorrelatorLayer1PatternFileWriter::tfLinksFactor_ = 1
private

◆ tfTimeslices_

const unsigned int L1TCorrelatorLayer1PatternFileWriter::tfTimeslices_
private

◆ tfTmuxFactor_

const unsigned int L1TCorrelatorLayer1PatternFileWriter::tfTmuxFactor_ = 18
private

◆ tmuxFactor_

const unsigned int L1TCorrelatorLayer1PatternFileWriter::tmuxFactor_
private

◆ writeInputs_

bool L1TCorrelatorLayer1PatternFileWriter::writeInputs_
private

◆ writeOutputs_

bool L1TCorrelatorLayer1PatternFileWriter::writeOutputs_
private