NOvA offline 22Nov2010

Meeting with Mark and Brian and Rob about art framework.

1) schedule

NOvA - subcommittee wants to switch before January 21st 2011.
This is important and will need to redirect resources to complete the new art release by this date.
Need a message to PGS to request redirection of resources to complete this task.

2) features - same page

Parameter sets:

Marc discussed the parameter set language and changes from the python configuration.
We must watch for biting off too much in terms of overall program configuration. We may want to construct what we have now in the new language.
Brian is concerned about having more than one file configure the system.
Might need to make a single file that with the components inside as elements - the ones that would go on the command line.
For example - myconfig: “input_stuff: { ... } service_stuff: { ... } modules: { ... } output: { ... }”
Want single point of entry - specification by one file - “here is the job”.

The prolog can contain everything (all services). None will be used until they are referenced in the main body where services that are active i.e. configured must be list.

Rob - wants things to fit on a page (config of a module).
Mark - does not like environment variables controlling things (too much unknown effects).
Rob - wants the art command line saved.

Command line stuff:

Brian - wants input file on the command line
Brian - TFileService file name on command line?
Brian - Output files on the command line? only the file that catches everything (no filtering)

For universal output module file name on command line, the filename given on the command line will be
used to substitute into the output file definition that is already in the configuration.

Mark showed several wanted command line options: number of events, starting event, skip this many events. There is an exclude / include list of events with a specification. The input file and the output file and the histogram output file.
Marc pointed out that all these options are in the output module configuration, Mark said that might be ok.

more features needed:

Browsing events w/o any job defined. Implies a special main that can drive through an event file. Job = sequence of modules. Need to allow for jobs that only have input sources and no modules.

sequences - collection of modules that perform a single operation.

event lists

can you leave off the event count in the input module? Marc says yes, but Brian says it will not work. Might be a feature of the DAQ raw input source configuration. Brian will double-check this. Rob says that -1 will cause all to be read. Marc says that -1 is supposed to be the default.

loading / running / reconfiguring jobs from event display.

3) event display experience

switch between root event display and framework event loop. Gather changes during GUI interactions and apply then when restarting the framework event loop. Less direct than the other system.

Need to know how to interact with the input module: which event are we on? how do we go to a different event?

Likes to work with the string format (serialized) instead of the C++ parameter set objects. Would be happy with the new standard format. Part of the problem is that ROOT and Boost do not play nicely together. Needs name, type of each element. The comments are an issue - the other system had a description of the parameter and they would like this now.
This is a little bit ugly.

Wants to reconfigure services - all of them, wants a list to present to the user. The reconfigure method works well enough (as the modules work).

EventDisplay service made, that is lower level than the example we gave.

Expects type in the parameter set elements.

The prefileopen and postfileopen may not give the file name!!! This might be a problem. Looks like there
is a “respondToOpen” call that is made with a FileBlock object.

The source code is on the redmine site.

Asked if this is interesting to absorb into art. Not ready to answer this yet.

Mark says that this is a fairly stable part of ROOT (the system).

4) other

Need an email list for questions and comments (for art development).
Would like to run locally on laptop systems (ubunto, macos).
Rob says that Lynn will be working on getting this stuff going on the other platforms.
Need all tasks below added to our task list.

Is sorting of the Ptr vector on the task list? Brian wants to know.

They are using gcc 4.1.2, because it is the one on the GPVM system. They want the gcc 4.5 on the GPVM system. Need to talk with the FEF people.

Mark is concerned about locating header for the compiler (standard headers) when a compiler is used out of the UPS area.