You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

org.lcsim Condtions Database

The conditions database is designed to allow a running analysis or reconstruction module to access information about the run "conditions". In our current environment the "conditions" includes the entire detector description, since this is not hardwired into the framework at all.

The org.lcsim conditions framework is designed to be very flexible, both in use and in implementation. Our current implementation looks up conditions based on the detector name. The conditions themselves are stored as an arbitrary collection of files, either stored in a filesystem or in a zip file. The most common files used are property files (name, value pairs) or XML files (e.g. for geometry), however there are no constraints placed on the files.

The recommended format for storing conditions file collections is in a zip file. The conditions database includes facilities for downloading .zip files from the web and caching them on the user's machine, so no web connection is required when running analysis or reconstruction, as long as the required conditions have been previously accessed.

The current system uses the following algorithm for accessing conditions based on detector name.

Recursively translate the detector name using alias files. The alias files are property files stored in one or more of the following locations.

  1. ~/.lcsim/alias.properties
  2. alias.properties stored in the lcsim.jar file itself
  3. http://www.lcsim.org/detectors/alias.properties

Once this translation is complete, the resulting name is checked as follows.

  1. If the name is a URL with a file: protocol, the file or directory specified is assumed to contain the conditions.
  2. If the name is a remote URL then an attempt is made to download a zip file from that location (if the zip file is already in the local cache and up-to-date it is used from there).
  3. If the name is not a URL, we search for a directory or zip file in the following locations:
    1. ~/.lcsim/detectors
    2. In the lcsim.jar file itself
    3. In
      http://www.lcsim.org/detectors/

If none of these succeed in finding the conditions for the specied detector the program will terminate.

  • No labels