Librarian's Meeting

US/Central
WH9SE

WH9SE


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.
    • 13:00 13:20
      News and announcements 20m
      Speaker: Erica Snider (Fermilab)
      Slides
    • 13:20 13:40
      Change to Geant4 macro location 20m
      Speaker: Lynn Garren (Fermilab)
      Poster
    • 13:40 14:00
      Random number service 20m
      Speaker: Gianluca Petrillo (University of Rochester)
      Slides