Skip to content

Add EnhancedBias Weight Computing Algorithm

Aleksandra Poreba requested to merge aporeba/athena:eb-computation into master

The logic from TrigNtEBWeightTool was migrated to EnhancedBiasWeightCompAlg offline algorithm. The online version is not possible due to the fact that L1Prescales are not available online. The algorithm was included in AthAlgSeq.

First, during start, a list of all available EB chains is retrieved as well as their L1 items from HLTMenu. During execution, HLTPrescales are read via ReadHandleCondHandle for chains that passed. The weight is calculated:

for chain in passedChains:
    totalPrescale = HLTPrescale * L1Prescale
    weight *= 1. - ( 1. / totalPrescale )
weight = 1. / (1. - weight)

If a chain has multiple L1 items L1Prescale is a product of all items' prescales. If a chain was noPS prescale value = 1.

If the event was triggered by a L1 random chain (HLT_noalg_eb_L1RD_*) flag isUnbiased is set to true.

The weight (float) and flag (uint8_t) are saved as EDM object as HLT_EBWeight.EBWeight.EBUnbiased.

Example of EDM from test_trigAna_RDOtoAOD_v1Dev_build:

  • AOD.pool.root.checkFile
================================================================================
     Mem Size       Disk Size        Size/Evt      MissZip/Mem  items  (X) Container Name (X=Tree|Branch)
================================================================================
       0.990 kb        0.225 kb        0.011 kb        0.000       20  (B) HLT_EBWeight
  • AOD.pool.root.checkxAOD
     Mem Size       Disk Size        Size/Evt      Compression  Items  Container Name (Type)
--------------------------------------------------------------------------------
       4.031 kb        0.504 kb        0.025 kb        8.000       20  HLT_EBWeight (DataVector<xAOD::TrigComposite_v1>) [Trig]

Related to: ATR-22175

Tagging @mark @tamartin

Edited by Aleksandra Poreba

Merge request reports