Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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 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 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.

Conditions Formats

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

Properties Files

Properties files are simply sets of key, value pairs with the 'equals' as a '=', ':' or ' '. Their file extension should be '.properties'.

For instance, any of the following will assign the value 'strange' to the key 'charm'.

No Format

charm = strange 
charm: strange
charm  :strange

Multiple strings can also be associated with a single key, as follows.

No Format

charm    beauty, truth, strange

The value of the key 'charm' will be 'beauty, truth, strange'. These can be read as individual values using the method String.split() .

Accessing Conditions

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

...