75 : m_gtReadoutRecord(config.getParameter<edm::
InputTag>(
"L1GtReadoutRecordTag")),
76 m_triggerBit(config.getParameter<std::
string>(
"triggerBit")),
77 m_bunchCrossings(config.getParameter<std::
vector<int> >(
"bunchCrossings")),
78 m_triggerPattern(m_bunchCrossings.
size(),
false),
79 m_daqPartitions(config.getParameter<unsigned int>(
"daqPartitions")),
82 m_triggerMasked(
false),
83 m_ignoreL1Mask(config.getParameter<bool>(
"ignoreL1Mask")),
84 m_invert(config.getParameter<bool>(
"invert")),
85 m_throw(config.getParameter<bool>(
"throw")),
87 m_l1GtTriggerMaskAlgoTrigRcdToken(
esConsumes()),
88 m_l1GtTriggerMaskTechTrigRcdToken(
esConsumes()) {
90 std::vector<int> pattern(config.
getParameter<std::vector<int> >(
"triggerPattern"));
92 throw cms::Exception(
"Configuration") <<
"\"bunchCrossings\" and \"triggerPattern\" parameters do not match";
94 for (
unsigned int i = 0;
i < pattern.size(); ++
i)
103 desc.
add<
std::string>(
"triggerBit",
"L1Tech_RPC_TTU_pointing_Cosmics.v0");
105 std::vector<int> temp1;
112 desc.
add<std::vector<int> >(
"bunchCrossings", temp1);
114 desc.
add<
unsigned int>(
"daqPartitions", 1);
115 desc.
add<
bool>(
"ignoreL1Mask",
false);
116 desc.
add<
bool>(
"invert",
false);
117 desc.
add<
bool>(
"throw",
true);
119 std::vector<int> temp1;
126 desc.
add<std::vector<int> >(
"triggerPattern", temp1);
128 descriptions.
add(
"hltLevel1Pattern", desc);
141 const AlgorithmMap& algoMap = h_menu->gtAlgorithmAliasMap();
142 const AlgorithmMap& techMap = h_menu->gtTechnicalTriggerMap();
143 AlgorithmMap::const_iterator
entry;
144 if ((entry = algoMap.find(
m_triggerBit)) != algoMap.end()) {
147 }
else if ((entry = techMap.find(
m_triggerBit)) != techMap.end()) {
153 <<
"requested L1 trigger \"" <<
m_triggerBit <<
"\" does not exist in the current L1 menu";
191 const std::vector<bool>&
word =
192 (
m_triggerAlgo) ? h_gtReadoutRecord->decisionWord(bx) : h_gtReadoutRecord->technicalTriggerWord(bx);
HLTLevel1Pattern(const edm::ParameterSet &)
bool filter(edm::Event &, const edm::EventSetup &) override
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::EventIDconst &, edm::Timestampconst & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
edm::InputTag m_gtReadoutRecord
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskAlgoTrigRcd > const m_l1GtTriggerMaskAlgoTrigRcdToken
#define DEFINE_FWK_MODULE(type)
edm::ESWatcher< L1GtTriggerMaskTechTrigRcd > m_watchTechnicalMask
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
std::vector< int > m_bunchCrossings
unsigned int m_triggerNumber
ParameterDescriptionBase * add(U const &iLabel, T const &value)
~HLTLevel1Pattern() override
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > m_gtReadoutRecordToken
edm::ESGetToken< L1GtTriggerMenu, L1GtTriggerMenuRcd > const m_l1GtTriggerMenuToken
edm::ESWatcher< L1GtTriggerMenuRcd > m_watchL1Menu
T getParameter(std::string const &) const
unsigned int m_daqPartitions
void add(std::string const &label, ParameterSetDescription const &psetDescription)
std::vector< int > m_triggerPattern
bool check(const edm::EventSetup &iSetup)
tuple config
parse the configuration file
edm::ESWatcher< L1GtTriggerMaskAlgoTrigRcd > m_watchPhysicsMask
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskTechTrigRcd > const m_l1GtTriggerMaskTechTrigRcdToken
tuple size
Write out results.