TCK Trigger Configuration Key

The HLT is configured via a unique key, named Trigger Configuration Key (TCK), that defines the sequence of algorithms, and the cuts (we refer to them as filters of a selection)

  • TCK is a 32 bit value which labels configurations, lower 16 bits specify L0 config.

  • The individual configurations are identified by 128 bit configuration IDs (think of this ID as the checksum of the HLT part of the configuration)

  • for each TCK, you can find out the 'HltType' and 'Release' it corresponds to. The promise is that within the same (Release, HltType) pair, the 'flow' of algorithms must be the same

  • things that can be different are thresholds and prescales... (due to be able to do fast run changes)

TCKsh

Is an interactive environment in which you can list configurations, compare them, query for properties of algorithms, etc. For example with Moore v26r5, do:

lb-run Moore/v26r5 TCKsh
Command Description
getTCKInfo(0x00AB0046)
shows the threshold settings and Moore version for a given TCK
listConfigurations()
shows all known configurations, grouped by release, and 'hltType'
listAlgorithms(0x00AB0046)
shows a list of configured algorithms given a TCK or configID
dump(0x00AB0046)
shows a list of properties given a TCK
getHlt1Lines(0x00AB0046)
returns a list of Hlt1 lines
listProperties(0x00AB0046,'.*/Hlt1Global') 
list properties of algorithms whose name matches the regex 'Hlt1Global'
listProperties(0x803b0000,'.*/Hlt1','Code|FilterDesc') 
.. same but only for properties that match 'Code' or 'FilterDesc'
getProperties(0x803b0000,'.*/Hlt1','Code|FilterDesc')
conducts a regex search like listProperties but returns a dictionary of the form {algorithm name: {property: value}}
dumpL0(0x00AB0046)
returns the L0 configuration, with channels and thresholds
getL0Prescales(0x00AB0046)
returns the L0 prescales
getRoutingBits(0x00AB0046)
return a python list of Routing Bit definitions given a TCK or ConfigID
listRoutingBits(0x00AB0046)
list Routing bit defintions given a TCK or ConfigID
diff(0x80350000,0x00AB0046)
shows items only in left, only in right, and differences of items in both
updateProperties( ... )
allows to copy-and-modify existing configurations (eg. change prescales)
createTCKentries( { .. : .. , ..... } )
creates entries in mapping from TCK to configID, eg. update to new L0 TCK, but keep same HLT config
To analyse the sometimes lengthy output it may help to redirect it to a file using TCKsh > out.txt or use sys.stdout=open("out.txt","w") inside TCKsh

There is also an unofficial script for printing the selection tree of a given trigger line and TCK.

Edit | Attach | Watch | Print version | History: r18 < r17 < r16 < r15 < r14 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r18 - 2019-05-03 - AlexPearce
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LHCb All webs login

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