%TOC% ---+ 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: %CODE{lang="sh"}% lb-run -c best Moore/v28r3p1 TCKsh %ENDCODE% | *Command* | *Description* | | <pre>getTCKInfo(%TCK%)</pre> | shows the threshold settings and Moore version for a given TCK | | <pre>listConfigurations()</pre> | shows all known configurations, grouped by release, and 'hltType' | | <pre>listAlgorithms(%TCK%)</pre> | shows a list of configured algorithms given a TCK or configID | | <pre>dump(%TCK%)</pre> | shows a list of properties given a TCK | | <pre>getHlt1Lines(%TCK%)</pre> | returns a list of Hlt1 lines | | <pre>listProperties(%TCK%,'.*/Hlt1Global') </pre> | list properties of algorithms whose name matches the regex 'Hlt1Global' | | <pre>listProperties(0x803b0000,'.*/Hlt1','Code|FilterDesc') </pre> | .. same but only for properties that match 'Code' or 'FilterDesc' | | <pre>getProperties(0x803b0000,'.*/Hlt1','Code|FilterDesc')</pre> | conducts a regex search like listProperties but returns a dictionary of the form {algorithm name: {property: value}} | | <pre>dumpL0(%TCK%)</pre> | returns the L0 configuration, with channels and thresholds | | <pre>getL0Prescales(%TCK%)</pre> | returns the L0 prescales | | <pre>getRoutingBits(%TCK%)</pre> | return a python list of Routing Bit definitions given a TCK or ConfigID | | <pre>listRoutingBits(%TCK%)</pre> | list Routing bit defintions given a TCK or ConfigID | | <pre>diff(0x80350000,%TCK%)</pre> | shows items only in left, only in right, and differences of items in both | | <pre>updateProperties( ... )</pre> | allows to copy-and-modify existing configurations (eg. change prescales) | | <pre>createTCKentries( { .. : .. , ..... } )</pre> | 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 [[https://gitlab.cern.ch/snippets/704][unofficial script for printing the selection tree of a given trigger line and TCK]].
This topic: LHCb
>
LHCbTrigger
>
TCK
Topic revision: r19 - 2019-12-03 - RenatoQuagliani
Copyright &© 2008-2021 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