diff --git a/Trigger/TrigConfiguration/TrigConfigSvc/src/ConfigSvcBase.cxx b/Trigger/TrigConfiguration/TrigConfigSvc/src/ConfigSvcBase.cxx index c572425756c040f7426303f5a445517a27299ff8..964563b2b71e9b69076ae09ab511a4c10f5518a5 100644 --- a/Trigger/TrigConfiguration/TrigConfigSvc/src/ConfigSvcBase.cxx +++ b/Trigger/TrigConfiguration/TrigConfigSvc/src/ConfigSvcBase.cxx @@ -27,7 +27,7 @@ ConfigSvcBase::~ConfigSvcBase() void ConfigSvcBase::declareCommonProperties() { declareProperty( "ConfigSource", m_configSourceString, - "Source of trigger configuration; can be \"XML\", \"MySQL\", \"Oracle\", or \"DBLookup\" "); + "Source of trigger configuration; can be \"XML\", \"MySQL\", \"Oracle\", \"DBLookup\" or \"RUN3_DUMMY\" "); declareProperty( "XMLMenuFile", m_xmlFile, "XML file containing the trigger configuration."); declareProperty( "DBServer", m_dbServer, @@ -59,7 +59,10 @@ ConfigSvcBase::initialize() { ATH_MSG_INFO("================================="); string s(boost::to_lower_copy(m_configSourceString)); // lower case - if(s != "xml") { + + if (s == "run3_dummy") { + ATH_MSG_WARNING("Configured to use Run-3 Dummy menu. This should never be seen in production"); + } else if(s != "xml") { TrigDBConnectionConfig::DBType dbtype(TrigDBConnectionConfig::DBLookup); if (s == "oracle") { dbtype = TrigDBConnectionConfig::Oracle; } else if (s == "mysql") { dbtype = TrigDBConnectionConfig::MySQL; } diff --git a/Trigger/TrigConfiguration/TrigConfigSvc/src/HLTConfigSvc.cxx b/Trigger/TrigConfiguration/TrigConfigSvc/src/HLTConfigSvc.cxx index c49c176827df57fcd9909c1fd798496de795d0b3..c0d1df055e33ba265b69eaa2ef76988bdbfa0330 100644 --- a/Trigger/TrigConfiguration/TrigConfigSvc/src/HLTConfigSvc.cxx +++ b/Trigger/TrigConfiguration/TrigConfigSvc/src/HLTConfigSvc.cxx @@ -117,7 +117,42 @@ HLTConfigSvc::initialize() { CHECK(ConfigSvcBase::initialize()); - if( !fromDB() and m_xmlFile=="NONE" ) { + ////////////////////////////////////////////////////////////// + // BEGIN RUN-3 TESTING BLOCK - THIS SHOULD BE TEMPORARY + ////////////////////////////////////////////////////////////// + string s(boost::to_lower_copy(m_configSourceString)); // lower case + if (s == "run3_dummy") { + + std::map<std::string, std::string> dummyChains; + dummyChains["HLT_e3_etcut1step"] = "L1_EM3"; + dummyChains["HLT_e3_etcut"] = "L1_EM3"; + dummyChains["HLT_e5_etcut"] = "L1_EM3"; + dummyChains["HLT_e7_etcut"] = "L1_EM3"; + dummyChains["HLT_g5_etcut"] = "L1_EM3"; + dummyChains["HLT_mu6"] = "L1_MU6"; + dummyChains["HLT_2mu6"] = "L1_MU6"; + dummyChains["HLT_mu6Comb"] = "L1_MU6"; + dummyChains["HLT_2mu6Comb"] = "L1_MU6"; + dummyChains["HLT_j85"] = "L1_J20"; + dummyChains["HLT_j100"] = "L1_J20"; + dummyChains["HLT_e3_etcut_mu6"] = "L1_EM8I_MU10"; + m_HLTFrame.setMergedHLT( m_setMergedHLT ); + for (const auto& mapPair : dummyChains) { + const std::string& chainName = mapPair.first; + const std::string& chainSeed = mapPair.second; + const int chainCounter = std::distance(dummyChains.begin(), dummyChains.find(chainName)); + HLTChain* chain = new HLTChain( chainName, chainCounter, 1, "HLT", chainSeed, 0, vector<HLTSignature*>() ); + // Note: the ownership of chain is transfered to the frame, the frame will delete it on deconstruct. + m_HLTFrame.theHLTChainList().addHLTChain( chain ); + ATH_MSG_INFO(" RUN 3 TESTING MODE! Adding dummy chain " << chainName << " [" << chainCounter << "] <- " << chainSeed); + } + + return StatusCode::SUCCESS; + + ////////////////////////////////////////////////////////////// + // END RUN-3 TESTING BLOCK - THIS SHOULD BE TEMPORARY + ////////////////////////////////////////////////////////////// + } else if( !fromDB() and m_xmlFile=="NONE" ) { ATH_MSG_INFO("xml file set to NONE, will not load HLT Menu"); return StatusCode::SUCCESS; }