If you wanna
run COOL, you got to run
Dire Straits - Heavy Fuel
On heavy, heavy fuel
This page contains some documentation about COOL_IO,
one of the packages I added
to the COOL
under the contrib/ directory.
This page was last updated on Aug, 31st 2006
Last version available: COOL_IO-00-02-10
has a double aim. First of all, it allows copying data from/to COOL
to/from other formats (ROOT
TTree and text formatted files are available at present, and other
ideas may arise); in this it completely
Secondly, COOL_IO offers a bunch of simple
command-line tools for data
management, such as database/folderset creation/deletion,
listing, folder removal and channel listing. These applications work in
COOL and in whatever else format is supported for data transfer.
This was the announcement mail for the first release, with
some instructions to start
playing with it.
Here is the presentation I gave to the ATLAS Online
Database meeting on Aug, 1st
Aug, 15th 2005: please note that some minor details changed in the
example; refer to the new automatic
to browse the code.
installation and Setup
Aug, 4th 2005: COOL_IO-00-01-05 is
out! This is the first version available under AFS.
No big changes, just some
automatism to have it installed under /afs.
The repository for this and the future releases is: /afs/cern.ch/atlas/project/database/COOL_IO
COOL_IO-00-01-05 contains two directories with binary files:
i686-slc3-gcc323-deb and i686-slc3-gcc323-opt
Choose whatever you prefer and source the file setup/COOL_IO.(c)sh; this will set
the PATH so that COOL_IO
applications will be available in your shell. Btw, you don't need any
other setup in order to reach the plugins: COOL_IO
applications know where they are stored!
Well, you still need some setup to USE
the plugins, but, as I said during the presentation, it's up to you!
You don't want me to control whatever you do with your account, do you?
I can help you, providing many files under setup/, but you have to choose the
most suitable for you.
The test/ directory
contains some quantum mixture of automatic tests and user examples.
From COOL_IO-00-02-04 on, in
order to run a test, you don't need to source any setup file by
Copy the test/ directory to
your private working, enter it and issue the following command:
<COOL_IO> <test> <COOL>
- COOL_IO: COOL_IO
- test: subdirectory
containing the test code you want to run;
- COOL: COOL version
- ROOT: ROOT version
COOL connection string; please use
a temporary COOL database, as
it will be deleted at startup.
a complete example on how you can create
a COOL database copying data from
a text file, select
some data from a COOL database, store them into a ROOT file for quick analysis,
add some data via ROOT and then
update the original COOL database.
This example uses ROOT trees, but it is completely
general and you may obtain the same result with a COOL_IO Text File or
via any other plugin that will be eventually added. This test unit
shows some usage of other COOL_IO
to do in case of problems
text: this is more devoted
to the text and log plugins, showing all the possible IoV formats and
options; moreover, it shows how you can dump
a COOL database on
a text formatted file, or easily
create a new COOL database starting from an ASCII file. The same
example is repeated with a ROOT tree instead of a COOL database, just
to show how plugins are interchangeable in COOL_IO.
If you want to try the commands by yourself, setup your environment and
then copy the commands from the run_test.sh script that is available
under each test directory, without the
echo_cmd keyword, and
specifying the correct version for COOL and ROOT plugins. For example,
you may choose to use the default versions:
or specify a particular version for each plugin:
- COOL_IO_cp cool@"$MYORADB"@/my/folder firstname.lastname@example.org@/my/tree
- COOL_IO_cp cool_1_3_1@"$MYORADB"@/my/folder
Whatever problem you may encounter
with COOL_IO, please let me know!
If an application crashes, or behaves in what you believe is a strange
way, please do the following:
1) use the i686-slc3-gcc323-deb
2) set the MESS_REP_LVL
environmental variable to DEBUG;
3) re-run the same application as before;
4) send me *all* the output.
- COOL: added support for COOL_1_3_3
- ROOT: added more releases
July, 12th 2006:
- COOL: added support for COOL_1_3_2c
- ROOT: added support for v5.12.00
June, 29th 2006:
- Test for recursive removal of foldersets removal in order to
- Bug found and fixed in the text plugin, about nested
June, 28th 2006:
- Recursive removal of foldersets (option "-r" for
- ROOT versions older then 5.08.00 do not seem to
work well with nested TDirectory-es
- COOL: added support for COOL_1_3_2b
- ROOT: added support for versions up to v5.11.06a
May, 28th 2006:
- COOL: added support for COOL_1_3_2a
May, 14th 2006:
- COOL: all versions COOL_1_2_X and COOL_1_3_X presently
available are supported; default version is 1_3_2
- COOL: option to create a multi version folder (default is
still single version)
- ROOT: all the versions presently listed under
/afs/cern.ch/sw/lcg/external/root/, and older than v4.03.02, are
supported. Default version is v5.10.00c
- ROOT: no more repeated objects in COOL_IO_lsfolderset
- ROOT: no more misleading errors from TDirectory::Cd
- Human readable formats for IoV introduced for COOL_IO_cp
options and for text and log plugins. IoV can be expressed as
- number of nanoseconds from 01-01-1970 UTC/GMT
- "yyyy-mm-dd hh:mm:ss" (date and time, one second precision)
- "yyyy-mm-dd hh:mm:ss nanoseconds" (date and time, one
- added support for bool
and unsigned char types
- tests enhanced
Oct, 27th 2005:
- Added support for COOL_1_2_5 (default version is still
- Enhanced testing procedure: all the combinations of
COOL/ROOT supported versions are tested.
- ROOT makefiles, provided under setup/, are now COOL_IO
Oct, 24th 2005:
- Added support for until="inf" in COOL_IO Text Files.
Oct, 13th 2005:
- Added support for COOL_1_2_4 (using last StandaloneCool
- Default version of COOL changed to COOL_1_2_4.
Sep, 21st 2005:
- Added complete support for formatted text files.
- Default version of COOL changed to COOL_1_2_3.
Aug, 15th 2005:
- Uniformed format for ROOT version in file names (->
increase the minor number).
- Defined default version for COOL (COOL_1_2_2) and ROOT
- current link
defined under /afs.
- Example turned into first automatic test.
- Examples of SEAL configurations files provided.
- do_it_all.mk moved
back to StandaloneCool.
- COOL setup files removed from repository; created on the fly
Aug, 4th 2005:
Aug, 3rd 2005:
- COOL setup files: upgraded to StandaloneCool-01-00-23; added
s2u_makefile* for users' comfort.
1st 2005: COOL_IO-00-01-03
- See already mentioned presentation.
to find out the correct setup needed to compile and run COOL
applications; furthermore, nearly all af its Makefiles are based on do_it_all.mk, provided by scram2unix/StandaloneCool.
Hoping that you find it useful, I invite you to send me
comment/question/idea/criticism you may get while using this software!