Skip to content

Adds the ability to show the data dependencies of AlgTools

Edward Moyse requested to merge emoyse/Gaudi:show-tool-data-dependencies into master

This is all work from @leggett! I'm just pushing this in, so we can discuss it.

This MR allows to dump the data dependencies of AlgTools.

For ATLAS, this can be very useful as we can have very deep, very complicated hierarchies of tools i.e. it's simply not feasible to find some categories of misconfiguration by parsing the configuration dumps, and so this new functionality has proven very helpful.

Here's an Athena-specific real world example. In the log I see:

SGInputLoader                                          2     0 WARNING unable to find proxy for  ( 'TrackCollection' , 'StoreGateSvc+Tracks' ) 

From the log (see below) I know which algorithm(s) are requesting the missing data, but since these can each have hundreds(!) of complicated sub-tools it is extremely time consuming to track down manually.

  MuonCombinedMuonCandidateAlg
snip...
    o INPUT   ( 'TrackCollection' , 'StoreGateSvc+Tracks' ) 
etc...

However with this new change it becomes trivial, since we get output like:

MuonCombinedMuonCandidateAlg.MuonCandidateTool.CombinedMuonTrackBuilder.MuidCaloTrackStateOnSurface.MuidCaloEnergyTool.MuidTrackIsolation
   INP:    ( 'TrackCollection' , 'StoreGateSvc+Tracks' ) 

And so we can see exactly which sub-tool(s) are responsible, and fix them.

cc @bwynne, since we discussed this via email.

Edited by Edward Moyse

Merge request reports