36 m_trigConf(
"TrigConfigSvc",
name ),
37 m_metaStore(
"MetaDataStore",
name ),
69 m_tmc->setStore( aux );
76 return StatusCode::SUCCESS;
102 std::make_pair(
m_trigConf->lvl1PrescaleKey(),
108 << ckeys.first <<
", L1PSK: " << ckeys.second.first
109 <<
", HLTPSK: " << ckeys.second.second
110 <<
" already translated" );
111 return StatusCode::SUCCESS;
115 ATH_MSG_INFO(
"Converting configuration with keys SMK: "
116 << ckeys.first <<
", L1PSK: " << ckeys.second.first
117 <<
", HLTPSK: " << ckeys.second.second );
134 std::vector< uint16_t > ctpIds;
135 std::vector< std::string > itemNames;
136 std::vector< float > itemPrescales;
137 TrigConf::ItemContainer::const_iterator item_itr =
138 m_trigConf->ctpConfig()->menu().items().begin();
139 TrigConf::ItemContainer::const_iterator item_end =
140 m_trigConf->ctpConfig()->menu().items().end();
142 m_trigConf->ctpConfig()->prescaleSet().prescales_float();
143 for( ; item_itr != item_end; ++item_itr ) {
146 ctpIds.push_back( ( *item_itr )->ctpId() );
147 itemNames.push_back( ( *item_itr )->name() );
148 itemPrescales.push_back(
prescales[ ( *item_itr )->ctpId() ] );
152 << ctpIds.back() <<
", prescale = "
153 << itemPrescales.back() );
155 menu->setItemCtpIds( ctpIds );
156 menu->setItemNames( itemNames );
157 menu->setItemPrescales( itemPrescales );
163 std::vector< uint16_t > chainIds;
164 std::vector< std::string > chainNames, chainParentNames;
165 std::vector< float > chainPrescales, chainRerunPrescales,
166 chainPassthroughPrescales;
168 std::vector< std::vector< uint32_t > > chainSignatureCounters;
169 std::vector< std::vector< int > > chainSignatureLogics;
170 std::vector< std::vector< std::vector< std::string > > > chainSignatureOutputTEs;
171 std::vector< std::vector< std::string > > chainSignatureLabels;
173 TrigConf::HLTChainList::const_iterator chain_itr =
175 TrigConf::HLTChainList::const_iterator chain_end =
177 for( ; chain_itr != chain_end; ++chain_itr ) {
180 chainIds.push_back( ( *chain_itr )->chain_counter() );
181 chainNames.push_back( ( *chain_itr )->chain_name() );
182 chainParentNames.push_back( ( *chain_itr )->lower_chain_name() );
183 chainPrescales.push_back( ( *chain_itr )->prescale() );
184 chainRerunPrescales.push_back(
185 ( *chain_itr )->prescales().getRerunPrescale(
"").second );
186 chainPassthroughPrescales.push_back( ( *chain_itr )->pass_through() );
188 std::vector<uint32_t> counters;
189 std::vector<int> logics;
190 std::vector<std::vector<std::string> > outputTEs;
191 std::vector<std::string>
labels;
193 ATH_MSG_VERBOSE((*chain_itr)->chain_name() <<
" has " << (*chain_itr)->signatureList().size() <<
" signatures");
194 for(
auto& signature : (*chain_itr)->signatureList() ){
195 uint32_t cntr = signature->signature_counter();
196 counters.push_back(cntr);
197 logics.push_back(signature->logic());
198 labels.push_back(signature->label());
199 std::vector<std::string> outputTEids;
200 for(
auto& outputTE : signature->outputTEs()){
201 outputTEids.push_back(outputTE->name());
203 outputTEs.push_back(outputTEids);
206 chainSignatureCounters.push_back(counters);
207 chainSignatureLogics.push_back(logics);
208 chainSignatureOutputTEs.push_back(outputTEs);
209 chainSignatureLabels.push_back(
labels);
213 << chainIds.back() <<
", parent name = \""
214 << chainParentNames.back() <<
"\", prescale = "
215 << chainPrescales.back() <<
", re-run prescale = "
216 << chainRerunPrescales.back()
217 <<
", pass-through presclale = "
218 << chainPassthroughPrescales.back() );
220 menu->setChainIds( chainIds );
221 menu->setChainNames( chainNames );
222 menu->setChainParentNames( chainParentNames );
223 menu->setChainPrescales( chainPrescales );
224 menu->setChainRerunPrescales( chainRerunPrescales );
225 menu->setChainPassthroughPrescales( chainPassthroughPrescales );
226 menu->setChainSignatureCounters(chainSignatureCounters);
228 menu->setChainSignatureCounters(chainSignatureCounters);
229 menu->setChainSignatureLogics(chainSignatureLogics);
230 menu->setChainSignatureOutputTEs(chainSignatureOutputTEs);
231 menu->setChainSignatureLabels(chainSignatureLabels);
238 std::vector<std::vector<std::string> > sequenceInputTEs;
239 std::vector<std::string> sequenceOutputTE;
240 std::vector<std::vector<std::string> > sequenceAlgorithms;
242 for(
auto&
seq : sequenceList){
243 std::vector<std::string> inputTEs;
244 for(
auto&
input :
seq->inputTEs()) inputTEs.push_back(
input->name());
245 sequenceInputTEs.push_back(inputTEs);
246 sequenceAlgorithms.push_back(
seq->algorithms());
247 sequenceOutputTE.push_back(
seq->outputTE()->name());
257 menu->setSequenceInputTEs(sequenceInputTEs);
258 menu->setSequenceOutputTEs(sequenceOutputTE);
259 menu->setSequenceAlgorithms(sequenceAlgorithms);
265 std::vector< std::vector< uint16_t > > bgs;
266 std::vector< BunchGroup >::const_iterator bg_itr =
267 m_trigConf->bunchGroupSet()->bunchGroups().begin();
268 std::vector< BunchGroup >::const_iterator bg_end =
269 m_trigConf->bunchGroupSet()->bunchGroups().end();
270 for(
int i = 0; bg_itr != bg_end; ++bg_itr, ++
i ) {
274 const std::vector< uint16_t > bunches( bg_itr->bunches().begin(),
275 bg_itr->bunches().end() );
276 bgs.push_back( bunches );
282 menu->setBunchGroupBunches( bgs );
285 return StatusCode::SUCCESS;