asg::AsgToolConfig member from
asg::AsgComponentConfig for fixing ATLASG-2456.
asg::AsgToolConfig inherits from
asg::AsgComponentConfig, this was a very strange circular dependency so far. But luckily
asg::AsgComponentConfig only needs to use the
asg::AsgToolConfig type in AsgComponentConfig.cxx, and even there only in a single place. So constructing an AsgToolConfig object in place is not supposed to be a big performance issue.
I did not do a full build of AnalysisBase with this change, but since the changed variable is a private one, hopefully this will not have far reaching effects. Though it's not impossible that it would...
@krumnack, of course this will need your blessing as well. Note that with this code I can run @zmarshal's test fine:
Singularity> ./build/CMakeFiles/atlas_build_run.sh eventloop_grid_merge input_files/jobdef.root new.user.khamano.32161702._000002.hist-output.root input_files/panda.um.user.khamano.32161702._000002.hist-output.root xAOD::Init INFO Environment initialised for data access TStreamerInfo::Build WARNING pair<string,tuple<asg::AsgToolConfig,string> >: tuple<asg::AsgToolConfig,string> has no streamer or dictionary, data member "second" will not be saved hadd Target file: new.user.khamano.32161702._000002.hist-output.root hadd compression setting for all output: 1 hadd Source file 1: input_files/panda.um.user.khamano.32161702._000002.hist-output.root hadd Target path: new.user.khamano.32161702._000002.hist-output.root:/ Warning in <TList::Merge>: input list is empty - nothing to merge with Singularity>
Though this is also a bit of a cheat.
tuple<asg::AsgToolConfig,string> dictionary. If I add a dictionary for both
std::map<std::string, std::tuple<asg::AsgComponentConfig, std::string> > and
std::map<std::string, std::tuple<asg::AsgToolConfig, std::string> > to try to get an automatic schema evolution working, then the merge job still dies. So here I really just hope that once the input files will be created with this MR included, even this warning will disappear from the merge jobs.