Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xAH updates for Trigger-Level Analyses #1676

Merged
merged 8 commits into from
Feb 16, 2024
Merged

Conversation

mamerl
Copy link
Contributor

@mamerl mamerl commented Feb 16, 2024

Adds various modifications including:

  • changes to JetCalibrator for correcting HLT jets (new options for setting up JetCalibrationTool, yet to be upstreamed in Athena but planned)
  • more functionality for filling TProfile & TH3 objects with HistogramManager
  • changes to handling of photon containers in OverlapRemover, only for checking existence in TStore when deep/shallow copies exist
  • changes to BasicEventSelection adding a TLA data flag to control how trigger decisions are checked (from some differences between trigger decisions stored in 2022 TLA data & the primary physics data stream)

NOTE: for BasicEventSelection trigger decision changes we may need a follow up PR after checking if the modified TLA data logic is required for 2023 TLA data (if not, then we will need a 2022 TLA data flag)

agekow and others added 6 commits February 16, 2024 11:13
@tofitsch
Copy link
Contributor

To add some context: These changes are needed in the dijet+ISR Trigger Level Analysis (TLA) which makes heavy use of xAH. They will also be necessary for other later trigger level analyses.

JetCalibrator

Looks fine: While these new features are only needed for TLA, they are activated by the new option m_recalibrateHLTJets which is false by default. Therefore doesn't affect anyone that doesn't explicitly activate it.

BasicEventSelection

Similarly, everything new is guarded behind the new m_isTLAData option which is also false by default. However, I would change these debug messages to not check for an && of 2 things at the same time and to remove the NOT which is confusing:

      ANA_MSG_DEBUG("Trigger chain group is NOT passed && is TLA data = " << int(!triggerChainGroup->isPassed(TrigDefs::requireDecision) && m_isTLAData));
      ANA_MSG_DEBUG("Trigger chain group is NOT passed (no requireDecision) && is NOT TLA data = " << int(!triggerChainGroup->isPassed() && !m_isTLAData));

to something like this:

      ANA_MSG_DEBUG("Is TLA data = " << int(m_isTLAData));
      ANA_MSG_DEBUG("Trigger chain group is passed = " << int(m_isTLAData ? triggerChainGroup->isPassed(TrigDefs::requireDecision) : triggerChainGroup->isPassed());

It's probably better to change Is TLA data into Is Trigger Level Analysis (TLA) data since not everyone can be expected to know this acronym.

HistogramManager

Also fine: Just adding a few more overloaded options of functions that exist for TH2 now for TH3

OverlapRemover

Looks a bit strange only doing it for jets and photons. Should we not do the same (i.e. adding the conditional without DataVector) for e, mu, tau too then to be consistent?

@mamerl
Copy link
Contributor Author

mamerl commented Feb 16, 2024

Updates:

BasicEventSelection: changed logging statements as suggested and fixed indentation of a code block

OverlapRemover: made checking of ConstDataVector & xAOD container presence in TStore consistent for all objects in overlap removal

@tofitsch tofitsch merged commit 533c696 into UCATLAS:main Feb 16, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants