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 |
createTCKentries( { .. : .. , ..... } ) |
creates entries in mapping from TCK to configID, eg. update to new L0 TCK, but keep same HLT config |
updateProperties( ... ) |
allows to copy-and-modify existing configurations (eg. change prescales) |
diff(0x80350000,0x00AB0046) |
shows items only in left, only in right, and differences of items in both |
listRoutingBits(0x00AB0046) |
list Routing bit defintions given a TCK or ConfigID |
getRoutingBits(0x00AB0046) |
return a python list of Routing Bit definitions given a TCK or ConfigID |
getL0Prescales(0x00AB0046) |
returns the L0 prescales |
dumpL0(0x00AB0046) |
returns the L0 configuration, with channels and thresholds |
getProperties(0x803b0000,'.*/Hlt1','Code|FilterDesc') |
conducts a regex search like listProperties but returns a dictionary of the form {algorithm name: {property: value}} |
listProperties(0x803b0000,'.*/Hlt1','Code|FilterDesc') |
.. same but only for properties that match 'Code' or 'FilterDesc' |
listProperties(0x00AB0046,'.*/Hlt1Global') |
list properties of algorithms whose name matches the regex 'Hlt1Global' |
getHlt1Lines(0x00AB0046) |
returns a list of Hlt1 lines |
dump(0x00AB0046) |
shows a list of properties given a TCK |
listAlgorithms(0x00AB0046) |
shows a list of configured algorithms given a TCK or configID |
listConfigurations() |
shows all known configurations, grouped by release, and 'hltType' |
getTCKInfo(0x00AB0046) |
shows the threshold settings and Moore version for a given TCK |
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
.