ATH_MSG_INFO("Taking new style menu from db with setting from TrigConf::JobOptionsSvc");
m_inputType="db";
m_smk=joSvc->superMasterKey();
m_dbConnection=joSvc->server();
}
}
ATH_MSG_INFO("Run 3 style menu configuration");
ATH_MSG_INFO(" Run 3 input type = "<<m_inputType.value());
if(m_inputType=="file"){
ATH_MSG_INFO(" Run 3 input file = "<<m_l1FileName.value());
}elseif(m_inputType=="db"){
ATH_MSG_INFO(" Run 3 DB connection = "<<m_dbConnection);
ATH_MSG_INFO(" Run 3 SMK = "<<m_smk);
}
if(!loadRun3StyleMenu().isSuccess()){
ATH_MSG_INFO("The previous WARNING message is being ignored in the current transition phase. Once we rely entirely on the new menu providing mechanism, this will become a reason to abort.");
}
returnStatusCode::SUCCESS;
}
StatusCode
TrigConf::LVL1ConfigSvc::loadRun3StyleMenu(){
// do not write empty menu to storegate, so people can check on handlekey being valid
if(m_inputType=="none"){
ATH_MSG_INFO("No L1 menu recorded in the detector store");
ATH_MSG_INFO("This previous WARNING message is being ignored in the current transition phase. Once we rely entirely on the new menu providing mechanism, this will become a reason to abort.");
ATH_MSG_INFO("Run 2 style menu");
ATH_MSG_INFO(" Run 2 config source = "<<m_configSourceString);
if(m_configSourceString!="none"){
if(m_configSourceString=="xml"){
ATH_MSG_INFO(" Run 2 Input file = "<<m_xmlFile);
}else{
ATH_MSG_INFO(" Run 2 DB Server = "<<m_dbServer);
ATH_MSG_INFO(" Run 2 DB User = "<<m_dbUser);
ATH_MSG_INFO(" Run 2 DB Table = "<<m_dbTable);
ATH_MSG_INFO(" Run 2 DB connection = "<<m_dbconfig->toString());
ATH_MSG_INFO(" Run 2 SMK = "<<m_dbSMKey);
ATH_MSG_INFO(" Run 2 L1 PSK = "<<m_prescaleSetID);
ATH_MSG_INFO(" Run 2 BGSK = "<<m_bunchgroupSetID);
// loads Run-2-style menu (xml) and keeps in memory to be
// provided to clients of the L1 configuration via the access methods above
StatusCodeloadRun2StyleMenu();
// jobProperties
Gaudi::Property<std::string>m_inputType{this,"InputType","file","file (json file), db (Trigger DB), cool (keys from cool, content from Trigger DB), none (no menu)"};
Gaudi::Property<std::string>m_l1FileName{this,"JsonFileName","L1Menu.json","file name of L1 json file, needed if InputType is file"};
Gaudi::Property<std::string>m_dbConnection{this,"TriggerDB","TRIGGERDB","DB connection alias, needed if InputType is db"};
Gaudi::Property<unsignedint>m_smk{this,"SMK",0,"DB smk, needed if InputType is db"};
// loads Run-3-style menu (json) and writes it to the detector
// store to be read by clients of the L1 configuration from there
This is still needed in the transition period and even
afterwards still for reading Run 2 menu configuration. It
* verifies and manipulates the job properties related to the Run 2 menu
* calls loading Run 2 Style menu (xml) from either file or DB
*/
StatusCodeinitializeRun2StyleMenu();
::StoreGateSvc*m_detectorStore;
// the configuration
CTPConfig*m_ctpConfig;
ThresholdConfig*m_thrcfg;
Muctpi*m_muctpi;
/*
Run 3-style menu (json) initialization and loading
* verifies and manipulates the job properties related to the Run 3 menu
* calls loading Run 3 Style menu (json) from either file or DB
*/
StatusCodeinitializeRun3StyleMenu();
// Properties:
//int m_masterID;
intm_prescaleSetID;
intm_bunchgroupSetID;
BooleanPropertym_dumpTTVmap;
// jobProperties for Run 3 style menu
Gaudi::Property<std::string>m_inputType{this,"InputType","file","file (json file), db (Trigger DB), cool (keys from cool, content from Trigger DB), none (no menu)"};
Gaudi::Property<std::string>m_l1FileName{this,"JsonFileName","","file name of L1 json file, needed if InputType is file"};
Gaudi::Property<std::string>m_dbConnection{this,"TriggerDB","TRIGGERDB","DB connection alias, needed if InputType is db"};
Gaudi::Property<unsignedint>m_smk{this,"SMK",0,"DB smk, needed if InputType is db"};