Skip to content
Snippets Groups Projects

Bugfix to fix a problem in TRT/dEdx

Merged Philipp Konig requested to merge (removed):trt_dividyByL_bugfix into 21.0
All threads resolved!

According to the following JIRA ticket https://its.cern.ch/jira/browse/ATLASRECTS-4391, this MR should fix the floating point exceptions for TRT_ToT_dEdx by using a deprecated option in the tools. Code changes were made in collaboration with @cgrefe and @korona.

Edited by Philipp Konig

Merge request reports

Approval is optional

Merged by avatar (Mar 27, 2025 4:45am UTC)

Merge details

  • Changes merged into 21.0 with 1aa69838.
  • Deleted the source branch.
  • Auto-merge enabled

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Hi Philipp,

    1. To comply with the L1 shifters request I would suggest to change the line https://gitlab.cern.ch/phkoenig/athena/blob/7ee9489e70d91e13001fd7d2ffc59f34748ff367/InnerDetector/InDetRecTools/TRT_ToT_Tools/TRT_ToT_Tools/TRT_ToT_dEdx.h#L65 to the following one:

    bool m_applyBugfix; // If true - calculate dEdx using only recommended settings (DivideByL=true, useHThits=true, m_toolScenario=kAlgReweightTrunkOne)

    1. Looking at the last commit https://gitlab.cern.ch/phkoenig/athena/blob/7ee9489e70d91e13001fd7d2ffc59f34748ff367/InnerDetector/InDetRecTools/TRT_ToT_Tools/TRT_ToT_Tools/TRT_ToT_dEdx.h I do not see new dEdx() and usedHits() classes with the new bool applyBugfix switch introduced. Probably we have some misunderstanding of the problem. From my point of view, we need to introduce a new dEdx and usedHits classes with the new bool applyBugfix. We have already adjusted all the default setting in the TRT_ToT_dEdx::Initialize() part. But Athena does not read it and calls directly dEdx() and usedHits() functions. To get correct TRTdEdx and TRTdEdxUsedHits variables in the xAoD Athena (TrkTrackSummaryTool) will need to call new dEdx() and usedHits() functions with additional parameter bool applyBugfix=true.

    If you agree please add new dEdx class:

    /** * @brief function to calculate sum ToT normalised to number of used hits * @param track pointer * @param bool variable to decide wheter ToT or ToT/L should be used * @param bool variable whether HT hits shoule be used * @param bool variable to apply only recommended dEdx settings * @return ToT / double dEdx(const Trk::Track, bool DivideByL, bool useHThits, bool corrected, bool applyBugfix);

    and new usedHits class:

    /** * @brief function to calculate number of used hits * @param track pointer * @param bool variable to decide wheter ToT or ToT/L should be used * @param bool variable whether HT hits should be used * @param bool variable to apply only recommended dEdx settings * @return nHits / double usedHits(const Trk::Track track, bool DivideByL, bool useHThits, bool applyBugfix);

    Best, Natalia

  • Dear @korona,

    I didn't care of this since I was on vacation. Concerning your points:

    1. Yes, I'll do that.
    2. I discussed this point with @cgrefe. We certainly don't want to have new dEdx() and usedHits() classes. The idea is to introduce a new global bool parameter (m_applyBugfix), which choses the old behaviour when set to false (default value) or applies all the bug fixes when set to true. And some point the TRT_ToT_dEdx has to be defined before you can call the functions dEdx() and usedHits(), so it will for sure call the Initialize() function.

    Cheers, Philipp

  • Philipp Konig added 1 commit

    added 1 commit

    • 4c732fd2 - Extended description for bugfix and correct naming with suffix m_ for private data members

    Compare with previous version

  • This merge request affects 1 package:

    • InnerDetector/InDetRecTools/TRT_ToT_Tools
  • :white_check_mark: CI Result SUCCESS

    Athena AthDataQuality AthSimulation
    externals :white_check_mark: :white_check_mark: :white_check_mark:
    cmake :white_check_mark: :white_check_mark: :white_check_mark:
    make :white_check_mark: :white_check_mark: :white_check_mark:
    required tests :white_check_mark: :white_check_mark: :white_check_mark:
    optional tests :white_check_mark: :white_check_mark: :white_check_mark:

    Full details available at NICOS MR-23728-2019-06-19-11-58
    :white_check_mark: Athena: number of compilation errors 0, warnings 0
    :white_check_mark: AthDataQuality: number of compilation errors 0, warnings 0
    :white_check_mark: AthSimulation: number of compilation errors 0, warnings 0
    :pencil: For experts only: Jenkins output [CI-MERGE-REQUEST 39612]

  • Are all the suggestions taken care of? The discussions need to be 'resolved' before this can be approved. Ruchi (L1)

  • Christian Grefe resolved all discussions

    resolved all discussions

  • All discussions are resolved now. Approving...

    Lino (L1)

  • mentioned in commit 1aa69838

  • Sweep summary
    failed:

    • master
  • John Derek Chapman mentioned in merge request !24614 (merged)

    mentioned in merge request !24614 (merged)

  • mentioned in commit d9dd5a6d

  • Please register or sign in to reply
    Loading