68 std::vector<unsigned int>
mask_;
78 : legacyL1_(
params.getParameter<
bool>(
"legacyL1")),
79 store_unprefireable_bit_(!legacyL1_ ?
params.getParameter<
bool>(
"storeUnprefireableBit") :
false),
84 token_ext_(store_unprefireable_bit_
87 produces<edm::TriggerResults>();
108 for (
auto const& keyval :
mapping) {
109 names_.push_back(keyval.first);
110 indices_.push_back(keyval.second.algoBitNumber());
118 for (
auto const& keyval :
mapping) {
119 names_.push_back(keyval.first);
120 indices_.push_back(keyval.second.getIndex());
123 names_.push_back(
"L1_UnprefireableEvent");
131 const std::vector<bool>* wordp =
nullptr;
132 bool unprefireable_bit =
false;
136 wordp = &handleResults->
at(0, 0).getAlgoDecisionFinal();
140 unprefireable_bit = handleExtResults->
at(0, 0).getExternalDecision(
149 auto const&
word = *wordp;
151 unsigned indices_size =
indices_.size();
152 for (
size_t nidx = 0; nidx < indices_size; nidx++) {
162 auto out = std::make_unique<edm::TriggerResults>(l1bitsAsHLTStatus,
names_);
169 desc.
add<
bool>(
"legacyL1")->setComment(
"is legacy L1");
171 "L1 input (L1GlobalTriggerReadoutRecord if legacy, GlobalAlgBlkBxCollection otherwise)");
172 desc.
add<
bool>(
"storeUnprefireableBit",
false)
173 ->setComment(
"Activate storage of L1 unprefireable bit (needs L1 external decision input)");
175 ->setComment(
"L1 external decision input (GlobalExtBlkBxCollection, only supported if not legacy");
176 descriptions.
add(
"L1TriggerResultsConverter", desc);