ATLAS     Level 1     Calorimeter Trigger     Software    

L1Calo Software Minutes: 11 November 1999 at Stockholm

 


Level 1 Calo Software Meeting at Stockholm on Thursday 11 November 1999.
------------------------------------------------------------------------

Present: Murrough, Norman, Tara, Cornelius, Viraj, Juergen, Eric,
         Paul BT, Sam, Christian, Nick, Bruce.


The agenda was:

- Status of the Heidelberg C++ software          Cornelius
- Discussion: future plans, requirements
  and timescales for test software;
  feedback on use of HD software at other sites
- DAQ Software for ROD & other prototypes        Murrough
  (experience with DAQ -1 software,
   requirements, plans, timescales)
- Proposals for TTC software                     Norman (for Kithsiri)
- Experience with ROOT                           Tara
- Discussion on software for the prototype
  programme
- Towards final DAQ software:
  (a) Calibration requirements                   Tara
  (b) DAQ Use Cases                              Norman
- Discussion
- Actions for the next meeting (or sooner)
- Timescales for future work
- AOB



Status of the Heidelberg C++ software [Cornelius]
-------------------------------------------------

Cornelius presented the current status of the HDMC software.
His slides may be found from here.

Recent improvments include:
- changes to VME bus implementation: Eltec system (at Mainz) added
- new Notifier class allowing anonymous notification of, and subscription
  to events, avoiding knowledge of the subscribing or notifying classes
- several new Part subclasses, mostly related to the preprocessor test system
- improved IOFrames: the histogramming now works with Qwt fixed for Qt 2.0
- the configuration now allows for open dependencies. This means you can
  create a module template with its registers and incarnate one or more
  copies later, attached to a particular bus.
- the configuration display is now hierarchical
- online documentation is now provided for all widgets and can also be
  seen via the main HDMC web page
- the network VME access now includes block reads
- the CVS directory structure has changed to allow builds on multiple platforms
- there have been many bug fixes and other improvements
- version 0.1 has been released and is available as a tar file

Future developments:
- use of exceptions to handle bus errors and interrupts
- improvements to allow more automated testing: a verify() method
  and some form of scripting were requested
- pretty graphical view of the configuration
- integration with DAQ -1 tools, eg error handling
- an introductory user guide and design description were also requested

In the discussion, Tara reported that he had a few problems installing
the HDMC software and Qwt. Also, after getting it going it wasnt clear
how to proceed in developing code for a new module. 

Later during the joint meeting Cornelius installed the software at Stockholm
and gave a nice demonstration both locally and via the network (and webcam)
on the Heidelberg test system.



DAQ Software for ROD & other prototypes [Murrough]
--------------------------------------------------

Murrough presented the results of work and thought about a prototype
DAQ system. The general aim is that we should develop a prototype of
the final DAQ system to accompany the prototype modules. It should
allow us to test the setup, readout, calibration and monitoring of
the trigger.

We already have many pieces of software than can be used for this:
the DAQ -1 back end software is available, also ROOT for distributed
histogramming, HDMC for hardware access, etc. However the DAQ -1 dataflow
software is not yet available to us, so we need to consider how to do that
ourselves.

Many of the backend components have been tested:
- configuration databases: tried last december => cumbersome but OK.
  Improvements to the database tools are expected (but not ready yet)
- error message reporting (MRS): this is easy to use
- interprocess information service (IS): also simple to use
- run control (RC): a more complex component. The documentation includes
  many tutorials and examples which lead you to the point of developing
  your own (very simple!) run controller.
  We need to look at our DAQ "use cases" and see how (if) they fit into
  the run control states envisaged by the DAQ group.
- the DAQ -1 group has been helpful and responsive in answering questions
  and comments about their software

We need to do more work on our detailed requirements, eg for the RODs.
Also on the configuration database: here joint work with other groups
in level 1 will be useful.


Proposals for TTC software [Norman]
-----------------------------------

Norman showed slides prepared by Kithsiri on future software for the TTCvi.
The requirements were listed and include:
- initialisation of the system
- selecting trigger sources
- all the aspects of sending TTC commands and arbitrating among
  the four "BGo" FIFOs
  
A first attempt at a class diagram was presented (showing the relationship
between proposed classes) and also an object interaction diagram (showing
how messages might pass between instances of those classes.

Kithsiri has circulated a draft document to the AT1SOFT list and comments
are welcome. It was suggested that copies also be sent to Nick, Per Gallno
and Philippe Farthouat for comments.

In the discussion it was noted that such software may well have a wider
use than just our community.

Sam mentioned his experience with the TTCvi for TileCal work. Apart from
a (reported) problem with the FIFOs it worked fine. He had only used
"primitive" software to control it.


Experience with ROOT [Tara]
---------------------------

Tara described his experiences with ROOT. It is intended as an OO (C++)
replacement for PAW and runs on many platforms. It is designed with HEP
applications in mind and can be futher enhanced in the future.
Tara showed the key elements of a typical session of the PAW like
functionality.

Our main motivation has been to investigate the use of ROOT in a distributed
environment. ROOT includes includes for interprocess communication and Tara
has successfully tried a couple of scenarios for displaying histograms
produced by other processes on remote machines.

Future work: Tara intends to create some more realistic demonstrations and
investigate how to integrate this with work on the prototype DAQ system.
He also intends to try using the ROOT GUI classes.

In the discussion it was asked if ATLAS has a view on the ROOT vs LHC++
choice. So far the DAQ group has avoided the issue. If a choice is made
we should follow, but at the moment ROOT seems easy and popular.


Calibration requirements [Tara]
-------------------------------

Tara then summarised the status of work on calibration issues. Progress
has been slow since the last meeting.

Tara summarised the issues listed last time:
- checks of system integrity (from calorimeters and within the trigger)
- timing calibration
- energy calibration
- determination of BCID parameters

The next steps include:
- understanding the calorimeter calibration systems in more detail
- interacting with CTP and level 2
- produce a requirements document
- identify area of common software needs with other subdetectors

In the discussion it was noted that:
- the calibration section in the overall requirements document has
  been updated
- we still need a better numerical understanding of the requirements
  (what precision is required, how many events does that imply, etc)
- we should list all the calibration quantities as part of developing
  a common configuration database with the rest of level 1 trigger
- we should document our "user requirement" on the calorimeter calibration
  systems so they can comment on them

DAQ Use Cases [Norman]
----------------------

Norman presented the work in progress on understanding the "use cases"
of the final DAQ system.

The most detailed so far is the case of the activity during a normal
data taking run. These include:
- collecting slice and RoI data, analysing and filling histograms
- collecting and checking performance statistics from the hardware
- updating status displays
- reporting and responding to (and correcting?) error conditions
- listening for commands
- checking DCS and LHC parameters

Normal also listed the expected actions at start and end of a normal
run. In the discussion it was pointed out that some of these will be
part of the overall DAQ actions, not specific to level 1.

Work on calibration runs has not yet started.

Normal also produced a summary of an events eye view of its (successful)
progress through the complete system.

This work is just beginning and more work and thought is required.
Norman will start to produce a document describing the work in progress.


Discussion, Actions and Timescales
----------------------------------

There was little time left for discussion.

The following actions were volunteered or "volunteered":
- Eric,       end Dec 99:   produce a document on our configuration and
                            calibration database ideas.
- Kithsiri,   end Nov 99:   send TTCvi software proposals to CERN
- Tara at al, end Dec 99:   produce draft calibration requirements doc

We briefly discussed our lack of communication on software.
We have so far not made the effort to set up video conferences,
but we agreed to try this within about a month.

We have made little use of the at1soft@listserv.rl.ac.uk mailing
list recently. We should get into the habit of using this to communicate
developments between meetings.

NB the next UK software meeting was already arranged for Tuesday 23 November
from 10am at RAL, but the room booked (CR11 in R3) does not have video
conference facilities.


Last updated on 17-Nov-1999. Send comments on this page to Murrough Landon