57 LOG(info) << GetName() <<
": Output file is " <<
fOutput;
59 for (
auto trafile :
fTra) {
60 LOG(info) << GetName() <<
": Transport input source is " << trafile;
61 if (!
CheckFile(trafile.Data()))
throw std::runtime_error(
"Transport file does not exist");
63 LOG(info) << GetName() <<
": Parameter file is " <<
fPar;
64 if (!
CheckFile(
fPar.Data()))
throw std::runtime_error(
"Parameter file does not exist");
65 LOG(info) << GetName() <<
": Geometry setup is " <<
fSetupTag;
66 LOG(info) <<
"Configuration: \n" <<
fConfig.ToString() <<
"\n";
73 FairLogger::GetLogger()->SetLogScreenLevel(
fConfig.f_glb_logLevel.data());
74 FairLogger::GetLogger()->SetLogVerbosityLevel(
fConfig.f_glb_logVerbose.data());
75 FairLogger::GetLogger()->SetColoredLog(
fConfig.f_glb_logColor.data());
79 for (
auto trafile :
fTra) {
80 if (
fConfig.f_src_embedToId.at(sourceId) > 0) {
81 LOG(info) << GetName() <<
": Embeding input " << trafile <<
" (Rate will be ignored)";
82 fRun.EmbedInput(
fConfig.f_src_id.at(sourceId), trafile,
fConfig.f_src_embedToId.at(sourceId));
86 throw std::runtime_error(
"Event mixing is not possible in event-by-event mode!");
88 LOG(info) << GetName() <<
": Adding input " << trafile;
90 fConfig.f_src_treeAccessMode.at(sourceId));
107 LOG(info) << GetName() <<
": Loading setup " <<
fSetupTag;
112 fRun.DeactivateAllBut(
fConfig.f_det_deactivateAllBut);
114 for (
auto det :
fConfig.f_det_deactivate) {
119 double timeInit = timer.RealTime();
123 std::cout << std::endl << std::endl;
124 LOG(info) << GetName() <<
": Starting run" << std::endl;
129 double timeExec = timer.RealTime();
130 FairMonitor::GetMonitor()->Print();
131 std::cout << std::endl << std::endl;
132 LOG(info) << GetName() <<
": Execution successful";
133 for (
auto trafile :
fTra)
134 LOG(info) << GetName() <<
": Transport file was " << trafile;
135 LOG(info) << GetName() <<
": Parameter file was " <<
fPar;
136 LOG(info) << GetName() <<
": Output file is " <<
fOutput;
137 LOG(info) << GetName() <<
": Execution time: Init " << timeInit <<
" s, Exec " << timeExec <<
"s";
145 std::string temp(file.Data());
146 size_t index = temp.find_last_of(
".");
147 temp = temp.substr(0, index);
148 std::transform(temp.begin(), temp.end(), temp.begin(), [](
unsigned char c) { return c; });