Skip to content
Snippets Groups Projects

Make TrigDecisionTool compile under AnalysisBase

Merged Tim Martin requested to merge tamartin/athena:tdtAnalysisBase into master

The TriggerDecisionTool uses internal caches for historic reasons (it has amassed multiple per-event and config input data sources over the years, and prefers to format shift them to an internal cache which is operated on in the event loop). This was made MT-safe in master.

Now, in addition, parts of this MT safety migration are hidden from Standalone releases: all code relating to the reading of old data formats (only xAOD supported in standalone), all code relating to multi-slot MT safety.

The TDT uses the TrigCompositeUtils package to provide helper-functions for Run3 trigger navigation graph traversal. All of this package is now moved to Root and tweaked to compile under AnalysisBase

Other Trigger/TrigAnalysis packages can now also be included in the release.

Tested with TriggerAlgorithmsTest_eljob.py.

The fetching of R3 features which fail the trigger remains unavailable in standalone for the time being.

Edited by Tim Martin

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
  • Tim Martin marked as a Work In Progress

    marked as a Work In Progress

  • Tim Martin changed the description

    changed the description

  • Tim Martin
  • This merge request affects 4 packages:

    • Projects/AnalysisBase
    • Trigger/TrigAnalysis/TrigDecisionTool
    • Trigger/TrigEvent/TrigSteeringEvent
    • Trigger/TrigSteer/TrigCompositeUtils

    Adding @tamartin ,@akraszna ,@krumnack ,@rbielski ,@rbianchi as watchers

  • :negative_squared_cross_mark: CI Result FAILURE (hash 626cfa2e)

    Athena AthSimulation AthGeneration AnalysisBase
    externals :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:
    make :o: :white_check_mark: :white_check_mark: :warning:
    required tests :o: :white_check_mark: :white_check_mark: :white_check_mark:
    optional tests :cloud: :white_check_mark: :white_check_mark: :white_check_mark:

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

    • Resolved by Tim Martin

      Hi @tamartin,

      Generally this looks reasonable/nice. I had actually started working on this as well, and most of my changes look similar. The main part where I was stuck is that I didn't have enough domain knowledge to know which parts just to disable or give a stand-alone implementation, so I ended up including increasingly more packages which was giving me successively more problems. I had actually been trying to figure out whom to ping about this, but nobody in AMG knew, so good that you took the initiative here.

      As I said, adding a SlotSpecificObject class would be doable, if you feel that makes your code here easier.

      There are a couple of other trigger packages in the package_filters.txt that are currently disabled. Are you planning to fix those up once this package is in? Or what is the plan.

      Cheers, Nils

  • Tim Martin added 1 commit

    added 1 commit

    • 8f1eff4b - Un-break the Athena build, keep the AnalysisBase build working and remove compile warnings

    Compare with previous version

  • Tim Martin unmarked as a Work In Progress

    unmarked as a Work In Progress

  • This merge request affects 5 packages:

    • Projects/AnalysisBase
    • Trigger/TrigAnalysis/TrigDecisionTool
    • Trigger/TrigEvent/TrigDecisionEvent
    • Trigger/TrigEvent/TrigSteeringEvent
    • Trigger/TrigSteer/TrigCompositeUtils

    Adding @tamartin ,@akraszna ,@krumnack ,@rbielski ,@rbianchi as watchers

  • :white_check_mark: CI Result SUCCESS (hash 8f1eff4b)

    Athena AthSimulation AthGeneration AnalysisBase
    externals :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:
    make :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    required tests :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    optional tests :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
    :pencil: For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 19866]

  • Tim Martin changed the description

    changed the description

  • Author Developer

    Note to shifter: Trigger/TrigSteer/TrigCompositeUtils/Root/TrigCompositeUtils.cxx was moved from src to Root. As there was already a small file existing with this name, it doesn't show as Moved in this MR. Instead, it shows as adding new code.

    Edited by Tim Martin
  • Tim Martin resolved all threads

    resolved all threads

  • Ben Bruers
  • Tim Martin added 1 commit

    added 1 commit

    • 36d89563 - Make m_cacheGlobalMemory private again

    Compare with previous version

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