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 v28r3p1, do:
lb-run -c best Moore/v28r3p1 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
.