13 #include <boost/regex.hpp> 42 triggerMenuLite.
getByLabel(
event->getRun(),
"l1GtTriggerMenuLite",
"",
"");
52 int pfIndexTechTrig = -1;
53 int pfIndexAlgoTrig = -1;
60 pfIndexAlgoTrig = (triggerRecord->
gtFdlWord()).gtPrescaleFactorIndexAlgo();
61 pfIndexTechTrig = (triggerRecord->
gtFdlWord()).gtPrescaleFactorIndexTech();
63 int pfIndexTechTrigValidSize =
static_cast<int>(prescaleFactorsTechTrig.size());
64 if (pfIndexTechTrigValidSize <= pfIndexTechTrig)
66 "FWL1TriggerTableView: Can't get Technical Trigger pre-scale factors. Index [%d] larger that table size " 69 (
int)prescaleFactorsTechTrig.size());
70 int pfIndexAlgoTrigValidSize =
static_cast<int>(prescaleFactorsAlgoTrig.size());
71 if (pfIndexAlgoTrigValidSize <= pfIndexAlgoTrig)
73 "FWL1TriggerTableView: Can't get L1 Algo pre-scale factors. Index [%d] larger that table size [%d]\n",
75 (
int)prescaleFactorsAlgoTrig.size());
81 const unsigned int bitNumber = itTrig->first;
86 if (!boost::regex_search(aName,
filter))
93 if ((pfIndexAlgoTrig < pfIndexAlgoTrigValidSize) &&
94 static_cast<unsigned int>(prescaleFactorsAlgoTrig.at(pfIndexAlgoTrig).size()) >
bitNumber) {
95 m_columns.at(3).values.push_back(Form(
"%d", prescaleFactorsAlgoTrig.at(pfIndexAlgoTrig).at(
bitNumber)));
97 m_columns.at(3).values.push_back(
"invalid");
100 const static std::string kTechTriggerName =
"TechTrigger";
105 if (boost::regex_search(kTechTriggerName,
filter)) {
106 for (TechnicalTriggerWord::const_iterator tBitIt = ttWord.begin(), tBitEnd = ttWord.end(); tBitIt != tBitEnd;
107 ++tBitIt, ++tBitNumber) {
113 m_columns.at(0).values.push_back(kTechTriggerName);
114 m_columns.at(1).values.push_back(Form(
"%d", tBitResult));
115 m_columns.at(2).values.push_back(Form(
"%d", tBitNumber));
117 if ((pfIndexTechTrig < pfIndexTechTrigValidSize) &&
118 static_cast<int>(prescaleFactorsTechTrig.at(pfIndexTechTrig).size()) > tBitNumber) {
119 m_columns.at(3).values.push_back(Form(
"%d", prescaleFactorsTechTrig.at(pfIndexTechTrig).at(tBitNumber)));
121 m_columns.at(3).values.push_back(Form(
"invalid"));
126 m_columns.at(0).values.push_back(
"No L1Trigger menu available.");
std::vector< Column > m_columns
FWStringParameter m_regex
const DecisionWord & decisionWord(int bxInEventValue) const
const L1GtFdlWord gtFdlWord(int bxInEventValue) const
get / set FDL word (record) in the GT readout record
std::vector< bool > DecisionWord
typedefs
std::vector< bool > TechnicalTriggerWord
technical trigger bits (64 bits)
const TechnicalTriggerWord & technicalTriggerWord(int bxInEventValue) const
FWL1TriggerTableView(TEveWindowSlot *)
void getByLabel(const P &iP, const char *iModuleLabel, const char *iProductInstanceLabel=nullptr, const char *iProcessLabel=nullptr)
void fillTable(fwlite::Event *event) override