From 4e2c2e4971d6d856b843e37a11530292c8f41990 Mon Sep 17 00:00:00 2001 From: swenzel Date: Mon, 26 Aug 2024 13:06:04 +0200 Subject: [PATCH] o2-sim: Ability to adjust default option values depending on Run5 or not --- Common/SimConfig/include/SimConfig/SimConfig.h | 2 +- Common/SimConfig/src/SimConfig.cxx | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Common/SimConfig/include/SimConfig/SimConfig.h b/Common/SimConfig/include/SimConfig/SimConfig.h index b215f22546c8e..da2f978ddf319 100644 --- a/Common/SimConfig/include/SimConfig/SimConfig.h +++ b/Common/SimConfig/include/SimConfig/SimConfig.h @@ -118,7 +118,7 @@ class SimConfig return SimConfig(); } - static void initOptions(boost::program_options::options_description&); + static void initOptions(boost::program_options::options_description&, bool isUpgrade = false); // initializes the configuration from command line arguments // returns true of correctly initialized and not --help called diff --git a/Common/SimConfig/src/SimConfig.cxx b/Common/SimConfig/src/SimConfig.cxx index 0f798247d55c5..9a10b26547ce6 100644 --- a/Common/SimConfig/src/SimConfig.cxx +++ b/Common/SimConfig/src/SimConfig.cxx @@ -24,8 +24,15 @@ using namespace o2::conf; namespace bpo = boost::program_options; -void SimConfig::initOptions(boost::program_options::options_description& options) +void SimConfig::initOptions(boost::program_options::options_description& options, bool isUpgrade) { + // some default args might depend on whether Run3 or Run5 + // can be updated here: + std::string defaultGeomList{"ALICE2"}; + if (isUpgrade == true) { + defaultGeomList = "ALICE3"; + } + int nsimworkersdefault = std::max(1u, std::thread::hardware_concurrency() / 2); options.add_options()( "mcEngine,e", bpo::value()->default_value("TGeant4"), "VMC backend to be used.")( @@ -35,7 +42,7 @@ void SimConfig::initOptions(boost::program_options::options_description& options "skipModules", bpo::value>()->multitoken()->default_value(std::vector({""}), ""), "list of modules excluded in geometry (precendence over -m")( "readoutDetectors", bpo::value>()->multitoken()->default_value(std::vector(), ""), "list of detectors creating hits, all if not given; added to to active modules")( "skipReadoutDetectors", bpo::value>()->multitoken()->default_value(std::vector(), ""), "list of detectors to skip hit creation (precendence over --readoutDetectors")( - "detectorList", bpo::value()->default_value("ALICE2"), + "detectorList", bpo::value()->default_value(defaultGeomList), "Use a specific version of ALICE, e.g., a predefined list." "There is an 'official' list provided with:" "\nALICE2 : The default configuration for Run 3" @@ -490,7 +497,7 @@ bool SimConfig::resetFromArguments(int argc, char* argv[]) bpo::variables_map vm; bpo::options_description desc("Allowed options"); desc.add_options()("help,h", "Produce help message."); - initOptions(desc); + initOptions(desc, mConfigData.mIsUpgrade); try { bpo::store(parse_command_line(argc, argv, desc), vm);