Skip to content

Add a chain reconstructing displaced vertices using HitDV results as seeds

Takane Sano requested to merge tsano/athena:dispv-chain-mr into 22.0

Added a trigger chain HLT_dispvtx0_loose_L1XE50 for QT(ATR-23121). The chain first executes the HitDV and use its results to create RoI and EventViews. Then LRT and secondary vertices are reconstructed by FTF and TrigVSI respectively in EventViews. Finally, TrigVSIHypo reads the secondary vertices in whole-event level and creates trigger decisions based on them.

To avoid adding new AOD containers to TriggerEDMRun3.py, the mR replace the TrigVSI test-chain HLT_fsvsi0_L1XE50 which runs the fullscan reconstructions with the HLT_dispvtx0_loose_L1XE50.
After some discussions, I've decided to maintain the fullscan chain and add HLT_dispvtx0_loose_L1XE50 separately.


This MR adds following containers.

  • Add :
    • LRT containers, add nothing to AOD
      • ('xAOD::TrackParticleContainer#HLT_IDTrack_DVLRT_FTF', 'BS ESD', 'Jet', 'inViews:DVRoIViews')
      • ('xAOD::TrackParticleAuxContainer#HLT_IDTrack_DVLRT_FTFAux.', 'BS ESD', 'Jet')
    • RoI container, adds nothing to AOD
      • ('TrigRoiDescriptorCollection#HLT_Roi_DV', 'BS ESD', 'Jet')
    • TrigVSI vertex containers, collect datas in EventViews, add new AOD container
      • ('xAOD::VertexContainer#HLT_TrigDV_VSIVertex', 'BS ESD AODFULL', 'Jet', 'inViews:DVRoIViews')
      • ('xAOD::VertexContainer#HLT_TrigDV_VSITrkPair','BS ESD AODFULL', 'Jet', 'inViews:DVRoIViews')
    • TrigComposite container for monitoring VSIHypoAlg, add new AOD container
      • ('xAOD::TrigCompositeContainer#HLT_TrigDV_VtxCount', 'BS ESD AODFULL', 'Jet')

The purpose of changes in each file is as follows.

  • Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/src/TrigHitDVHypoAlg.h

  • Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/src/TrigHitDVHypoAlg.cxx

    • Added ElementLink from new decision created by TrigHitDVHypoAlg to HitDV seed
  • Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/src/TrigVSIHypoAlg.h

  • Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/src/TrigVSIHypoAlg.cxx

    • Added a property isViewBased to switch TrigVSIHypoAlg to read secondary vertices from whole-event or EventViews.
    • When isViewBased is set to true, TrigVSIHypoAlg tries to find roi linked to previous decisions and tries to read secondary vertices from those roi through ViewHelper::makeHandle().
  • Trigger/TrigSteer/DecisionHandling/src/ViewCreatorDVROITool.h

  • Trigger/TrigSteer/DecisionHandling/src/ViewCreatorDVROITool.cxx

  • Trigger/TrigSteer/DecisionHandling/src/components/DecisionHandling_entries.cxx

    • Added ViewCreatorDVROITool which creates RoIs from HitDV seeds.
  • Trigger/TrigTools/TrigInDetConfig/python/ConfigSettings.py

    • Added LRT configuration for displaced vertex trigger chain.
  • Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py

    • Added objects that created by the chain.
  • Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py

    • Added the chain.
  • Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/SignatureDicts.py

    • Added a dispv signiture that stands for displaced vertex.
  • Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/DVTriggerConfiguration.py

    • Defines MenuSequences needed in the chain.
  • Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/UnconventionalTrackingChainConfiguration.py

    • Added a definition of the chain for dispvtx signature.
  • Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/VrtSecInclusiveConfiguration.py

    • Set default behavior of TrigVSIHypoAlg to whole-event level in the TrigVSI test chain.
Edited by Takane Sano

Merge request reports