Notes from LArSoft Librarians Meeting, April 22, 2014
-----------------------------------------------------
Agenda:
o Status of releases
o Priority changes, issues and discussion
o Geant4 macros
o Managing random number engines and seeds
Status of releases (Erica)
o v1.00.08 almost ready
Will release v1.01.00 at the same time
Only difference will be changes to underlying products in v1.01.00
The changes directed toward OSX Maverick build. Required using
gcc 4.8.2, which required changes to a number of other underlying proudcts,
including art and root.
No other known release requests from experiments, so will then continue
with weekly integration releases
Priority changes, issues and discussion (Erica)
o Region of interest code ok to go into integration release after v1.01.00
Old files deprecated (but few have wire data in them)
o Making existing code work for LBNE and uBooNE
-- Optimizations directed at this
-- Hit-finding / clustering workflows are different for uBooNE and LBNE
Would prefer a solution where these differences were in configuration
rather than coded into different modules and hardcoded workflows.
Will convene a small sub-group to look at the issue and make a proposal.
Want to get this done by the next Librarians Meeting
o Track interface changes
-- Proposed some time ago. Had an agreement forged in a subsequent sub-group
meeting. Erica to make a proposal, but has not yet
-- Target next librarians meeting for a proposal
o Integration system requirements
-- Drafting specification for LArSoft.
SCD working on a CI service. Dropped a number of suggested requirements
pertaining to managing the CI tasks and results as out of scope. Will
need to define these requirements (if there are any) as part of the
LArSoft requirements, which will then be used to define our program
of work for the system.
-- Hope to have something ready by next librarians meeting, and possibly by
the stakeholders meeting next week
o PMT geometry changes for uBooNE
Re-assign the ticket to Matt Toups pending creation of the optical response library
New way of handling Geant 4 macros (Lynn Garren)
o Currently in lib directory, which th en needs to be added to FW_SEARCH_PATH by hand
since this is how the files are found by the G4 module(s)
o Propose using the 'install_gdml' macro to put them into a directory that
is automatically put onto FW_SEARCH_PATH.
Works because there are no GDML files in there.
Also propose naming the directory G4
o All is approved.
Managing random number generators and seeds (Gianluca Petrillo)
o This work stems from tickets opened requesting centralized control of random
number seeds and generators
o Art provides a random number service
-- RandomGeneratorService
-- can request a random number engine of a particular type
-- will know the module from which it is called, so can have distinct engines of
the same type from multiple modules
-- can also supply an additional "label" that can be used to distinguish
distinct instances of engines within a given module
-- The service can write state to a text file, can initialize state from
the same file
An accompanying module, RandomNumberSaver, will save the state of all generators
to the event.
-- RandomGeneratorService can then read the state from the file and use that
to initialize the generators
o Seed service: provide a service to consolidate management of seeds
-- Can define many different policies for the seed service:
o Use a single "master" seed to algorithmically generate seeds to all
other generators. Lots of algorithms possible (see below)
o Use a single "master" seed everywhere
o Read and write to files or to/from the event
o etc...
o Questions and issues
-- Is zero a magic seed (eg, takes a value from machine clock)
-- What is the range of seeds? (0 to 999,999,999 suggested)
Genie:
-- Uses TRandom internally. Genie cannot depend on CLHEP since it is used
in contexts independent of that.
-- Need a TRandom wrapper around CLHEP random generators for Genie to be
included under this paradigm
-- A per-event seed depending upon information associated with the event
(such as run and event numbers)
-- Are all the use cases for seed management needed?
Action items and decisions
o Merge existing ROI code into next integration release
Ok to deprecate old data (so do not need a backward compatible schema
evolution solution)
o Convene small group to work on hit-finding workflow solution that would
make uBoone and LBNE configurable differences
o Assign ticket for PMT geometry to Matt Toups for optical response library
o Ok to relocate Geant4 macros to new G4 sub-directory, as proposed
o Project will develop a random number seed service that will allow
multiple seeding policies
-- Project will adapt existing code to use the service
-- Experiments will adapt the existing fcl files
o (from Lynn after the meeting) ifdh_art version to use is v1_4_1a for art v1_09_2,
and v1_4_1 for art v1_08_10
There are minutes attached to this event.
Show them.