6 template <
class T, std::
size_t N>
8 assert(
N == values.size());
10 std::copy(values.begin(), values.end(), ret.begin());
39 config.getParameter<
edm::InputTag>(
"l1Results"))),
41 config.getParameter<
std::vector<double>>(
"l1AlgoPrescales"))),
43 config.getParameter<
std::vector<double>>(
"l1TechPrescales"))) {
46 produces<L1GlobalTriggerReadoutRecord>();
57 for (
unsigned int i = 0;
i < 128; ++
i) {
61 }
else if (algoWord[
i]) {
72 for (
unsigned int i = 0;
i < 64; ++
i) {
76 }
else if (techWord[
i]) {
88 std::unique_ptr<L1GlobalTriggerReadoutRecord>
result(
90 result->setDecisionWord(algoWord);
91 result->setTechnicalTriggerWord(techWord);
92 result->setDecision(finalOr);
102 desc.
add<std::vector<double>>(
"l1AlgoPrescales", std::vector<double>(128, 1));
103 desc.
add<std::vector<double>>(
"l1TechPrescales", std::vector<double>(64, 1));
104 descriptions.
add(
"l1GTPrescaler", desc);
const TechnicalTriggerWord & technicalTriggerWord(int bxInEventValue) const
const std::array< double, 64 > m_techPrescales
L1GTPrescaler(edm::ParameterSet const &config)
def setup(process, global_tag, zero_tesla=False)
std::array< unsigned int, 64 > m_techCounters
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
#define DEFINE_FWK_MODULE(type)
const std::array< double, 128 > m_algoPrescales
std::array< unsigned int, 128 > m_algoCounters
ParameterDescriptionBase * add(U const &iLabel, T const &value)
const DecisionWord & decisionWord(int bxInEventValue) const
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
bool filter(edm::Event &event, edm::EventSetup const &setup) override
void add(std::string const &label, ParameterSetDescription const &psetDescription)
const edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > m_l1ResultsToken
std::array< T, N > make_array(std::vector< T > const &values)