http://www.pa.msu.edu/hep/d0/ftp/tcc/monitoring/000_l1tcc_monitoring_server.txt Revised: 7-Dec-2001 -------------------------------------------------------------------------------- Monitoring Information Served by L1 TCC on ITC Port d0tcc1.fnal.gov:52162 ------------------------------------- This information is valid as of Trics V9.5 Rev B (7-Dec-2001) The Monitoring Services available from the Trigger Control Computer have been upgraded to include more monitoring information than what was initialy implemented and is currently available to the DAQ_Monitor program. Structure Definitions: ====================== The old file Tcc_Monit_Data.hpp that was describing all the Monitoring and Luminosity data was getting out of control. This old file has been replaced with a hierchical structure of smaller files. All these definition files are available in http://www.pa.msu.edu/hep/d0/ftp/tcc/monitoring/ An official CVS D0 product will be created, called "trigmon", to hold all these header files which are (will be) referenced by the DAQ_monitor, and the Luminosity Server. We will eventually add the L1 trigger expert's trigmon application itself, if it is needed outside of the L1 hardware expert group. cf. http://www-d0.fnal.gov/cgi-bin/cvsweb.cgi/trigmon/ The top files needed to define the structure of each monitoring block are: - The DAQ Monitor program only needs to include the top file L1_Tcc_Monitoring_Data.hpp. Two blocks have been defined L1_Tcc_Block_Fw_Info_Brief and L1_Tcc_Block_Fw_Info_Full. The Daq_Monitor should be upgraded to switch from using the Tcc_Block_L1fw_General (alias Tcc_Block_L1fw_General_Phase3) to using the new L1_Tcc_Block_Fw_Info_Brief. The block L1_Tcc_Block_Fw_Info_Full is twice the size of L1_Tcc_Block_Fw_Info_Brief, has more detailed and redundant information, and is not thought to be of general usage. This block is targeted at the trigger expert and specialized monitoring tools. In order to pick up the definition of the block type currently used by the DAQ_MONITOR program, the code or compiler needs to define the pre-processor constant "TCC_SUPPORT_PHASE3_MONIT_DATA". No *new* application should start using this legacy data, which has been replaced with the above new blocks including more information. These "obsolete" block types will eventually be abandonned. - The Luminosity Server program only needs to include the top file L1_Tcc_Luminosity_Data.hpp. This block is "pushed" by TCC to the Luminosity Server via a separate ITC port, but the latest copy of this block can also be explicitely requested on the monitoring server port. There has been no change in data definition, just a cosmetic change in organization of the header files. - Trics and other specialized monitoring programs would additionally include the following definitions, as needed. These are not considered to be of interested outside of trigger experts. - L1_Tcc_Monit_Data_CalTrig.hpp this one will eventually be included in L1_Tcc_Monitoring_Data.hpp when it is ready for prime time, (This is not new, while some information has been added to it and programs using this block need to be re-compiled) - L1_Tcc_Monit_Data_Hsro.hpp this is a snapshot of readout data catpured in the monitoring register and rebuilt into a structure identical to what we send to the VRB and read out of the VBD, (This is not new) - L1_Tcc_Monit_Data_Card_Info.hpp this is a block of information about each of our cards, e.g. FPGA revision, VME Interface Status, etc. (This is new) This file defines the request expected by TCC on its Monitoring Server Port. - L1_Tcc_Monit_Data_Request.hpp Definition of the structure to send to TCC's monitoring server to request a monitoring block of a particular type. There are a number of intermediate level definition files: - L1_Tcc_Monit_Data_Frameworks.hpp Definition of the structures holding information about the L1&L2 Frameworks. (There is a "Brief" and a "Full" version of this structure) - L1_Tcc_Monit_Data_CalTrig.hpp (already listed as a top file above, but eventually becoming and intermediate level file) - L1_Tcc_Monit_Data_L2HardScalers.hpp Definition of the structure holding information about the "L2 Hardware Scalers". - L1_Tcc_Monit_Data_Obsolete.hpp Collection of all the legacy (i.e. "obsolete") blocks that will eventually be dropped - Tcc_Block_L1fw_General - Tcc_Block_Per_Bunch_Scaler These files are the lower level building blocks: - L1_Tcc_Monit_Data_Header.hpp Definition of the Header which always comes first and includes a code that the client can use to recognize the block type on the fly (There is a single "new" and an "obsolete" version of this structure) - L1_Tcc_Monit_Data_BeamX.hpp Definition of the sturucture holding the various Beam Crossing and Tick and Turn Scalers qualifying L1 FW data and L2FW data. (There is a "new" expanded version of this structure while the old short version is still used) - L1_Tcc_Monit_Data_PerBunch.hpp Definition of the structure for one per bunch scaler. (There is only a single unchanged version of this structure) - L1_Tcc_Monit_Data_LumBlockNum.hpp Definition of the structure for information related to the Luminosity Block Number. (There is only a single "new" version of this structure) - L1_Tcc_Monit_Data_FwGlobal.hpp Definition of the structure holding L1&L2 Framework-wide global information. (There is a "Brief" and a "Full" and an "obsolete" version of this structure) - L1_Tcc_Monit_Data_AoTerm.hpp Definition of the structure for one Andor Term. (There is a single "new" and an "obsolete" version of this structure) - L1_Tcc_Monit_Data_SpTrg.hpp Definition of the structure for one Specific Trigger. (There is a "Brief" and a "Full" and an "obsolete" version of this structure) - L1_Tcc_Monit_Data_ExpGrp.hpp Definition of the structure for one Exposure Group. (There is a "Brief" and a "Full" and an "obsolete" version of this structure) - L1_Tcc_Monit_Data_GeoSect.hpp Definition of the structure for one Geographic Section. (There is a single "new" and an "obsolete" version of this structure) This defines the 8, 16, 32, 64 bit data types for different platforms - L1_Tcc_Monit_Data_BasicTypes.hpp Definition of the basic data types used in the above structures. Monitoring Information defined above but not yet filled: ======================================================== Keeping track of an upper longword to serve up 64 bits scaler is not done yet. The monit data block that collects all the card info is not being filled at all (only the header type information). In the new Framework-wide Global information (Brief and Full) the following items are not yet filled: - The list of Geographic Sections needed for L2 Data Path (Full block only) (this concept is not yet even defined by COOR and TCC) In the Specific Trigger Section (Brief and Full) the following items are not yet filled: - The Andor Requirement of the Spec Trig (Full block only) In the Exposure Group Section (Brief and Full) the following items are not yet filled: - The Andor Requirement of the expo group (Full block only) - The set of Geo Section digitized by the Expo group (Full block only) - The Expo Group Andor Fired Scaler (The L1FW currently does not include hardware to measure this quantity) In the Andor Term Section (Brief and Full) the following items are not yet filled: - The Andor Synchronization error count (Trics does not yet look for and count these errors) In the Geographic Sector Section (Brief and Full) the following items are not yet filled: - L1 and L2 Error Counts (Trics does not yet count these errors) Size of the various blocks and sub-structures involved: ======================================================= Obsolete Block Types (size in bytes) sizeof(Tcc_Block_L1fw_General) = 21784 sizeof(Tcc_Block_Per_Bunch_Scaler) = 23064 Monit Data Block Types sizeof(L1_Tcc_Block_Fw_Info_Brief) = 21088 sizeof(L1_Tcc_Block_Fw_Info_Full) = 35272 sizeof(L1_Tcc_Block_Cal_TT_ADC) = 20856 sizeof(L1_Tcc_Block_Card_Info) = 5808 sizeof(L1_Tcc_Block_L1fw_Hsro) = 6592 sizeof(L1_Tcc_Block_L2HardScalers) = 3368 Lumnosity Data Block Types sizeof(L1_Tcc_Block_Lum_Info_Brief) = 12864 sizeof(L1_Tcc_Block_Lum_Info_Full) = 25504 Monit Data Block Components sizeof(L1_Tcc_Block_Header) = 16 sizeof(L1_Tcc_Fw_BeamX_Data) = 72 sizeof(L1_Tcc_Fw_Glob_Info_Brief) = 264 sizeof(L1_Tcc_Fw_Glob_Info_Full) = 496 sizeof(L1_Tcc_Fw_Spec_Trig_Brief) = 80 sizeof(L1_Tcc_Fw_Spec_Trig_Full) = 184 sizeof(L1_Tcc_Fw_Expo_Group_Brief) = 32 sizeof(L1_Tcc_Fw_Expo_Group_Full) = 112 sizeof(L1_Tcc_Fw_Geographic_Section) = 48 sizeof(L1_Tcc_Fw_Andor_Term) = 16 Luminosity Block Components sizeof(L1_Tcc_L1fw_Per_Bunch_Scaler) = 1280 sizeof(L1_Tcc_Luminosity_Block_Number) = 32