69 std::vector<unsigned int>
mask_;
87 produces<edm::TriggerResults>();
113 for (
auto const & keyval:
mapping) {
114 names_.push_back(keyval.first);
115 indices_.push_back(keyval.second.algoBitNumber());
123 for (
auto const & keyval:
mapping) {
124 names_.push_back(keyval.first);
125 indices_.push_back(keyval.second.getIndex());
139 const std::vector<bool> * wordp=
nullptr;
140 bool unprefireable_bit =
false;
144 wordp= & handleResults->
at(0,0).getAlgoDecisionFinal() ;
156 auto const &word = *wordp;
158 unsigned indices_size =
indices_.size();
159 for(
size_t nidx=0;nidx<indices_size; nidx++) {
162 if(!
mask_.empty()) result &= (
mask_[index] !=0);
167 auto out = std::make_unique<edm::TriggerResults>(l1bitsAsHLTStatus,
names_);
176 desc.
add<
bool>(
"legacyL1")->setComment(
"is legacy L1");
177 desc.
add<
edm::InputTag>(
"src")->setComment(
"L1 input (L1GlobalTriggerReadoutRecord if legacy, GlobalAlgBlkBxCollection otherwise)");
178 desc.
add<
bool>(
"storeUnprefireableBit",
false)->setComment(
"Activate storage of L1 unprefireable bit (needs L1 external decision input)");
179 desc.
add<
edm::InputTag>(
"src_ext",
edm::InputTag(
""))->setComment(
"L1 external decision input (GlobalExtBlkBxCollection, only supported if not legacy");
180 descriptions.
add(
"L1TriggerResultsConverter",desc);
std::vector< unsigned int > indices_
std::vector< std::string > names_
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
static const unsigned int maxExternalConditions
bool getByToken(EDGetToken token, Handle< PROD > &result) const
def setup(process, global_tag, zero_tesla=False)
~L1TriggerResultsConverter() override
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
void beginRun(edm::Run const &, edm::EventSetup const &) override
void produce(edm::Event &, const edm::EventSetup &) override
#define DEFINE_FWK_MODULE(type)
const std::vector< unsigned int > & gtTriggerMask() const
get the trigger mask
const edm::EDGetTokenT< GlobalAlgBlkBxCollection > token_
const bool store_unprefireable_bit_
L1TriggerResultsConverter(const edm::ParameterSet &)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
const edm::EDGetTokenT< GlobalExtBlkBxCollection > token_ext_
const DecisionWord & decisionWord(int bxInEventValue) const
const edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > tokenLegacy_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
std::vector< unsigned int > mask_
const unsigned int m_triggerRulePrefireVetoBit
const T & at(int bx, unsigned i) const