Definition at line 57 of file L1TMenuHelper.cc.
60 map<string, string>
out;
69 const vector<int>& refPrescaleFactors = (*m_prescaleFactorsAlgoTrig).at(IndexRefPrescaleFactors);
73 map<string, SingleObjectCondition> myConditions;
75 for (
unsigned int a = 0;
a < vMuonConditions->size();
a++) {
76 for (
unsigned int b = 0;
b < (*vMuonConditions)[
a].size();
b++) {
91 myConditions[MuonCondition->
condName()] = tCondition;
96 for (
unsigned int a = 0;
a < vCaloConditions->size();
a++) {
97 for (
unsigned int b = 0;
b < (*vCaloConditions)[
a].size();
b++) {
116 for (
unsigned int a = 0;
a < vEnergySumConditions->size();
a++) {
117 for (
unsigned int b = 0;
b < (*vEnergySumConditions)[
a].size();
b++) {
138 for (
CItAlgo iAlgo = theAlgoMap->begin(); iAlgo != theAlgoMap->end(); ++iAlgo) {
141 bool algoIsValid =
true;
143 int tAlgoMask = myUtils.triggerMask(iAlgo->first,
error);
145 unsigned int tQuality = 0;
146 unsigned int tEtaRange = 0;
150 bool isNoIsoEG =
false;
151 bool isIsoEG =
false;
152 bool isCenJet =
false;
153 bool isForJet =
false;
154 bool isTauJet =
false;
161 if (tAlgoMask != 0) {
174 map<string, SingleObjectCondition>::const_iterator ciCond = myConditions.find(AlgoCondition);
178 if (ciCond == myConditions.end()) {
187 tObject = (*ciCond).second.object;
188 tQuality = (*ciCond).second.quality;
189 tEtaRange = (*ciCond).second.etaRange;
192 if ((*ciCond).second.object ==
Mu) {
194 }
else if ((*ciCond).second.object ==
NoIsoEG) {
196 }
else if ((*ciCond).second.object ==
IsoEG) {
198 }
else if ((*ciCond).second.object ==
CenJet) {
200 }
else if ((*ciCond).second.object ==
ForJet) {
202 }
else if ((*ciCond).second.object ==
TauJet) {
204 }
else if ((*ciCond).second.object ==
ETM) {
206 }
else if ((*ciCond).second.object ==
ETT) {
208 }
else if ((*ciCond).second.object ==
HTT) {
210 }
else if ((*ciCond).second.object ==
HTM) {
220 tTrigger.
alias = iAlgo->first;
221 tTrigger.
bit = (iAlgo->second).algoBitNumber();
222 tTrigger.
prescale = refPrescaleFactors[tTrigger.
bit];
224 tTrigger.
object = tObject;
263 if (nCond == 1 &&
isMu ==
true) {
266 }
else if (nCond == 2 && isNoIsoEG ==
true && isIsoEG ==
true) {
268 }
else if (nCond == 1 && isIsoEG ==
true) {
270 }
else if (nCond == 3 && isCenJet ==
true && isForJet ==
true && isTauJet ==
true) {
272 }
else if (nCond == 1 && isCenJet ==
true) {
274 }
else if (nCond == 1 && isForJet ==
true) {
276 }
else if (nCond == 1 && isTauJet ==
true) {
278 }
else if (nCond == 1 && isETT ==
true) {
280 }
else if (nCond == 1 && isETM ==
true) {
282 }
else if (nCond == 1 && isHTT ==
true) {
284 }
else if (nCond == 1 && isHTM ==
true) {
297 string selTrigMu =
"Undefined";
298 string selTrigEG =
"Undefined";
299 string selTrigIsoEG =
"Undefined";
300 string selTrigJet =
"Undefined";
301 string selTrigCenJet =
"Undefined";
302 string selTrigForJet =
"Undefined";
303 string selTrigTauJet =
"Undefined";
304 string selTrigETT =
"Undefined";
305 string selTrigETM =
"Undefined";
306 string selTrigHTT =
"Undefined";
307 string selTrigHTM =
"Undefined";
354 auto check = [](
const map<string, bool>& cats,
const char*
key) ->
bool {
355 auto it = cats.find(
key);
356 if (it != cats.end())
362 if (
check(iCategories,
"Mu")) {
363 out[
"Mu"] = selTrigMu;
365 if (
check(iCategories,
"EG")) {
366 out[
"EG"] = selTrigEG;
368 if (
check(iCategories,
"IsoEG")) {
369 out[
"IsoEG"] = selTrigIsoEG;
371 if (
check(iCategories,
"Jet")) {
372 out[
"Jet"] = selTrigJet;
374 if (
check(iCategories,
"CenJet")) {
375 out[
"CenJet"] = selTrigCenJet;
377 if (
check(iCategories,
"ForJet")) {
378 out[
"ForJet"] = selTrigForJet;
380 if (
check(iCategories,
"TauJet")) {
381 out[
"TauJet"] = selTrigTauJet;
383 if (
check(iCategories,
"ETT")) {
384 out[
"ETT"] = selTrigETT;
386 if (
check(iCategories,
"ETM")) {
387 out[
"ETM"] = selTrigETM;
389 if (
check(iCategories,
"HTT")) {
390 out[
"HTT"] = selTrigHTT;
392 if (
check(iCategories,
"HTM")) {
393 out[
"HTM"] = selTrigHTM;
References a, L1GtAlgorithm::algoRpnVector(), SingleObjectTrigger::alias, b, SingleObjectTrigger::bit, CenJet, edm::check(), L1GtCondition::condCategory(), SingleObjectCondition::conditionCategory, SingleObjectCondition::conditionType, L1GtCondition::condName(), L1GtCondition::condType(), relativeConstraints::error, SingleObjectCondition::etaRange, SingleObjectTrigger::etaRange, generateTowerEtThresholdLUT::etaRange, ETM, ETT, ForJet, HTM, HTT, mps_fire::i, jets_cff::isMu, IsoEG, crabWrapper::key, HLT_2018_cff::maxThreshold, Mu, SingleObjectCondition::name, NoIsoEG, L1GtCondition::nrObjects(), SingleObjectCondition::object, SingleObjectTrigger::object, L1GtMuonTemplate::objectParameter(), L1GtCondition::objectType(), L1GtLogicParser::OP_AND, L1GtLogicParser::OP_OPERAND, MillePedeFileConverter_cfg::out, SingleObjectTrigger::prescale, SingleObjectCondition::quality, SingleObjectTrigger::quality, TauJet, SingleObjectCondition::threshold, SingleObjectTrigger::threshold, L1GtUtils::triggerMask(), Type1s, TypeETM, TypeETT, TypeHTM, and TypeHTT.
Referenced by L1TRate_Offline::bookHistograms(), L1TRate::bookHistograms(), L1TSync::bookHistograms(), and L1TSync_Offline::bookHistograms().