20 if(
const auto & thrVs =
data().get_child_optional(
"thrValues") ) {
21 for(
auto &
x : thrVs.get() ) {
22 auto isobits =
x.second.get_child(
"isobits").get_value<std::string>();
23 auto etamin =
x.second.get_child(
"etamin").get_value<
unsigned int>();
24 auto etamax =
x.second.get_child(
"etamax").get_value<
unsigned int>();
25 auto priority =
x.second.get_child(
"priority").get_value<
unsigned int>();
28 for(
char c: isobits) {
30 if(
c==
'1') isomask += 1;
39 os <<
"EM threshold " <<
name() <<
" with mapping " <<
mapping() << std::endl;
40 for(
int eta = -49; eta<49; eta++ ) {
42 auto valueMeV = thrValueMeV(eta);
43 auto counts = thrValueCounts(eta);
44 auto value100MeV = thrValue100MeV(eta);
45 auto iso = isolationMask(eta);
46 os <<
" eta = " << eta <<
" : " <<
value <<
" GeV " << valueMeV <<
" MeV " << value100MeV <<
" 100MeV "
47 << counts <<
" counts , isoMaks " << iso << std::endl;
58 std::string isobits = getAttribute(
"isobits");
60 for(
char c: isobits) {
61 m_isolationMask <<= 1;
62 if(
c==
'1') m_isolationMask += 1;
74 static const std::vector<int> allowedBoundaries{0, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 28, 31, 49};
75 if(
const auto & thrVs =
data().get_child_optional(
"thrValues") ) {
76 for(
auto &
x : thrVs.get() ) {
77 auto etamin =
x.second.get_child(
"etamin").get_value<
int>();
82 auto etamax =
x.second.get_child(
"etamax").get_value<
int>();
87 auto priority =
x.second.get_child(
"priority").get_value<
unsigned int>();
88 auto window =
x.second.get_child(
"window").get_value<
unsigned int>();
89 m_etaDepWindow.addRangeValue(window,
etamin, etamax,
priority,
false);
95 return m_etaDepWindow.at(eta);
104 m_seed = getAttribute(
"seed");
105 m_seedBcdelay = getAttribute<unsigned int>(
"seedBcdelay");
106 m_seedMultiplicity = getAttribute<unsigned int>(
"seedMultiplicity");
115 m_mask0 = getAttribute<unsigned int>(
"mask0");
116 m_mask1 = getAttribute<unsigned int>(
"mask1");
117 m_mask2 = getAttribute<unsigned int>(
"mask2");
118 m_mask3 = getAttribute<unsigned int>(
"mask3");
119 m_mask4 = getAttribute<unsigned int>(
"mask4");
120 m_mask5 = getAttribute<unsigned int>(
"mask5");
122 m_seedBcdelay = getAttribute<unsigned int>(
"delay");
141 m_etaDepThrValue.setOutsideRangeValue(getAttribute(
"maxValue",
true, 14000000));
153 m_etaDepThrValue.setOutsideRangeValue(getAttribute(
"maxValue",
true, 14000000));
168 m_etaDepThrValue.setOutsideRangeValue(getAttribute(
"maxValue",
true, 14000000));
171 const std::shared_ptr<TrigConf::L1ThrExtraInfo_jTAU>
174 return dynamic_pointer_cast<TrigConf::L1ThrExtraInfo_jTAU>(m_extraInfo.lock());
181 m_isolation =
Selection::stringToWP(getAttribute_optional<std::string>(
"isolation").value_or(
"None"));
184 m_etaDepThrValue.setOutsideRangeValue(getAttribute(
"maxValue",
true, 14000000));
187 const std::shared_ptr<TrigConf::L1ThrExtraInfo_cTAU>
190 return dynamic_pointer_cast<TrigConf::L1ThrExtraInfo_cTAU>(m_extraInfo.lock());
197 m_isolation =
Selection::stringToWP(getAttribute_optional<std::string>(
"isolation").value_or(
"None"));
200 m_etaDepThrValue.setOutsideRangeValue(getAttribute(
"maxValue",
true, 14000000));
208 m_etaDepThrValue.setOutsideRangeValue(getAttribute(
"maxValue",
true, 14000000));
216 m_etaDepThrValue.setOutsideRangeValue(getAttribute(
"maxValue",
true, 14000000));
224 m_etaDepThrValue.setOutsideRangeValue(getAttribute(
"maxValue",
true, 14000000));
232 m_etaDepThrValue.setOutsideRangeValue(getAttribute(
"maxValue",
true, 14000000));
263 return static_cast<float>(m_ptBarrel);
269 auto muInfo = std::dynamic_pointer_cast<L1ThrExtraInfo_MU>(m_extraInfo.lock());
271 m_ptBarrel = getAttribute<unsigned int>(
"baThr");
272 m_ptEndcap = getAttribute<unsigned int>(
"ecThr");
273 m_ptForward = getAttribute<unsigned int>(
"fwThr");
274 m_idxBarrel = muInfo->rpcIdxForPt(m_ptBarrel);
275 m_idxEndcap = muInfo->tgcIdxForPt(m_ptEndcap);
276 m_idxForward = muInfo->tgcIdxForPt(m_ptForward);
278 m_rpcExclROIList = getAttribute(
"rpcExclROIList",
true,
"");
279 m_tgcFlags = getAttribute(
"tgcFlags");
280 m_rpcFlags = getAttribute_optional<std::string>(
"rpcFlags").value_or(
"");
281 m_region = getAttribute(
"region");