Title: L1CAL Online Software
1L1CAL Online Software
- Philippe Laurens
- 31-May-2005
2Run IIb L1 Calorimeter Trigger Control Path
L1Cal Expert Programs
ADF Crate 1 of 4 VME-6U
ADF Crate 4 of 4 VME-6U
ADF 20
V.I. Slave
ADF 20
ADF 20
V.I. Slave
ADF 1
L1Cal TCC
L1Cal Comm. Crate VME-9U
Bit3
VME/SCL (to TAB)
Bit3
V.I. Master (to ADF)
V.I. Master (to VRB)
SCL Distributor (to ADF)
TFW
SCL
L3
Ethernet
COOR
L1Cal Readout Crate VME-9U
TAB 1
TAB 8
GAB
V.I. Slave
VRB
VRB
VRBC
SBC
TAB/GAB Crate Custom-9U
Monitoring Clients
L2
Optical Fiber Splitters to L2Cal Crate
P. Laurens Rev 31-May-05 (ALS, PAL)
3L1CAL TCC Control Software
L1CAL Comm. Crate
Bit3
L1Cal TCC
Expert (e.g. at MSU)
Remote Console (Copy of Screen Output)
L1Cal IIb Trigger Control Program (C)
L1Cal IIb Graphical User Interface (Python)
L1Cal IIb Graphical User Interface
L1Cal_IIb_Gui
L1Cal_IIb_Gui
L1Cal_IIb_Tcc
XML over ITC
XML over ITC
ASCII over ITC
Host Computers
COOR
Monitoring Applications
Binary or XML over ITC
ASCII commands over ITC
31-May-05
4L1Cal IIb Control Software
- Split
- Control Code vs. GUI
- Operating System Independent
- Windows -gt Linux
- Python (GUI) C (Control)
- Use D0 products ITC and Thread_Util
- also ACE (under ITC) and Xerces (for XML)
5L1Cal IIb Control Software
- L1Cal_IIb_TCC Control Program
- Use C for robustness and execution speed
- Control and monitor both ADF and TAB/GAB
- Only software actually performing VME IOs
- Interface presenting one L1CAL system to COOR
- Serve L1CAL Monitoring Info to Host Monit Clients
- Leveraged current L1FWL1CAL TCC code
- Allow local command files (python scripts from
GUI) - Keeps a Logfile of all actions
6L1Cal IIb Control Software
- L1Cal_IIb_Gui
- New for run IIb
- Use Python with Tkinter
- Zero, One, or more GUI connected at a given time
- Not in the path of data taking, COOR control, etc
- Not in the path of monitoring operation
- Run GUI on L1Cal TCC and/or remote computer
- GUI plus extensions with external python command
files (arbitrary complex, e.g. ADF-2 production
test)
7L1Cal IIb Control Software
- Extensions with Python Command Files
- Call functions to perform any action the GUI
supports R/W, Config FPGA, program DAC,... - Receive reply from Control Program (e.g. value
read) - Recursive call to lower level command files
- while passing parameters (e.g. card address)
- MSU Test Stand Control Waveform Generator and
Multiplexer - Allow interactive user input (e.g. enter card
S/N) - Write test logfiles, or any other files e.g. plot
files - Execute OS commands, e.g. view plots
8Control of TAB/GAB Hardware/Software
- For Commissioning/Tests
- Current and future Nevis Test programs can be
used for tests or diagnostics (only) - For Physics Running
- Call the same C code used by Test programs to
configure, initialize, program the TAB/GAB under
COOR control - Work under way
9Interface to COOR
- Need to define the syntax to program run
dependent resources (references, parameters,
thresholds, etc) - Most/All such resources are in TAB/GAB
- Philippe can work with Mike (or?) to produce a
document defining the outside view of the system
to COOR/Scott
10Interface to COOR
- Ref. current L1Cal System http//www.pa.msu.edu/h
ep/d0/ftp/tcc/coor/coor_to_tcc_l1ct_message_syntax
.txt - E.g. How COOR sets a reference set L1CT_Ref_Set
EM_Et_Ref_Set 0 TT_Eta(-2020) TT_Phi(132)
Value 10.0
11Monitoring
- Trigger Towers (ADF-2)
- Output to TAB
- L1Cal objects (TAB/GAB)
- What is useful, desirable, doable?
- Base idea read event data every 5 s
- Oversampled data (ADF-2)
- ADF-2 raw oversampled data
- For special studies and calibration/verificatio
n
12Appendix Example L1Cal GUI dialogs