The EMTF is one of the custom-built electronic systems of the CMS Level-1 Trigger (L1T). By means of pattern recognition EMTF combines multiple track's segments produced by a particle in sensitive regions of the detector and evaluates track's properties. The most important property, the particle's momentum (or transverse momentum), is evaluated from track's bending in the inhomogeneous magnetic field.
The EMTF system is controlled and monitored via PCI express (PCIe) connection to a regular PC running the EMTF cell instance. EMTF cell is a system-specific implementation of SWATCH cell. EMTF cell provides an expert-level web interface to the system and in the same time allows the central SWATCH framework to orchestrate all systems of the L1T coherently. Current repository contains the EMTF cell implementation. In the list below I summarize the components of the EMTF swatch application.
-
Running the application
- System description in example904.xml
and exampleP5.xml
is used by the framework to instantiate all of the components at the initialization step
- <uri> is the tag identifying which /dev/utca_sp12* device file to use (<slot> tag has no effect)
- runStandalone.sh
script sets environment and runs runSubsystemCell.sh
script that generates xml configuration from common.configure
and runs the XDAQ application on port 3234
- add -g command line option where the first script launches the second one and you can debug the code in cgdb
- emtfTopLevel.xml,
emtfInfra.xml,
emtfAlgo.xml,
emtfRunSettings.xml, and
amc13Config.xml
cell configuration to be used with no database access
- this allows you not to launch the next tstore.sh script and also liberates from typing the TSC and RS keys
- you'll have to type file:// in the "Configuration Key* field on the Run Control page
- tstore.sh starts an independent XDAQ TStore service for accessing the database; also needs a dummy standalone.xhannel and cms_trg_r.txt read-only DB credential
- log4cplus.properties is the log4cplus configuration for local logging
- System description in example904.xml
and exampleP5.xml
is used by the framework to instantiate all of the components at the initialization step
-
System components:
- EmtfSystem
- registers transitions' listeners in the FSM
- provides overall health monitoring
- EmtfProcessor
- by means of our HAL counterpart it reads device's address table and opens the device file
- instantiates commands and sequences of commands
- instantiates port objects
- registers local monitoring callbacks that writes/reads to/from the hardware
- logs various parameters in local log files
- Various *Port classes
- monitoring and logs
- hardware reads/writes
- EmtfSystem
-
Commands for configuring the hardware:
- AMC13
- comes with the framework and allows to reset/reboot the AMC13 boards similarly to the command line tool
- LUTs
- Algorithmic
- Guards and checks
- Logs (does not affect how the system runs)
- Timing and other hardware specifics
- AMC13
-
Miscellanea (applicable to p.5 and partially to b.904)
- Do not use the DB scripts;
- PCIe driver location: /home/emtfts/driver/
- EMTF Swatch cell RPMs: /home/emtfts/versions/
- Configuration (LUTs, Address Tables, delays): /home/emtfts/emtf_cell_config
- Logs with the Link Alignment reference values: /home/emtfts/reference_values
- you can turn these numerous files into a single CSV file with this script
- this CSV file can be visualized using R + Shiny with server.R and ui.R scripts scripts in a local directory: echo "require(shiny); runApp()" > q.R ; Rscript q.R