Skip to content
Snippets Groups Projects

wrap AnaToolHandle around AsgToolConfig

The basic reasoning here is that AnaToolHandle is essentially the out-dated and discouraged mechanism for creating tools, and has been replaced with AsgToolConfig for quite a while (or alternatively indirectly via AnaAlgorithmConfig).

I did have to disable some Athena tests for setting sub-tools in Athena. There are already some of those disabled, and the basic logic is that since this is the legacy way of doing things, unless this breaks existing code (as verified by CI tests) I no longer want to support all the possible edge cases in this rather brittle and complex piece of code.

Edited by Nils Erik Krumnack

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Jenkins please retry a build

  • This merge request affects 2 packages:

    • Control/AthToolSupport/AsgExampleTools
    • Control/AthToolSupport/AsgTools

    Affected files list will not be printed in this case

    Adding @krumnack ,@ssnyder as watchers

  • added Core master labels

  • :negative_squared_cross_mark: CI Result FAILURE (hash 1db65fd0)

    Athena AthSimulation AthGeneration AnalysisBase AthAnalysis
    externals :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    cmake :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    make :warning: :white_check_mark: :warning: :white_check_mark: :white_check_mark:
    required tests :o: :white_check_mark: :white_check_mark: :o: :o:
    optional tests :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:

    Full details available on this CI monitor view
    :warning: Athena: number of compilation errors 0, warnings 1
    :white_check_mark: AthSimulation: number of compilation errors 0, warnings 0
    :warning: AthGeneration: number of compilation errors 0, warnings 1
    :white_check_mark: AnalysisBase: number of compilation errors 0, warnings 0
    :white_check_mark: AthAnalysis: number of compilation errors 0, warnings 0
    :pencil: For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 25837]

  • added 1 commit

    • 3db2b266 - wrap AnaToolHandle around AsgToolConfig

    Compare with previous version

  • Jenkins please retry a build

  • This merge request affects 2 packages:

    • Control/AthToolSupport/AsgExampleTools
    • Control/AthToolSupport/AsgTools

    Affected files list will not be printed in this case

    Adding @krumnack ,@ssnyder as watchers

  • I suppose there are too many clients to just remove it?

  • Hi @tadej,

    Well, that was my first thought as well, but it is used in ~150 files within the athena repository itself, to say nothing about any other code bases like analysis frameworks. That's not prohibitive, but it seems like it would be quite a bit more laborious. Particularly since some users seem to do rather weird stuff, and they may be relying on some of the more counter-intuitive behavior of AnaToolHandle. So this would likely not just be a straightforward update replacing pattern A with pattern B, but probably needs a bit more thought in each place its used.

    I mean it would probably still be worthwhile to do such a global update, but for now I'm more inclined to find a volunteer to do that instead of doing it myself. And in my experience such a migration is often easier if the class you want to replace is a not-too-complicated wrapper around the classes you want to replace it with. Otherwise such a migration may end up being more like a rewrite than an update. Plus it also allows a multi-step migration strategy in which you slowly strip the more awkward features and use cases, which can be easier in some cases.

    The other question is also whether if you do such a migration you only want to do a "minimal" migration of replacing AnaToolHandle with AsgToolConfig. The alternative in many cases would be to say you just put in a ToolHandle and do the tool configuration from the python side. The original motivation for AnaToolHandle was that we did not have python configuration outside of athena. At the same time it is used in athena-only code as well, so apparently in some situations developers do prefer the C++ configuration over the python configuration. And it is also arguable whether we are completely ready for such a shift on the analysis side as well.

    Cheers, Nils

  • :negative_squared_cross_mark: CI Result FAILURE (hash 3db2b266)

    Athena AthSimulation AthGeneration AnalysisBase AthAnalysis
    externals :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    cmake :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    make :warning: :white_check_mark: :warning: :white_check_mark: :white_check_mark:
    required tests :o: :white_check_mark: :white_check_mark: :o: :o:
    optional tests :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:

    Full details available on this CI monitor view
    :warning: Athena: number of compilation errors 0, warnings 1
    :white_check_mark: AthSimulation: number of compilation errors 0, warnings 0
    :warning: AthGeneration: number of compilation errors 0, warnings 1
    :white_check_mark: AnalysisBase: number of compilation errors 0, warnings 0
    :white_check_mark: AthAnalysis: number of compilation errors 0, warnings 0
    :pencil: For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 25865]

  • added 2 commits

    • 143c14c4 - add support for std::map in TProperty
    • 3f7df714 - add missing include for dictionary generation

    Compare with previous version

  • Jenkins please retry a build

  • This merge request affects 3 packages:

    • Control/AthToolSupport/AsgExampleTools
    • Control/AthToolSupport/AsgTools
    • PhysicsAnalysis/AnalysisCommon/PMGTools

    Affected files list will not be printed in this case

    Adding @krumnack ,@ssnyder as watchers

  • added Analysis label

  • :negative_squared_cross_mark: CI Result FAILURE (hash 3f7df714)

    Athena AthSimulation AthGeneration AnalysisBase AthAnalysis
    externals :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    cmake :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    make :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    required tests :o: :white_check_mark: :white_check_mark: :o: :o:
    optional tests :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:

    Full details available on this CI monitor view
    :white_check_mark: Athena: number of compilation errors 0, warnings 0
    :white_check_mark: AthSimulation: number of compilation errors 0, warnings 0
    :white_check_mark: AthGeneration: number of compilation errors 0, warnings 0
    :white_check_mark: AnalysisBase: number of compilation errors 0, warnings 0
    :white_check_mark: AthAnalysis: number of compilation errors 0, warnings 0
    :pencil: For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 25942]

  • added 2 commits

    • 31d23cc7 - add support for std::map in TProperty
    • 3bdf434a - add missing include for dictionary generation

    Compare with previous version

  • Jenkins please retry a build

  • This merge request affects 3 packages:

    • Control/AthToolSupport/AsgExampleTools
    • Control/AthToolSupport/AsgTools
    • PhysicsAnalysis/AnalysisCommon/PMGTools

    Affected files list will not be printed in this case

    Adding @krumnack ,@ssnyder as watchers

  • :negative_squared_cross_mark: CI Result FAILURE (hash 3bdf434a)

    Athena AthSimulation AthGeneration AnalysisBase AthAnalysis
    externals :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    cmake :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    make :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    required tests :o: :white_check_mark: :white_check_mark: :white_check_mark: :o:
    optional tests :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:

    Full details available on this CI monitor view
    :white_check_mark: Athena: number of compilation errors 0, warnings 0
    :white_check_mark: AthSimulation: number of compilation errors 0, warnings 0
    :white_check_mark: AthGeneration: number of compilation errors 0, warnings 0
    :white_check_mark: AnalysisBase: number of compilation errors 0, warnings 0
    :white_check_mark: AthAnalysis: number of compilation errors 0, warnings 0
    :pencil: For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 25957]

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
Please register or sign in to reply
Loading