CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
L1GTEvaluationProducer Class Reference
Inheritance diagram for L1GTEvaluationProducer:
edm::one::EDProducer<> edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 L1GTEvaluationProducer (const edm::ParameterSet &)
 
 ~L1GTEvaluationProducer () override=default
 
- Public Member Functions inherited from edm::one::EDProducer<>
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const noexcept final
 
bool wantsGlobalRuns () const noexcept final
 
bool wantsInputProcessBlocks () const noexcept final
 
bool wantsProcessBlocks () const noexcept final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const noexcept
 
bool wantsStreamRuns () const noexcept
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &)
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void endJob () override
 
int nextEta ()
 
int nextPhi ()
 
int nextPt ()
 
int nextValue (int mean=1000, bool sign=false, int max=std::numeric_limits< int >::max())
 
void produce (edm::Event &, const edm::EventSetup &) override
 
void writeInputPatterns (const std::unordered_map< std::string, std::vector< std::unique_ptr< l1t::L1TGT_BaseInterface >>> &inputObjects)
 

Private Attributes

l1t::demo::BoardDataWriter boardDataWriter_
 
std::mt19937 randomGenerator_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
template<typename T >
using BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T >
 
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::ProducerBase
template<Transition Tr = Transition::Event>
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
template<Transition Tr = Transition::Event>
auto produces () noexcept
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Definition at line 33 of file L1GTEvaluationProducer.cc.

Constructor & Destructor Documentation

◆ L1GTEvaluationProducer()

L1GTEvaluationProducer::L1GTEvaluationProducer ( const edm::ParameterSet config)
explicit

Definition at line 106 of file L1GTEvaluationProducer.cc.

107  : randomGenerator_(config.exists("random_seed") ? config.getParameter<unsigned int>("random_seed")
108  : std::random_device()()),
109  boardDataWriter_(l1t::demo::parseFileFormat(config.getParameter<std::string>("patternFormat")),
110  config.getParameter<std::string>("outputFilename"),
111  config.getParameter<std::string>("outputFileExtension"),
112  9,
113  1,
114  config.getParameter<unsigned int>("maxLines"),
115  config.getParameter<std::string>("platform") == "VU13P" ? CHANNEL_MAP_VU13P : CHANNEL_MAP_VU9P) {
116  produces<P2GTCandidateCollection>("GCTNonIsoEg");
117  produces<P2GTCandidateCollection>("GCTIsoEg");
118  produces<P2GTCandidateCollection>("GCTJets");
119  produces<P2GTCandidateCollection>("GCTTaus");
120  produces<P2GTCandidateCollection>("GCTHtSum");
121  produces<P2GTCandidateCollection>("GCTEtSum");
122  produces<P2GTCandidateCollection>("GMTSaPromptMuons");
123  produces<P2GTCandidateCollection>("GMTSaDisplacedMuons");
124  produces<P2GTCandidateCollection>("GMTTkMuons");
125  produces<P2GTCandidateCollection>("GMTTopo");
126  produces<P2GTCandidateCollection>("GTTPromptJets");
127  produces<P2GTCandidateCollection>("GTTDisplacedJets");
128  produces<P2GTCandidateCollection>("GTTPhiCandidates");
129  produces<P2GTCandidateCollection>("GTTRhoCandidates");
130  produces<P2GTCandidateCollection>("GTTBsCandidates");
131  produces<P2GTCandidateCollection>("GTTHadronicTaus");
132  produces<P2GTCandidateCollection>("GTTPromptTracks");
133  produces<P2GTCandidateCollection>("GTTDisplacedTracks");
134  produces<P2GTCandidateCollection>("GTTPrimaryVert");
135  produces<P2GTCandidateCollection>("GTTPromptHtSum");
136  produces<P2GTCandidateCollection>("GTTDisplacedHtSum");
137  produces<P2GTCandidateCollection>("GTTEtSum");
138  produces<P2GTCandidateCollection>("CL2JetsSC4");
139  produces<P2GTCandidateCollection>("CL2JetsSC8");
140  produces<P2GTCandidateCollection>("CL2Taus");
141  produces<P2GTCandidateCollection>("CL2Electrons");
142  produces<P2GTCandidateCollection>("CL2Photons");
143  produces<P2GTCandidateCollection>("CL2HtSum");
144  produces<P2GTCandidateCollection>("CL2EtSum");
145 }
l1t::demo::BoardDataWriter boardDataWriter_
FileFormat parseFileFormat(const std::string &)
Definition: utilities.cc:73
Definition: config.py:1
static const l1t::demo::BoardDataWriter::ChannelMap_t CHANNEL_MAP_VU13P
static const l1t::demo::BoardDataWriter::ChannelMap_t CHANNEL_MAP_VU9P

◆ ~L1GTEvaluationProducer()

L1GTEvaluationProducer::~L1GTEvaluationProducer ( )
overridedefault

Member Function Documentation

◆ endJob()

void L1GTEvaluationProducer::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDProducerBase.

Definition at line 337 of file L1GTEvaluationProducer.cc.

References boardDataWriter_, and l1t::demo::BoardDataWriter::flush().

◆ fillDescriptions()

void L1GTEvaluationProducer::fillDescriptions ( edm::ConfigurationDescriptions description)
static

Definition at line 147 of file L1GTEvaluationProducer.cc.

References submitPVResolutionJobs::desc, makeListRunsInFiles::description, and AlCaHLTBitMon_QueryRunRegistry::string.

147  {
149  desc.addOptional<unsigned int>("random_seed");
150  desc.add<unsigned int>("maxLines", 1024);
151  desc.add<std::string>("outputFilename");
152  desc.add<std::string>("outputFileExtension", "txt");
153  desc.add<std::string>("patternFormat", "EMPv2");
154  desc.ifValue(edm::ParameterDescription<std::string>("platform", "VU9P", true),
155  edm::allowedValues<std::string>("VU9P", "VU13P"));
156  description.addWithDefaultLabel(desc);
157 }

◆ nextEta()

int L1GTEvaluationProducer::nextEta ( )
inlineprivate

Definition at line 49 of file L1GTEvaluationProducer.cc.

References ApeEstimator_cff::width.

Referenced by produce().

49  {
50  return std::uniform_int_distribution<int>(-(1 << (P2GTCandidate::hwEta_t::width - 1)),
52  }

◆ nextPhi()

int L1GTEvaluationProducer::nextPhi ( )
inlineprivate

Definition at line 53 of file L1GTEvaluationProducer.cc.

References ApeEstimator_cff::width.

Referenced by produce().

53  {
54  return std::uniform_int_distribution<int>(-(1 << (P2GTCandidate::hwPhi_t::width - 1)),
56  }

◆ nextPt()

int L1GTEvaluationProducer::nextPt ( )
inlineprivate

Definition at line 44 of file L1GTEvaluationProducer.cc.

References ApeEstimator_cff::width.

Referenced by produce().

44  {
45  return std::max<int>(0,
46  nextValue(300, false, (1 << P2GTCandidate::hwPT_t::width) - 1) +
47  std::normal_distribution<double>(0, 500)(randomGenerator_));
48  }
int nextValue(int mean=1000, bool sign=false, int max=std::numeric_limits< int >::max())

◆ nextValue()

int L1GTEvaluationProducer::nextValue ( int  mean = 1000,
bool  sign = false,
int  max = std::numeric_limits<int>::max() 
)
private

Definition at line 159 of file L1GTEvaluationProducer.cc.

References SiStripPI::max, SiStripPI::mean, randomGenerator_, mps_fire::result, and Validation_hcalonly_cfi::sign.

Referenced by produce().

159  {
160  bool positive = sign ? std::bernoulli_distribution(0.5)(randomGenerator_) : true;
161 
162  int result;
163  do {
164  result = std::poisson_distribution<int>(mean)(randomGenerator_);
165  } while (result > max);
166 
167  return positive ? result : -result;
168 }

◆ produce()

void L1GTEvaluationProducer::produce ( edm::Event event,
const edm::EventSetup setup 
)
overrideprivatevirtual

Implements edm::one::EDProducerBase.

Definition at line 245 of file L1GTEvaluationProducer.cc.

References mps_fire::i, HLT_2024v13_cff::inputCollection, HLT_2024v13_cff::inputObjects, submitPVResolutionJobs::key, eostools::move(), nextEta(), nextPhi(), nextPt(), nextValue(), resolutioncreator_cfi::object, and writeInputPatterns().

245  {
246  // Generate random input objects
247  std::unordered_map<std::string, std::vector<std::unique_ptr<l1t::L1TGT_BaseInterface>>> inputObjects;
248  for (std::size_t i = 0; i < 12; ++i) {
249  // Global Muon Trigger
250  inputObjects["GMTSaPromptMuons"].emplace_back(std::make_unique<l1t::L1TGT_GMT_PromptDisplacedMuon>(
251  true, nextPt(), nextEta(), nextPhi(), nextValue(), nextValue(), nextValue(), nextValue()));
252 
253  inputObjects["GMTSaDisplacedMuons"].emplace_back(std::make_unique<l1t::L1TGT_GMT_PromptDisplacedMuon>(
254  true, nextPt(), nextEta(), nextPhi(), nextValue(), nextValue(), nextValue(), nextValue()));
255  inputObjects["GMTTkMuons"].emplace_back(std::make_unique<l1t::L1TGT_GMT_TrackMatchedmuon>(true,
256  nextPt(),
257  nextEta(),
258  nextPhi(),
259  nextValue(),
260  nextValue(),
261  nextValue(),
262  nextValue(),
263  nextValue(),
264  nextValue()));
265  inputObjects["GMTTopo"].emplace_back(
266  std::make_unique<l1t::L1TGT_GMT_TopoObject>(true, nextPt(), nextEta(), nextPhi(), nextValue(), nextValue()));
267 
268  // Global Calorimeter Trigger
269  inputObjects["GCTNonIsoEg"].emplace_back(
270  std::make_unique<l1t::L1TGT_GCT_EgammaNonIsolated6p6>(true, nextPt(), nextEta(), nextPhi()));
271  inputObjects["GCTIsoEg"].emplace_back(
272  std::make_unique<l1t::L1TGT_GCT_EgammaIsolated6p6>(true, nextPt(), nextEta(), nextPhi()));
273  inputObjects["GCTJets"].emplace_back(std::make_unique<l1t::L1TGT_GCT_jet6p6>(true, nextPt(), nextEta(), nextPhi()));
274  inputObjects["GCTTaus"].emplace_back(
275  std::make_unique<l1t::L1TGT_GCT_tau6p6>(true, nextPt(), nextEta(), nextPhi(), nextValue()));
276 
277  // Global Track Trigger
278  inputObjects["GTTPromptTracks"].emplace_back(std::make_unique<l1t::L1TGT_GTT_Track>());
279  inputObjects["GTTDisplacedTracks"].emplace_back(std::make_unique<l1t::L1TGT_GTT_Track>());
280  inputObjects["GTTPrimaryVert"].emplace_back(
281  std::make_unique<l1t::L1TGT_GTT_PrimaryVert>(true, nextPt(), nextEta(), nextPhi(), nextValue(), nextValue()));
282  inputObjects["GTTPromptJets"].emplace_back(
283  std::make_unique<l1t::L1TGT_GTT_PromptJet>(true, nextPt(), nextEta(), nextPhi(), nextValue(), nextValue()));
284  inputObjects["GTTDisplacedJets"].emplace_back(std::make_unique<l1t::L1TGT_GTT_DisplacedJet>(
285  true, nextPt(), nextEta(), nextPhi(), nextValue(), nextValue(), nextValue()));
286  inputObjects["GTTHadronicTaus"].emplace_back(std::make_unique<l1t::L1TGT_GTT_HadronicTau>(
287  true, nextPt(), nextEta(), nextPhi(), nextValue(), nextValue(), nextValue(), nextValue()));
288  inputObjects["GTTPhiCandidates"].emplace_back(
289  std::make_unique<l1t::L1TGT_GTT_LightMeson>(true, nextPt(), nextEta(), nextPhi(), nextValue()));
290  inputObjects["GTTRhoCandidates"].emplace_back(
291  std::make_unique<l1t::L1TGT_GTT_LightMeson>(true, nextPt(), nextEta(), nextPhi(), nextValue()));
292  inputObjects["GTTBsCandidates"].emplace_back(
293  std::make_unique<l1t::L1TGT_GTT_LightMeson>(true, nextPt(), nextEta(), nextPhi(), nextValue()));
294 
295  // Correlator Layer-2
296  inputObjects["CL2JetsSC4"].emplace_back(
297  std::make_unique<l1t::L1TGT_CL2_Jet>(true, nextPt(), nextEta(), nextPhi(), nextValue()));
298  inputObjects["CL2JetsSC8"].emplace_back(
299  std::make_unique<l1t::L1TGT_CL2_Jet>(true, nextPt(), nextEta(), nextPhi(), nextValue()));
300  inputObjects["CL2Electrons"].emplace_back(std::make_unique<l1t::L1TGT_CL2_Electron>(
301  true, nextPt(), nextEta(), nextPhi(), nextValue(), nextValue(), nextValue(), nextValue()));
302  inputObjects["CL2Photons"].emplace_back(
303  std::make_unique<l1t::L1TGT_CL2_Photon>(true, nextPt(), nextEta(), nextPhi(), nextValue(), nextValue()));
304  inputObjects["CL2Taus"].emplace_back(std::make_unique<l1t::L1TGT_CL2_Tau>(
305  true, nextPt(), nextEta(), nextPhi(), nextValue(), nextValue(), nextValue(), nextValue()));
306  }
307 
308  inputObjects["CL2HtSum"].emplace_back(
309  std::make_unique<l1t::L1TGT_CL2_Sum>(true, nextValue(), nextValue(), nextValue()));
310  inputObjects["CL2EtSum"].emplace_back(
311  std::make_unique<l1t::L1TGT_CL2_Sum>(true, nextValue(), nextValue(), nextValue()));
312  inputObjects["GCTHtSum"].emplace_back(
313  std::make_unique<l1t::L1TGT_GCT_Sum2>(true, nextValue(), nextValue(), nextValue()));
314  inputObjects["GCTEtSum"].emplace_back(
315  std::make_unique<l1t::L1TGT_GCT_Sum2>(true, nextValue(), nextValue(), nextValue()));
316 
317  inputObjects["GTTPromptHtSum"].emplace_back(
318  std::make_unique<l1t::L1TGT_GTT_Sum>(true, nextValue(), nextValue(), nextValue()));
319  inputObjects["GTTDisplacedHtSum"].emplace_back(
320  std::make_unique<l1t::L1TGT_GTT_Sum>(true, nextValue(), nextValue(), nextValue()));
321  inputObjects["GTTEtSum"].emplace_back(
322  std::make_unique<l1t::L1TGT_GTT_Sum>(true, nextValue(), nextValue(), nextValue()));
323 
324  // Write them to a pattern file
326 
327  for (const auto &[key, inputCollection] : inputObjects) {
328  std::unique_ptr<P2GTCandidateCollection> gtCollection = std::make_unique<P2GTCandidateCollection>();
329  for (const auto &object : inputCollection) {
330  gtCollection->emplace_back(object->to_GTObject());
331  }
332 
333  event.put(std::move(gtCollection), key);
334  }
335 }
key
prepare the HTCondor submission files and eventually submit them
void writeInputPatterns(const std::unordered_map< std::string, std::vector< std::unique_ptr< l1t::L1TGT_BaseInterface >>> &inputObjects)
int nextValue(int mean=1000, bool sign=false, int max=std::numeric_limits< int >::max())
def move(src, dest)
Definition: eostools.py:511

◆ writeInputPatterns()

void L1GTEvaluationProducer::writeInputPatterns ( const std::unordered_map< std::string, std::vector< std::unique_ptr< l1t::L1TGT_BaseInterface >>> &  inputObjects)
private

Definition at line 206 of file L1GTEvaluationProducer.cc.

References l1t::demo::BoardDataWriter::addEvent(), boardDataWriter_, HLT_2024v13_cff::inputObjects, and vpack().

Referenced by produce().

207  {
209  l1t::demo::EventData{{{{"GTT", 0},
210  vpack(inputObjects.at("GTTPromptJets"),
211  inputObjects.at("GTTDisplacedJets"),
212  inputObjects.at("GTTPromptHtSum"),
213  inputObjects.at("GTTDisplacedHtSum"),
214  inputObjects.at("GTTEtSum"))},
215  {{"GTT", 1}, vpack(inputObjects.at("GTTHadronicTaus"))},
216  {{"CL2", 0},
217  vpack(inputObjects.at("CL2JetsSC4"),
218  inputObjects.at("CL2HtSum"),
219  inputObjects.at("CL2EtSum"),
220  inputObjects.at("CL2JetsSC8"))},
221  {{"CL2", 1}, vpack(inputObjects.at("CL2Taus"))},
222  {{"GCT", 0},
223  vpack(inputObjects.at("GCTNonIsoEg"),
224  inputObjects.at("GCTIsoEg"),
225  inputObjects.at("GCTJets"),
226  inputObjects.at("GCTTaus"),
227  inputObjects.at("GCTEtSum"),
228  inputObjects.at("GCTHtSum"))},
229  {{"GMT", 0},
230  vpack(inputObjects.at("GMTSaPromptMuons"),
231  inputObjects.at("GMTSaDisplacedMuons"),
232  inputObjects.at("GMTTkMuons"),
233  inputObjects.at("GMTTopo"))},
234  {{"CL2", 2}, vpack(inputObjects.at("CL2Electrons"), inputObjects.at("CL2Photons"))},
235  {{"GTT", 2},
236  vpack(inputObjects.at("GTTPhiCandidates"),
237  inputObjects.at("GTTRhoCandidates"),
238  inputObjects.at("GTTBsCandidates"))},
239  {{"GTT", 3},
240  vpack(inputObjects.at("GTTPromptTracks"),
241  inputObjects.at("GTTDisplacedTracks"),
242  inputObjects.at("GTTPrimaryVert"))}}});
243 }
l1t::demo::BoardDataWriter boardDataWriter_
void addEvent(const EventData &data)
static std::vector< ap_uint< 64 > > vpack(const Args &...vobjects)
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

Member Data Documentation

◆ boardDataWriter_

l1t::demo::BoardDataWriter L1GTEvaluationProducer::boardDataWriter_
private

Definition at line 64 of file L1GTEvaluationProducer.cc.

Referenced by endJob(), and writeInputPatterns().

◆ randomGenerator_

std::mt19937 L1GTEvaluationProducer::randomGenerator_
private

Definition at line 63 of file L1GTEvaluationProducer.cc.

Referenced by nextValue().