Mirrors CERN QMUL |
ATLAS Level 1 Calorimeter Trigger Software | ||||||||||||||||||||||||
L1Calo Software | Minutes: 30 March 2000 at Mainz | ||||||||||||||||||||||||
![]()
|
Level 1 Calo Software Meeting at Mainz on Thursday 30 March 2000. ----------------------------------------------------------------- The agenda was: - CTP configuration Ralf - Calo trigger configuration databases Murrough - Status of HDMC Cornelius - Bit field access with HDMC Murrough - HDMC discussion - Status of DAQ work Norman/Bruce/Tara - Use of ROOT IO for Event class? Tara - DAQ discussion - Hardware platforms - Software organisation/process Murrough (DAQ -1 open source and all that) - DAQ -1 tutorial/workshop - Schedule for forthcoming hardware tests CTP Configuration [Ralf] ------------------------ Ralf summarised his recent note (ATL-DA-EP-0001) on the CTP configuration. His slides are here. He has categorised the configuration data into hardware or software and dynamic or static. In his note he gives a detailed list. The CTP will depend on receiving some of its configuration data from other systems and those in turn will require some of the CTP information. In particular, the level 1 calorimeter trigger will need to know some of the overall trigger menu settings, and the CTP needs to know how the trigger information arrives on our cables. Ralf hopes that we can work together in future to produce a combined data model for the whole of the level 1 trigger and then also provide the software to support it. Calo trigger configuration data [Murrough] ------------------------------------------ Murrough presented the current thoughts on configuration data for the calorimeter trigger and first drafts at a data model. The slides are here. The main input is Erics list of our configuration data. This can be found here. We should turn this into a proper document. Other inputs include the existing DAQ -1 configuration database and the HDMC class model. It seems likely that our hardware configuration (modules, crates) can be fitted into the DAQ -1 scheme. We will have to do some more work on our other data, eg calibrations, connections, etc. Some extremely preliminary class diagrams sketches include: - DAQ -1 hardware schema - L1 Modules - Eta/phi connections - FPGA programs - Calibration - Inventory These were created with a very flaky Mac tools called ObjectPlant. Together seems a somewhat better bet for the future. Status of the Heidelberg C++ software [Cornelius] ------------------------------------------------- Cornelius summarised the recent improvements to the HDMC software. His slides should appear via here. Recent improvments include: - handling of VME bus errors via a new general scheme using C++ exceptions - most of the code now assumes modern compiler support (STL, templates, etc) but the bus server (running on LynxOS) is now free of STL and Qt dependency and does not use exceptions - the Part class now handles a list of its dependent Parts - this allowed a framework for recursive Part verification to be established - constructors added to accept natural arguments (as opposed to GUI created structures) to allow easier use directly from other C++ code - support for various scripting languages (Python, Perl, Tcl) has been added using the SWIG package - various other miscellaneous improvements to MVME167 and dummy bus, histogramming, saving/restoring Part and GUI state, etc - work has started on providing "Part Hierarchy" views, such as all the Registers/Memories in a Module, or Modules in a Crate etc. - version 0.2 will be released shortly after the meeting Bit Field Access in HDMC [Murrough] ----------------------------------- The slides for this talk are here. HDMC allows detailed interactive access to the bit fields of complex registers. For DAQ work, a scheme to allow clear and simple access to bitfields from C++ is desirable. Murrough presented a proposed syntax. The necessary class header files could be created by a suitable compiler from the HDMC configuration files. A similar scheme could be used to create Module classes which had named data members containing their registers, memories and other subcomponents as a short cut to continually locating them via the PartManager. Overview of DAQ work [Norman] ----------------------------- Norman gave a brief introduction to work on the DAQ system which has been done recently at RAL. The general idea has been to evolve the existing system gradually towards the DAQ -1 environment. For the ROD, the first stage should include: - control via DAQ -1 GUI and run controllers - cut down version of the old daqprod, using HDMC services - new daqana creating histograms with ROOT - use of ROOT to display histograms, ditching the old presenter - still using the old buffer manager and old "database" Ideas for new DAQ Producer [Bruce] ---------------------------------- Bruce showed some new ideas for the DAQ producer program, daqprod. His slides are here. It must be started via the DAQ -1 run control and use the DAQ -1 message reporting. Use of DAQ -1 services will require the program to be multithreaded. For the moment, it will use the old database. As described in an earlier talk, a desirable feature would be C++ access to bit fields within registers. Also perhaps the concept of the "register group", ie set of registers with contiguous VME addresses, would be useful. Bruce presented some ideas on how the buffer manager might be seen by the producer: either ROOT stream, or some kind of smart memory or bus. Finally he showed a "primordial" object diagram, created by the rather flaky Together tool. He would like to map "hardware" versions of crates, modules etc to software (ie readout) duals of them. The exact mechanism is not yet clear though. Use of ROOT IO for Event class [Tara] ------------------------------------- Tara gave an introduction to the ROOT IO classes. ROOT is a large framework designed with HEP in mind. We have already decided to use ROOT, at least initially, for providing histogramming within the DAQ. ROOT also provides IO classes which allow definitions of trees of objects that can trivially be stored in files and/or piped through streams. These might provide a convenient model for our Event class and allow events to be stored and retrieved from the buffer manager. Hardware platforms; Software organisation; DAQ -1 tutorial ---------------------------------------------------------- Murrough briefly covered each of these topics. The slides are here. All six groups appear to have enough processors, used with network VME access, to cope with their foreseen needs for the prototype program (except perhaps Stockholm?). Though there may still be a case for investigating our future architecture. Processors from Concurrent seem to be considerably cheaper than those from VMIC which the CERN group selected. (NB the dollar signs in the slides should be pounds). The reorganisation of the trigger/DAQ project including the formation of an online software group may lead to pressure on us to participate in a more formal software process similar to that used within the present backend DAQ group. Norman, Bruce and Ralf (but no one from Heidelberg) will be attending the forthcoming tutorial on the backend software.
Last updated on 07-Apr-2000. Send comments on this page to Murrough Landon |