-- PtacekE - 25 May 2009

The HLT Trigger Tree



Note: terms in purple are specific to this document - nonstandard

Data in the Trigger Tree

Features / Trigger Objects


  • Features are trigger objects

    • feature - generic, used by common trigger core routines to reference trigger object

    • trigger object - specific to trigger slice and/or stage in trigger chain

  • Features after creation are stored in storegate

Features may "contain" other features. a.k.a Features may contain pointers to features.
featurewfeatures0.jpg or featurewfeatureslnkd0.jpg

Code/ TWiki:

List of most of the object classes that work as features:

Locations of some of the objects:



https://svnweb.cern.ch/trac/atlasoff/browser/Reconstruction subdirectories for egamma, tau, missingET and mu(on)id(endtification)


Trigger objects(possibly all) inherit from:

Some TrigObjects are documented under:

Trigger Elements


with features attached:
TEwfeatures0.jpg or TEwfeatureslnkd0.jpg

  • Trigger Element(TE) primarily acts as a hub linking all saved information at a given stage along a trigger chain.
  • TE primarily contains links to objects containing actual data in storegate although some info is stored in TE itself.
  • Objects linked may be features(trigger objects) or other trigger elements.
  • From the HltSteeringDocument: a trigger element
    • has unique ID which identifies by which sequence of algorithms it was created
    • keeps association to the Features
    • keeps association to the other TriggerElements, their meaning is is either "seeded_by" or "seeds"
    • keeps state which corresponds to the decision made by hypothesis algorithm of HLT

Code/ TWiki:





Algorithms in Trigger Tree

Feature Extraction Algorithms (FEX Algorithms)


  • Execute function form...
    •  HLT::ErrorCode hltExecute(const HLT::TriggerElement* inputTE, HLT::TriggerElement* outputTE) 
  • FEX algorithm processes data from input TE stores result in output TE or in features that are attached to output TE.
  • FEX algorithm does not create new TE's only output TE which is the input TE after processing sent to the next algorithm or saved.
  • In simplest case only one TE is used as input




Hypothesis Algorithms (Hypo Algorithms)

  • Execute function form...
    •  HLT::ErrorCode hltExecute(const HLT::TriggerElement* outputTE, bool& pass); 
    • outputTE here is also the inputTE
  • Hypo algorithm test if trigger element passes a given hypothesis ( set of cuts usually )

  • If TE passes hypo, subsequent algorithms in chain are run and TE continues to develop.
    • hypotruechain0.jpg
  • If TE fails hypo chain terminates and TE is deactivated; however, not deleted and features that were created before hypo fail still exist in storegate.
    • hypofalsechain0.jpg

  • Hypo algorithms cannot add features to existing TE's or produce new TE's.








Trigger Chains

TriggerCartoon0.gif or TriggerCartoon0.gif

For the Hlt (High Level Trigger, L2 and EF ) the TE->FEX->TE->FEX->TE->HYPO->FEX... sequence
is a trigger "sub"chain (In terminology of most of the trigger core documentation these "sub"chains are referred to as "chains")

  • These "sub"chains are labeled in format L2_chainnameX, EF_chainnameY; ex: EF_tau16i

  • If "sub"chain completes it causes the trigger for its trigger level.

  • Only final version of TE at top of "sub"chain is saved if chain completes.
    • If "sub"chain is broken by hypo algorithm then TE prior to hypo algorithm is saved as a deactivated TE.
      ChainSavedhtrue0.jpg ChainSavedhfalse0.jpg

HLT Trigger Tree Development

The trigger system has three levels: Level 1 (L1) which is executed in the hardware; and the HLT, Level 2(L2) and Event Filter (EF), which are executed in the software.

The high level trigger system (the HLT) begins at the base of L2.

Trigger candidates generate ROI's(Regions of Interest) at L1 in the detector. Only data seeded from the ROI's is processed by the trigger.
TriggerCartoon0.gifImage of detector with rois

"L1" L2 Base

At the base of L2 for each L1 ROI a trigger element is created.

  • Each "L1 ROI" TE has attached to it a TrigROIDescriptor object labeled "initial ROI" and an object specific to the ROI type , the LVL1::"TrigType"ROI Obj (ex: LVL1::RecEmTauROI).
    • the TrigROIDescriptor Object contains info on the location of the ROI
    • the ROI type specific object is specific to a particular trigger type
  • These branch into TE's corresponding to the L1 trigger thresholds - the "L1 chains"

For the L2 base("L1") the "L1 ROI" TE and the "L1 chain" TE's that branch from it are saved.


From the "L1 chain" branch the L2 trigger chains.

The chains progress through L2; The TE's at the top of these chains are saved.


Chains that complete L2 seed chains in the EF. Branching of the tree may occur again at the beginning of the EF.

Again tops of the chains are saved:

Summary: Saved Data from Trigger Tree

After the trigger completes for each ROI the active(deactive) TE's from the tops of the complete(incomplete)L2 and EF "sub" chains are saved; And the "L1" ROI TE along with the "L1" chain TE's that branch from it which correspond to the L1 trigger thresholds..
Trigger Chains:
Full1.jpg Saved: Fullsaved1.jpg

The trigger objects/features that are attached to these TE's are saved in storegate.

A single trigger object/feature may be attached to multiple TE's in the same trigger level.

This occurs as FEX execution is cached. If parallel chains run the same FEX algorithm then they share trigger objects. parallelfexfeatures0.jpg











Progress Updates/Comments, Questions

* This section will not exist in final version

* highlights in red are possibly incorrect

* 16.6.09 still adding links; possibly will reorganize location of links to bottom of page with internal link at bottom of each section to redirect to bottom of page. most graphics in; TriggerCartoon0.gif is being used as placeholder

* 18.6.09 useful; https://svnweb.cern.ch/trac/atlasoff/browser/Trigger/TrigEvent/TrigNavigation/trunk/TrigNavigation/NavigationCore.h

Topic attachments
I Attachment History Action Size Date Who Comment
JPEGjpg ChainSavedhfalse0.jpg r1 manage 58.7 K 2009-06-16 - 22:30 PtacekE  
JPEGjpg ChainSavedhtrue0.jpg r1 manage 69.8 K 2009-06-16 - 22:31 PtacekE  
JPEGjpg ChainwFeaturesInbedded0.jpg r1 manage 61.2 K 2009-06-16 - 16:12 PtacekE  
JPEGjpg EF_0.jpg r1 manage 51.6 K 2009-06-16 - 22:37 PtacekE  
JPEGjpg EFsaved0.jpg r1 manage 30.4 K 2009-06-16 - 22:38 PtacekE  
JPEGjpg FEXAlgwTE0.jpg r2 r1 manage 62.3 K 2009-06-16 - 22:25 PtacekE  
JPEGjpg Full1.jpg r1 manage 64.2 K 2009-06-16 - 22:48 PtacekE  
JPEGjpg Fullsaved1.jpg r1 manage 45.6 K 2009-06-16 - 22:48 PtacekE  
JPEGjpg L2_0.jpg r1 manage 48.1 K 2009-06-16 - 22:36 PtacekE  
JPEGjpg L2base0.jpg r1 manage 90.0 K 2009-06-16 - 22:35 PtacekE  
JPEGjpg L2basesaved0.jpg r1 manage 47.3 K 2009-06-16 - 22:36 PtacekE  
JPEGjpg L2saved0.jpg r1 manage 35.6 K 2009-06-16 - 22:37 PtacekE  
JPEGjpg TE0.jpg r1 manage 12.4 K 2009-06-16 - 15:42 PtacekE  
JPEGjpg TEwfeatures0.jpg r1 manage 54.6 K 2009-06-16 - 15:44 PtacekE  
JPEGjpg TEwfeatureslnkd0.jpg r1 manage 62.2 K 2009-06-16 - 15:44 PtacekE  
GIFgif TriggerCartoon0.gif r1 manage 10.6 K 2009-05-27 - 15:11 PtacekE Simple cartoon of trigger chains
JPEGjpg feature0.jpg r1 manage 22.4 K 2009-06-16 - 15:42 PtacekE  
JPEGjpg featurewfeatures0.jpg r1 manage 85.7 K 2009-06-16 - 15:44 PtacekE  
JPEGjpg featurewfeatureslnkd0.jpg r1 manage 71.6 K 2009-06-16 - 15:45 PtacekE  
JPEGjpg fex0.jpg r1 manage 14.1 K 2009-06-16 - 15:54 PtacekE  
JPEGjpg hypo0.jpg r1 manage 14.9 K 2009-06-16 - 15:56 PtacekE  
JPEGjpg hypofalsechain0.jpg r1 manage 35.0 K 2009-06-16 - 15:56 PtacekE  
JPEGjpg hypotruechain0.jpg r1 manage 49.9 K 2009-06-16 - 15:56 PtacekE  
JPEGjpg parallelfexfeatures0.jpg r1 manage 76.8 K 2009-06-16 - 22:48 PtacekE  
JPEGjpg room_radiosity1.jpg r1 manage 151.6 K 2009-06-16 - 15:39 PtacekE  
Edit | Attach | Watch | Print version | History: r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r1 - 2009-06-25 - PtacekE
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback