L1CAL Online Software Philippe Laurens 31-May-2005

advertisement
L1CAL Online Software
Philippe Laurens
31-May-2005
TFW
…
…
ADF #20
VME-6U
ADF #1
#1 of 4
V.I. Slave
SCL Distributor (to ADF)
Bit3
ADF Crate
V.I. Master (to VRB)
V.I. Master (to ADF)
L1Cal TCC
ADF #20
ADF #20
…
VME/SCL (to TAB)
V.I. Slave
L1Cal Expert
Programs
Bit3
Run IIb L1 Calorimeter Trigger Control Path
ADF Crate
#4 of 4
VME-6U
L1Cal
Comm.
Crate
VME-9U
Monitoring
Clients
Crate
Custom-9U
SBC
VRBC
…
VRB
VRB
TAB/GAB
V.I. Slave
GAB
…
TAB #8
COOR
L3
TAB #1
Ethernet
SCL
L1Cal
Readout
Crate
VME-9U
Optical Fiber Splitters to L2Cal Crate
P. Laurens
Rev: 31-May-05 (ALS, PAL)
L2
L1CAL TCC Control Software
Expert (e.g. at MSU)
Remote
Console
(Copy of
Screen
Output)
L1Cal TCC
L1Cal IIb
Graphical
User
Interface
(Python)
L1Cal IIb
Trigger
Control
Program
(C++)
L1Cal_IIb_Gui
L1Cal_IIb_Gui
L1Cal_IIb_Tcc
XML over ITC
ASCII over ITC
COOR
Monitoring
Applications
Binary or XML over ITC
ASCII commands over ITC
31-May-05
Bit3
L1Cal IIb
Graphical
User
Interface
XML over ITC
Host
Computers
L1CAL
Comm. Crate
L1Cal IIb Control Software
• Split
– Control Code
vs.
GUI
• Operating System Independent
–
–
–
Windows -> Linux
Python (GUI) & C++ (Control)
Use D0 products ITC and Thread_Util
also ACE (under ITC) and Xerces (for XML)
L1Cal 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 L1FW+L1CAL TCC code
Allow local command files (python scripts from GUI)
Keeps a Logfile of all actions
L1Cal 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)
L1Cal 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
Control 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…
Interface 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
Interface to COOR
• Ref. current L1Cal System:
http://www.pa.msu.edu/hep/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(-20:20) TT_Phi(1:32) Value 10.0”
Monitoring
• 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/verification
Appendix: Example
L1Cal GUI dialogs
Download