Difference: CondDBBrowser (1 vs. 16)

Revision 162019-09-10 - MarcoClemencic

Line: 1 to 1
 
META TOPICPARENT name="LHCbComputing"

LHCb Conditions Database Browser

Table of Contents

Introduction

Changed:
<
<
The Conditions Database Browser developped for LHCb is presented here. It was build on top of the CondDBUI (python API to LHCb-COOL) and the PyCool (python API to COOL - the Conditions Database library. This library allows to use the same interface for various database systems, like Oracle, MySQL or SQLite).
>
>
The Conditions Database Browser (CondDBBrowser) is a Graphical User Interface (GUI) that can be used to browse LHCb Git Conditions Database (GitCondDB). The current version is a fork with reduced functionalities of the original CondDBBrowser (which was able to read from and write to COOL database files). The old version is still available from old releases of the LHCb projects, so if you need to browse COOL database files, please, got to the legacy version of this page.
 
Changed:
<
<
The graphical interface of the browser is based on the Qt framework (version 5.x) and on its Python bindings PyQt5.
>
>
With respect to the legacy version, the current CondDBBrowser lacks:
  • access to COOL files
    • not needed because all active branches of LHCb software projects have been migrated to GitCondDB)
  • write to a CondDB partition
    • while this was mandatory for COOL databases, GitCondDB can be updated with any editor or even from the Gitlab Web IDE
 
Changed:
<
<
While mainly targeted to COOL based CondDB, the CondDBBrowser can be used to browse (read-only) Git CondDB databases (by specifying the path to the Git directory as connection string).
>
>
The GUI had been implemented on top of the Qt framework (version 5.x) using the official Python bindings (adapted from the old PyQt5 version).
 
Changed:
<
<

Browser Installation

The Conditions Database Browser code is in the subdirectory Tools/CondDBUI of the LHCb project. To work on it you can use the following recipe:
>
>

Get the Browser

The CondDBBrowser is available in the standard LHCb User environment (on cvmfs) as the command
 %CODE{"sh"}%
Changed:
<
<
version=$(lb-dev --list LHCb | awk '{print $1; exit}') lb-dev --name CondDBBrowserDev LHCb/$version cd CondDBBrowserDev git lb-use LHCb git lb-checkout LHCb/master Tools/CondDBUI make CondDBBrowser ./run CondDBBrowser
>
>
CondDBBrowser %ENDCODE% but is packaged as a standard Python (2) package and can be installed with %CODE{"sh"}% pip install CondDBBrowser
 %ENDCODE%

Using the CondDB Browser

This part of the document is mainly a guided tour through which most of the browser's functionalities will be described.

Changed:
<
<
Now, under assumption that you have once build the CondDBUI package to run browser you should just type:
>
>
Assuming you have either the standard LHCb User environment (e.g. on lxplus), or you installed the browser with pip, you can start it with:
 %CODE{"sh"}%
Changed:
<
<
lb-run LHCb/latest CondDBBrowser
>
>
CondDBBrowser
 %ENDCODE%

This will open the main window of the browser:

Line: 40 to 42
 

Navigating the database

Opening an existing database

Changed:
<
<
If you want to open currently released (in SQLDDDB package) database you should go to the menu Database/Standard and choose the variant of interest. Among DDDB, LHCBCOND and SIMCOND partitions you will see the list of monthly made snapshots of the Online database.
>
>
If you want to open one of the standard GitCondDB partitions deployed on cvmfs you should go to the menu Database/Standard and choose the one you need. Note that this functionality may not be available with the pip-installed version, but you can still browse and GitCondDB repository.
 
Changed:
<
<
You may want to open some particular database, then you have to go to Database/Open menu:
>
>
To open a non standard partition/deployment (or if the "Standard" menu is not active) you have to go to Database/Open menu:
 
CondDB Browser open database view
browser_open_menu.png
Changed:
<
<
Here you have to locate the .db file and to choose the partition name. Unfortunately, there is no simple way to guess this name and users have to know it to open the database (there is a choice in the expandable list to choose from). Fortunately, for the standard LHCb Conditions database files the partition name is recognizable from the file's names.
>
>
Here you have to switch to the "advanced" tab and type the path of the directory containing the GitCondDB clone.
 
Changed:
<
<
By default, the databases are opened in the Read Only mode. If you are working on a remote database, it is anyway unlikely that you will have read/write access on it. However, if you are working on your own database, you can open it in Read/Write mode by simply unchecking the Read Only check box. When you are done, simply press the Ok button and wait for the browser to establish the connection (for remote databases, this can take some time).

The data tree

>
>

The tree view

 
CondDB Browser data tree view
hierarchy_browser.png
Changed:
<
<
The image on the right is an example of the contents of the data tree, located on the left in Hierarchy browser. Here the LHCBCOND partition is opened, as an example. You can travel through it like in most file system explorer program. At the top of the tree, you can see a location bar which displays the path to the selected tree item. You can choose the path from the expandable list to go quickly to the item you are interested in.

There are three different type of tree items: FolderSet, Folder and Channel. They are referring to their eponyms in the CondDB.

  • The FolderSets look like directories and can contain only Folders and other FolderSets.
  • The Folders, which look like a file, can only contain Channels.
  • Finally, the Channels, which also look like files, contain no other tree items.
>
>
The image on the right is an example of the contents of the data tree, located on the left in Hierarchy browser. Here the LHCBCOND partition is opened, as an example. You can travel through it like in most file system explorer programs. At the top of the tree, you can see a location bar which displays the path to the selected tree item. You can choose the path from the expandable list to go quickly to the item you are interested in.
 
Changed:
<
<
Each of these items is identified by a name (the Channels are identified by a number and the others by a string). In the latest version of CondDB Browser the expandable property of a Folder to show the Channel is turn off if there is only one Channel and it is named "0". In all other cases the Folder is expandable to show all the Channels.
Folders items also may have a Version Style property, telling if the values stored in the CondDB folder can be tagged ("Multi") or not ("Single"). This feature is going to be implemented soon in the Hierarchy Browser.
>
>
Like in any filesystem, you can find:
  • folders: used to group other folders and files
  • files: represent condition values with their evolution with time
 
Deleted:
<
<
Useful tip:
  • If you want to copy the path of selected folder you can just right-click on the folder of interest to open the pop-up menu, and choose Copy Path. There you can find another few useful actions, but they are available only in the write mode.





 

The data display and the time filter

Changed:
<
<
Selecting a Folder, or a Channel, item will modify the contents of the central and right sides of the main window: the data display and the time browser. The image below shows what appears when selecting the /Conditions/Ecal/Calibration/Gain.xml Folder:
>
>
Selecting a file in the tree view will modify the content of the central and right sides of the main window: the data display and the time browser. The image below shows what appears when selecting /Conditions/Ecal/Calibration/Gain.xml:
 
Contents of the data display and of the time browser
data_display.png
Line: 82 to 70
 
  • The data display (the central one part) displays the contents (in text) of a condition object stored in the database.
  • The Time Browser offers the possibility to select the condition object to display. These condition objects are listed in the IOV Table area. By default, the list of condition objects is reduced to the one, which is active starting from current time. Full list (or the one for specific "From time and To time") can be seen adjusting the settings in the Filter area of the Time Browser.
Changed:
<
<
If the folder in which the data are stored is a multi-version one, it is possible to get various versions of its contents. This is done using the Tag Name selector:
>
>
One a file is selected, it is possible to chose the version of its content via the Tag Name selector:
 
Tag names list area view for the particular _folder_
tag_names.png
Changed:
<
<
The selector contains the list of tag names available for the selected Folder (or the Channels inside it). By default, the browser only shows user defined tags, and filters out tags generated automatically (except the HEAD). To display all tags, you can uncheck the Hide '_auto_' tags box, just below the tag name selector. Each group of tags (together with 'auto' tags) lying within the area of single color (white or gray one) are referring to the same data. The name, which will pop-up when the cursor is idle on a particular tag name, corresponds to the node (Folder or FolderSet) under which the tag name is visible. Later in this tutorial, we will see in more details how tagging works.
>
>
The selector contains the list of tag names available for the partition. Tags are grouped by the version of the current file, such that tags pointing to the same version of the files appear close to each other and with the same background color.
  Useful tip:
  • If you want to copy the current contents of the text box you can just select the text and right-click on it to open the pop-up menu, and choose Copy. There you can find another few useful actions.
Changed:
<
<

Editing the Database

Creating a new database

There are two ways to create a new database: create it from scratch or create a copy of an existing one. These two possibilities are available respectively in the menu Database/New and Database/Slice. In both cases, you can only create a SQLite database.

Creation from scratch:

The creation from scratch is strait forward: in the dialog, you simply choose a File name and a Partition name (in capitals), press OK and start playing:

new_db.png

Creation from a slice:

To create a slice of a database, you first need to open the source database. Then, open the slice dialog window:

new_from_slice.png

In the Destination fields, you should put the File name and Partition name where you want to store the slice of the source database. Decide here whether you are going to create a new database copy or append data to the target database. If the second one, choose the database target which exists and check the Append checkbox.

In the Selection fields, you will give details of the part of the source database you want to put in the target database. The Node selector contains a list of the source's nodes. The copy is recursive, so if you select a FolderSet, all its childs will be copied as well. The Since and Until fields define the time interval you want to copy in the target database. Only objects valid during this period will be copied. Finally, the tags relevant for the selected node are listed in the Tags list. If you are doing a copy, you can select as many tags as you want (by just clicking on their names). However, if you are appending data to the target, you can select only one tag which will become the new HEAD of the target database (i.e. the tag name will not be copied !).

When the details of your selection are correct, you have to press the Add button. The Selection set gives a summary of the selections you want to copy in the target database. You can add as many selection objects as you want, but be careful: some selections may be incompatible and the slicing tool may not accept them.

Be careful: Copying is safe, but appending is a risky operation: selected data are appended to the HEAD of the target database, overriding previous HEAD data. If you are not careful enough you may endup with data loss.

When creating/appending is done, you can open the target database normally (i.e. via Database/Open and selecting the last choice of the Schema selector).

Adding a new Condition

If you opened your database in read/write mode (can be turned on from the Database menu), a new menu is available: the Edit menu. It provides the most common operations for users willing to modify the content of their database.

The most obvious operation is to add a new condition object. For this, we first need to select the Folder where we want to store this condition (in the data tree). In our example, it will be /Conditions/TT/ReadoutConf/ReadoutMap.xml. Then, we open the "Add condition" dialog window by selecting Edit/Add Condition:

add_condition.png

The Folder field is read only to prevent mistakes. The other fields allows us to set the Channel ID of our new condition object (0 by default). Since and Until are the lower and upper bounds of the condition object's interval of validity. On the right, the list of available payload keys is displayed. To edit the contents of the condition object, you have to select the Payload Keys you want to modify and press the Edit button:

edit_condition_payload.png

A text editor will then open the current content of the selected folder, or if the folder is new - will open with a few XML blocks already written. These blocks are mandatory for all conditions data stored in the LHCb Conditions Database. The five buttons at the top of the text editor are providing some helpful operations:

  • Import: loads text data from a file. Be aware that this overrides the content of the text editor !
  • Export: saves the content of the text editor into a file.
  • <condition>: insert a preformated XML tag for the description of an LHCb condition
  • <param>: insert a preformated XML tag for the description of a condition parameter, which can be of type "int", "double" or "string". A <param> tag must be children of a tag.
  • <paramvector>: same as <param>, but instead of storing a single value, it stores a vector of values ("int", "double", or "string").

This editor is very basic and, for example, has no "undo" feature (although if you press Cancel the changes will not be saved). Future version of the browser will probably allow to edit conditions in an external text editor (emacs, vim, nedit, etc.). For the moment, the only possibility for you to do so, is to prepare condition data with your favorite editor and to load the contents in the condition editor.

When you have finished the edition of the condition data, you press OK and get back to the "Add condition" dialog. Now, to write the condition in the database, you have to add it to the Condition Objects Stack by pressing the " + " button. A summary of the properties of the condition object will appear.

The stack will contain all the new condition objects you want to add to the selected Folder. Objects in the stack are not (yet) editable, but selecting one of them will reload its parameters in the location details and the payload key list. If you want to "modify" an entry, select it to reload its parameters, modify them, add the new object to the stack, and delete the old version using the " - " button.

The last detail to keep in mind before writing data in the Folder is that conditions objects will be written to the database in the order they appear in the stack. For example, if you have a condition object A going in channel 0 and with validity from 500 to 1000, and an object B, also in channel 0, with a validity ranging from 700 to 1100, the order in which you insert them will give different results. If A is written before B, you will get A's value valid from 500 to 700, and B's value from 700 to 1100. If B is written before A, A's value will be valid from 500 to 1000 and B's value from 1000 to 1100.

When your list of condition objects is ready, pressing the OK button will update the database. You can now see the result in the browser.

Tagging

To keep track of various possible values of a condition for a given validity range, it is possible to apply a tag to the current state of any node of the database. This is called "tagging". The tagging system of the Conditions Database (called HVS for Hierarchical Versioning System) is very powerful but not easy to describe in a few words.

In the previous section, we have created a new set of condition objects to put inside the /Conditions/TT/ReadoutConf/ReadoutMap.xml Folder. To keep track of this modification, we need to apply a tag to it. This is done by first selecting the Folder item in the tree, and open the menu Edit/New Tag:

new_tag.png

You simply have to choose a New Tag Name and press the OK button. The tag name you choose must be unique in the database. The new tag is created and should appear in the tag list of the folder. Now, whatever changes you can make to the contents of your folder, the current status of your data can be recovered by selecting the tag you've just created.

Now, when you want to use these conditions, you don't want to specify a tag for each Folder you are going to use. This is why it is possible to create tags for FolderSets as well. But as FolderSets do not contain data (only the Folders contain data), you have to create a "link" between the FolderSet's tag and the tags of the child nodes, which eventually link to the tag of a Folder. This is the principle of the Hierarchical Versioning System.

To illustrate this, we are going to create a new tag for the FolderSet /Conditions/TT/ReadoutConf. To do so, we select it in the tree, and open Edit/New Tag:

new_tag_folderset_2.png

The dialog is different than the one used to tag a Folder. Here, we have a list of the child nodes of the selected FolderSet. These nodes can be either Folders or FolderSets. But for each of them, we can select the tag name that will be linked to the one we are about to create. By default, it is the HEAD. But if you double-click on the selector in the column Tag for the node /Conditions/TT/ReadoutConf/ReadoutMap.xml , you can find any tag available for it. But for most cases, it is more convenient to open the Fill from an existing tag dialog to choose among an existing tags for the current FolderSet the tag of interest, and then modify some of the tags for the child nodes.

When you choose to link a FolderSet tag to the HEAD tag of one of its child nodes, the system will automatically create a new tag for this children and create the appropriate link. Tags generated automatically are always starting with "_auto_", so it is a bad idea to use this format for your own tags.

Creating a new node

The creation of a new node in the CondDB is not a common operation. Usually, the structure of the database will be fixed and not supposed to change. For this reason, the New Node action is available in the Advanced menu, together with Delete Node and Delete Tag.

If we select /Conditions/TT FolderSet to create a new node in it the dialog window will look like this:

new_node.png

The Node Name is the full path to the new node, and the Description is a facultative string describing the nature and contents of the node. In the Type area, you can decide if you create a FolderSet (by default, you are creating a Multi version Folder), if the Folder will be a Single Version one (meaning that no tagging is possible), and asking to recursively create parents nodes (this action does not override existing nodes). If you open the Edit Fields area you will see the list of storage keys. It is meaningless if you are creating a FolderSet. However, it is very important if you are creating a Folder because all the condition object you will store later will have these keys defined. To add a new one, simply press the " + " button, and double click on the new cell to give a name to the new storage key. Finally, pressing the OK button will make the new node appear in the tree.

Deleting a node

Node deletion is to be use carefully as it results in data loss. To delete a node, you simply select it in the tree and go to menu Advanced/Delete Node. If the node is a FolderSet, it must be empty before being able to delete it.

Deleting a Tag

Tag deletion may also imply data loss. To do it, select the node for which you want to delete a tag, then go to the menu Advanced/Delete Tag. A list of available tags will be given and you simply have to select the one you want to delete. While HEAD is available in the list, you can't delete it (something to be updated in later versions...).

Further Readings

The Conditions Database Browser is a "never finished" project and contributions are welcome. Documentation for the various tools used to develop the program are available on the web:

As it is now, it should respond to most of the users requests for database manipulation. For more advanced features, you can use:

>
>

References

 
Changed:
<
<
For more details about the Conditions Database framework in LHCb, please refer to the Detector Conditions web page.
>
>
  -- IllyaShapoval - 31-Jan-2010
Deleted:
<
<
-- MarcoClemencic - 2017-06-27
 
Added:
>
>
-- MarcoClemencic - 2019-09-10
 
META FILEATTACHMENT attachment="browser.png" attr="" comment="CondDB Browser main window view" date="1265016815" name="browser.png" path="browser.png" size="29773" stream="browser.png" tmpFilename="/usr/tmp/CGItemp12175" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="browser_open.png" attr="h" comment="CondDB open menu window" date="1265026514" name="browser_open.png" path="browser_open_menu.png" size="35572" stream="browser_open_menu.png" tmpFilename="/usr/tmp/CGItemp15557" user="4b600f4d6a3b75ce63f2" version="1"

Revision 152017-06-27 - MarcoClemencic

Line: 1 to 1
 
META TOPICPARENT name="LHCbComputing"

LHCb Conditions Database Browser

Table of Contents

Line: 7 to 7
  The Conditions Database Browser developped for LHCb is presented here. It was build on top of the CondDBUI (python API to LHCb-COOL) and the PyCool (python API to COOL - the Conditions Database library. This library allows to use the same interface for various database systems, like Oracle, MySQL or SQLite).
Changed:
<
<
The graphical interface of the browser is based on PyQt 4.4.3 library.
>
>
The graphical interface of the browser is based on the Qt framework (version 5.x) and on its Python bindings PyQt5.
 
Changed:
<
<
While mainly targeted to COOL based CondDBs, the CondDBBrowser can be used to browse (read-only) Git CondDB databases (by specifying the path to the Git directory as connection string).
>
>
While mainly targeted to COOL based CondDB, the CondDBBrowser can be used to browse (read-only) Git CondDB databases (by specifying the path to the Git directory as connection string).
 

Browser Installation

Changed:
<
<
The Conditions Database Browser is provided with the Tools/CondDBUI package. You can install it by the following steps (choose the latest version when asked):

# version=$(lb-dev --list LHCb | awk '{print $1; exit}')
# lb-dev --name CondDBBrowserDev LHCb/$version
# cd CondDBBrowserDev
# git lb-use LHCb
# git lb-checkout LHCb/master Tools/CondDBUI
# make CondDBBrowser
# ./run CondDBBrowser
>
>
The Conditions Database Browser code is in the subdirectory Tools/CondDBUI of the LHCb project. To work on it you can use the following recipe:
<!-- SyntaxHighlightingPlugin -->
version=$(lb-dev --list LHCb | awk '{print $1; exit}')
lb-dev --name CondDBBrowserDev LHCb/$version
cd CondDBBrowserDev
git lb-use LHCb
git lb-checkout LHCb/master Tools/CondDBUI
make CondDBBrowser
./run CondDBBrowser
<!-- end SyntaxHighlightingPlugin -->
 

Using the CondDB Browser

This part of the document is mainly a guided tour through which most of the browser's functionalities will be described.

Now, under assumption that you have once build the CondDBUI package to run browser you should just type:

Changed:
<
<
# lb-run LHCb/latest CondDBBrowser
>
>
<!-- SyntaxHighlightingPlugin -->
lb-run LHCb/latest CondDBBrowser
<!-- end SyntaxHighlightingPlugin -->
  This will open the main window of the browser:
Line: 194 to 192
  The Conditions Database Browser is a "never finished" project and contributions are welcome. Documentation for the various tools used to develop the program are available on the web:
Changed:
<
<
>
>
  As it is now, it should respond to most of the users requests for database manipulation. For more advanced features, you can use:
Line: 204 to 203
 For more details about the Conditions Database framework in LHCb, please refer to the Detector Conditions web page.

-- IllyaShapoval - 31-Jan-2010

Added:
>
>
-- MarcoClemencic - 2017-06-27
 

META FILEATTACHMENT attachment="browser.png" attr="" comment="CondDB Browser main window view" date="1265016815" name="browser.png" path="browser.png" size="29773" stream="browser.png" tmpFilename="/usr/tmp/CGItemp12175" user="4b600f4d6a3b75ce63f2" version="1"

Revision 142017-06-27 - MarcoClemencic

Line: 1 to 1
 
META TOPICPARENT name="LHCbComputing"

LHCb Conditions Database Browser

Table of Contents

Line: 9 to 9
  The graphical interface of the browser is based on PyQt 4.4.3 library.
Added:
>
>
While mainly targeted to COOL based CondDBs, the CondDBBrowser can be used to browse (read-only) Git CondDB databases (by specifying the path to the Git directory as connection string).
 

Browser Installation

The Conditions Database Browser is provided with the Tools/CondDBUI package. You can install it by the following steps (choose the latest version when asked):
Changed:
<
<
# setenvLHCb # getpack Tools/CondDBUI # make
>
>
# version=$(lb-dev --list LHCb | awk '{print $1; exit}') # lb-dev --name CondDBBrowserDev LHCb/$version # cd CondDBBrowserDev # git lb-use LHCb # git lb-checkout LHCb/master Tools/CondDBUI # make CondDBBrowser # ./run CondDBBrowser
 

Using the CondDB Browser

Line: 25 to 31
 Now, under assumption that you have once build the CondDBUI package to run browser you should just type:
Changed:
<
<
# SetupProject LHCb --use-grid # CondDBBrowser
>
>
# lb-run LHCb/latest CondDBBrowser
 

This will open the main window of the browser:

Revision 132013-03-28 - IllyaShapoval

Line: 1 to 1
 
META TOPICPARENT name="LHCbComputing"

LHCb Conditions Database Browser

Table of Contents

Line: 18 to 18
 # make
Changed:
<
<

Using the CondDB Browser

>
>

Using the CondDB Browser

  This part of the document is mainly a guided tour through which most of the browser's functionalities will be described.

Revision 122010-06-18 - PatrickSKoppenburg

Line: 1 to 1
 
META TOPICPARENT name="LHCbComputing"

LHCb Conditions Database Browser

Table of Contents

Line: 25 to 25
 Now, under assumption that you have once build the CondDBUI package to run browser you should just type:
Changed:
<
<
# SetupProject LHCb
>
>
# SetupProject LHCb --use-grid
 # CondDBBrowser

Revision 112010-02-03 - Ishapoval

Line: 1 to 1
 
META TOPICPARENT name="LHCbComputing"

LHCb Conditions Database Browser

Table of Contents

Introduction

Changed:
<
<
The Conditions Database Browser developped for LHCb is presented here. It was build on top of the CondDBUI (python API to LHCb-COOL) and the PyCool (python API to COOL). (COOL is the Conditions Database library. This library allows to use the same interface for various database systems, like Oracle, MySQL or SQLite.
>
>
The Conditions Database Browser developped for LHCb is presented here. It was build on top of the CondDBUI (python API to LHCb-COOL) and the PyCool (python API to COOL - the Conditions Database library. This library allows to use the same interface for various database systems, like Oracle, MySQL or SQLite).
 
Changed:
<
<
The graphical interface is based on PyQt 4.4.3 library.
>
>
The graphical interface of the browser is based on PyQt 4.4.3 library.
 

Browser Installation

The Conditions Database Browser is provided with the Tools/CondDBUI package. You can install it by the following steps (choose the latest version when asked):
Line: 23 to 22
  This part of the document is mainly a guided tour through which most of the browser's functionalities will be described.
Changed:
<
<
Now, under assumption that you have once build the CondDBUI package to run browser you should just type:
>
>
Now, under assumption that you have once build the CondDBUI package to run browser you should just type:
 
# SetupProject LHCb
Line: 35 to 34
 
CondDB Browser main window view
browser.png
Changed:
<
<

Navigating the database

Opening an existing database

>
>

Navigating the database

Opening an existing database

  If you want to open currently released (in SQLDDDB package) database you should go to the menu Database/Standard and choose the variant of interest. Among DDDB, LHCBCOND and SIMCOND partitions you will see the list of monthly made snapshots of the Online database.
Line: 50 to 49
 By default, the databases are opened in the Read Only mode. If you are working on a remote database, it is anyway unlikely that you will have read/write access on it. However, if you are working on your own database, you can open it in Read/Write mode by simply unchecking the Read Only check box. When you are done, simply press the Ok button and wait for the browser to establish the connection (for remote databases, this can take some time).
Changed:
<
<

The data tree

>
>

The data tree

 
CondDB Browser data tree view
hierarchy_browser.png The image on the right is an example of the contents of the data tree, located on the left in Hierarchy browser. Here the LHCBCOND partition is opened, as an example. You can travel through it like in most file system explorer program. At the top of the tree, you can see a location bar which displays the path to the selected tree item. You can choose the path from the expandable list to go quickly to the item you are interested in.
Line: 70 to 69
 


Changed:
<
<

The data display

>
>

The data display and the time filter

  Selecting a Folder, or a Channel, item will modify the contents of the central and right sides of the main window: the data display and the time browser. The image below shows what appears when selecting the /Conditions/Ecal/Calibration/Gain.xml Folder:
Line: 86 to 85
  tag_names.png

The selector contains the list of tag names available for the selected Folder (or the Channels inside it). By default, the browser only shows user defined tags, and filters out tags generated automatically (except the HEAD). To display all tags, you can uncheck the Hide '_auto_' tags box, just below the tag name selector.

Changed:
<
<
Each group of tags (together with 'auto' tags) lying within the area of single color (white or gray one) are referring to the same data. The name, which will pop-up when the cursor is idle on a particular tag name, corresponds to the node (Folder or FolderSet) under which the tag name is visible. Later in this tutorial, we will see in more details how tagging works.
>
>
Each group of tags (together with 'auto' tags) lying within the area of single color (white or gray one) are referring to the same data. The name, which will pop-up when the cursor is idle on a particular tag name, corresponds to the node (Folder or FolderSet) under which the tag name is visible. Later in this tutorial, we will see in more details how tagging works.
  Useful tip:
  • If you want to copy the current contents of the text box you can just select the text and right-click on it to open the pop-up menu, and choose Copy. There you can find another few useful actions.
Changed:
<
<

Editing the Database

Creating a new database

>
>

Editing the Database

Creating a new database

  There are two ways to create a new database: create it from scratch or create a copy of an existing one. These two possibilities are available respectively in the menu Database/New and Database/Slice. In both cases, you can only create a SQLite database.
Changed:
<
<

Creation from scratch:

>
>
Creation from scratch:
  The creation from scratch is strait forward: in the dialog, you simply choose a File name and a Partition name (in capitals), press OK and start playing:
new_db.png
Changed:
<
<

Creation from a slice:

>
>
Creation from a slice:
  To create a slice of a database, you first need to open the source database. Then, open the slice dialog window:
new_from_slice.png
Line: 117 to 116
  When creating/appending is done, you can open the target database normally (i.e. via Database/Open and selecting the last choice of the Schema selector).
Changed:
<
<

Adding a new Condition

>
>

Adding a new Condition

  If you opened your database in read/write mode (can be turned on from the Database menu), a new menu is available: the Edit menu. It provides the most common operations for users willing to modify the content of their database.
Line: 147 to 146
  When your list of condition objects is ready, pressing the OK button will update the database. You can now see the result in the browser.
Changed:
<
<

Tagging

>
>

Tagging

  To keep track of various possible values of a condition for a given validity range, it is possible to apply a tag to the current state of any node of the database. This is called "tagging". The tagging system of the Conditions Database (called HVS for Hierarchical Versioning System) is very powerful but not easy to describe in a few words.
Line: 163 to 162
 
new_tag_folderset_2.png
Changed:
<
<
The dialog is different than the one used to tag a Folder. Here, we have a list of the child nodes of the selected FolderSet. These nodes can be either Folders or FolderSets. But for each of them, we can select the tag name that will be linked to the one we are about to create. By default, it is the HEAD. But if you double-click on the selector in the column Tag for the node /Conditions/TT/ReadoutConf/ReadoutMap.xml , you should find the tag you've just created. Alternatively, you can open the Fill from an existing tag button to choose at the same time the set of tags for all the child nodes which are currently in the chosen node.
>
>
The dialog is different than the one used to tag a Folder. Here, we have a list of the child nodes of the selected FolderSet. These nodes can be either Folders or FolderSets. But for each of them, we can select the tag name that will be linked to the one we are about to create. By default, it is the HEAD. But if you double-click on the selector in the column Tag for the node /Conditions/TT/ReadoutConf/ReadoutMap.xml , you can find any tag available for it. But for most cases, it is more convenient to open the Fill from an existing tag dialog to choose among an existing tags for the current FolderSet the tag of interest, and then modify some of the tags for the child nodes.
  When you choose to link a FolderSet tag to the HEAD tag of one of its child nodes, the system will automatically create a new tag for this children and create the appropriate link. Tags generated automatically are always starting with "_auto_", so it is a bad idea to use this format for your own tags.
Changed:
<
<

Creating a new node

>
>

Creating a new node

  The creation of a new node in the CondDB is not a common operation. Usually, the structure of the database will be fixed and not supposed to change. For this reason, the New Node action is available in the Advanced menu, together with Delete Node and Delete Tag.
Line: 178 to 177
 The Node Name is the full path to the new node, and the Description is a facultative string describing the nature and contents of the node. In the Type area, you can decide if you create a FolderSet (by default, you are creating a Multi version Folder), if the Folder will be a Single Version one (meaning that no tagging is possible), and asking to recursively create parents nodes (this action does not override existing nodes). If you open the Edit Fields area you will see the list of storage keys. It is meaningless if you are creating a FolderSet. However, it is very important if you are creating a Folder because all the condition object you will store later will have these keys defined. To add a new one, simply press the " + " button, and double click on the new cell to give a name to the new storage key. Finally, pressing the OK button will make the new node appear in the tree.
Changed:
<
<

Deleting a node

>
>

Deleting a node

  Node deletion is to be use carefully as it results in data loss. To delete a node, you simply select it in the tree and go to menu Advanced/Delete Node. If the node is a FolderSet, it must be empty before being able to delete it.
Changed:
<
<

Deleting a Tag

>
>

Deleting a Tag

  Tag deletion may also imply data loss. To do it, select the node for which you want to delete a tag, then go to the menu Advanced/Delete Tag. A list of available tags will be given and you simply have to select the one you want to delete. While HEAD is available in the list, you can't delete it (something to be updated in later versions...).

Revision 102010-02-03 - Ishapoval

Line: 1 to 1
 
META TOPICPARENT name="LHCbComputing"

LHCb Conditions Database Browser

Table of Contents

Line: 137 to 137
 
  • <param>: insert a preformated XML tag for the description of a condition parameter, which can be of type "int", "double" or "string". A <param> tag must be children of a tag.
  • <paramvector>: same as <param>, but instead of storing a single value, it stores a vector of values ("int", "double", or "string").
Changed:
<
<
This editor is very basic and, for example, has no "undo" feature. Future version of the browser will probably allow to edit conditions in an external text editor (emacs, vim, nedit, etc.). For the moment, the only possibility for you to do so, is to prepare condition data with your favorite editor and to load the contents in the condition editor.
>
>
This editor is very basic and, for example, has no "undo" feature (although if you press Cancel the changes will not be saved). Future version of the browser will probably allow to edit conditions in an external text editor (emacs, vim, nedit, etc.). For the moment, the only possibility for you to do so, is to prepare condition data with your favorite editor and to load the contents in the condition editor.
  When you have finished the edition of the condition data, you press OK and get back to the "Add condition" dialog. Now, to write the condition in the database, you have to add it to the Condition Objects Stack by pressing the " + " button. A summary of the properties of the condition object will appear.

Revision 92010-02-03 - Ishapoval

Line: 1 to 1
 
META TOPICPARENT name="LHCbComputing"

LHCb Conditions Database Browser

Table of Contents

Introduction

Changed:
<
<
The Conditions Database Browser developped for LHCb is presented here. It was build on top of the CondDBUI (python API to LHCb-COOL) and the PyCool (python API to COOL). (COOL is the Conditions Database library. This library allows to use the same interface for various database systems, like Oracle, MySQL or SQLite).
>
>
The Conditions Database Browser developped for LHCb is presented here. It was build on top of the CondDBUI (python API to LHCb-COOL) and the PyCool (python API to COOL). (COOL is the Conditions Database library. This library allows to use the same interface for various database systems, like Oracle, MySQL or SQLite.
 
Changed:
<
<
The graphical interface is based on PyQt 4.4.3 library.
>
>
The graphical interface is based on PyQt 4.4.3 library.
 

Browser Installation

Changed:
<
<
The CondDB Browser is provided with the CondDBUI package. You can install it by the following steps (choose the latest version when asked):
>
>
The Conditions Database Browser is provided with the Tools/CondDBUI package. You can install it by the following steps (choose the latest version when asked):
 
# setenvLHCb
Line: 129 to 129
 
edit_condition_payload.png
Changed:
<
<
A small text editor will then open with a few XML blocks already written. These blocks are mandatory for all conditions data stored in the LHCb Conditions Database. The five buttons at the top of the text editor are providing some helpful operations: Load: load text data from a file. Be aware that this overrides the content of the text editor ! Export: save the content of the text editor into a file. : insert a preformated XML tag for the description of an LHCb condition : insert a preformated XML tag for the description of a condition parameter, which can be of type "int", "double" or "string". A tag must be children of a tag. : same as , but instead of storing a single value, it stores a vector of values ("int", "double", or "string").
>
>
A text editor will then open the current content of the selected folder, or if the folder is new - will open with a few XML blocks already written. These blocks are mandatory for all conditions data stored in the LHCb Conditions Database. The five buttons at the top of the text editor are providing some helpful operations:

  • Import: loads text data from a file. Be aware that this overrides the content of the text editor !
  • Export: saves the content of the text editor into a file.
  • <condition>: insert a preformated XML tag for the description of an LHCb condition
  • <param>: insert a preformated XML tag for the description of a condition parameter, which can be of type "int", "double" or "string". A <param> tag must be children of a tag.
  • <paramvector>: same as <param>, but instead of storing a single value, it stores a vector of values ("int", "double", or "string").
  This editor is very basic and, for example, has no "undo" feature. Future version of the browser will probably allow to edit conditions in an external text editor (emacs, vim, nedit, etc.). For the moment, the only possibility for you to do so, is to prepare condition data with your favorite editor and to load the contents in the condition editor.
Changed:
<
<
When you have finished the edition of the condition data, you press OK and get back to the "add condition" dialog. Now, to write the condition in the database, you have to add it to the Condition Objects Stack by pressing the Add button, at the left of the list. A summary of the properties of the condition object will appear.
>
>
When you have finished the edition of the condition data, you press OK and get back to the "Add condition" dialog. Now, to write the condition in the database, you have to add it to the Condition Objects Stack by pressing the " + " button. A summary of the properties of the condition object will appear.
 
Changed:
<
<
The stack will contain all the new condition objects you want to add to the selected Folder. Objects in the stack are not (yet) editable, but selecting one of them will reload its parameters in the location details and the payload key list. If you want to "modify" an entry, select it to reload its parameters, modify them, add the new object to the stack, and delete the old version (using the Del button).
>
>
The stack will contain all the new condition objects you want to add to the selected Folder. Objects in the stack are not (yet) editable, but selecting one of them will reload its parameters in the location details and the payload key list. If you want to "modify" an entry, select it to reload its parameters, modify them, add the new object to the stack, and delete the old version using the " - " button.
 
Changed:
<
<
The last detail to keep in mind before writing data in the Folder is that conditions objects will be writen to the database in the order they appear in the stack. for example, if you have a condition object A going in channel 0 and with validity from 500 to 1000, and an object B, also in channel 0, with a validity ranging from 700 to 1100, the order in which you insert them will give different results. If A is written before B, you will get A's value valid from 500 to 750, and B's value from 750 to 1100. If B is written before A, A's value will be valid from 500 to 1000 and B's value from 1000 to 1100.
>
>
The last detail to keep in mind before writing data in the Folder is that conditions objects will be written to the database in the order they appear in the stack. For example, if you have a condition object A going in channel 0 and with validity from 500 to 1000, and an object B, also in channel 0, with a validity ranging from 700 to 1100, the order in which you insert them will give different results. If A is written before B, you will get A's value valid from 500 to 700, and B's value from 700 to 1100. If B is written before A, A's value will be valid from 500 to 1000 and B's value from 1000 to 1100.
 
Changed:
<
<
When your list of condition objects is ready, pressing the Write button will update the database. You can now see the result in the browser.
>
>
When your list of condition objects is ready, pressing the OK button will update the database. You can now see the result in the browser.
 

Tagging

To keep track of various possible values of a condition for a given validity range, it is possible to apply a tag to the current state of any node of the database. This is called "tagging". The tagging system of the Conditions Database (called HVS for Hierarchical Versioning System) is very powerful but not easy to describe in a few words.

Changed:
<
<
In the previous section, we have created a new set of condition objects to put inside the /Conditions/Ecal/AlignmentCatalog.xml Folder. To keep track of this modification, we need to apply a tag to it. This is done by first selecting the Folder item in the tree, and open the menu Edit/New Tag:
>
>
In the previous section, we have created a new set of condition objects to put inside the /Conditions/TT/ReadoutConf/ReadoutMap.xml Folder. To keep track of this modification, we need to apply a tag to it. This is done by first selecting the Folder item in the tree, and open the menu Edit/New Tag:
 
new_tag.png
Changed:
<
<
You simply have to choose a Tag Name and press the Create button. The tag name you choose must be unique in the database. The new tag is created and should appear in the tag list of the folder. Now, whatever changes you can make to the contents of your folder, the current status of your data can be recovered by selecting the tag you've just created.
>
>
You simply have to choose a New Tag Name and press the OK button. The tag name you choose must be unique in the database. The new tag is created and should appear in the tag list of the folder. Now, whatever changes you can make to the contents of your folder, the current status of your data can be recovered by selecting the tag you've just created.
 
Changed:
<
<
Now, when you want to use these conditions, you don't want to specify a tag for each Folder you are going to use. This is why it is possible to create tags for FolderSets as well. But as FolderSets do not contain data (only the Folders contain data), you have to create a "link" between the FolderSets' tag and the tags of the child nodes, which eventually link to the tag of a Folder. This is the principle of the Hierarchical Versioning System.
>
>
Now, when you want to use these conditions, you don't want to specify a tag for each Folder you are going to use. This is why it is possible to create tags for FolderSets as well. But as FolderSets do not contain data (only the Folders contain data), you have to create a "link" between the FolderSet's tag and the tags of the child nodes, which eventually link to the tag of a Folder. This is the principle of the Hierarchical Versioning System.
 
Changed:
<
<
To illustrate this, we are going to create a new tag for the FolderSet /Conditions/Ecal. To do so, we select it in the tree, and open Edit/New Tag:
>
>
To illustrate this, we are going to create a new tag for the FolderSet /Conditions/TT/ReadoutConf. To do so, we select it in the tree, and open Edit/New Tag:
 
Changed:
<
<
new_tag_folderset.png
>
>
new_tag_folderset_2.png
 
Changed:
<
<
The dialog is different than the one used to tag a Folder. Here, we have a list of the child nodes of the selected FolderSet. These nodes can be either Folders or FolderSets. But for each of them, we can select the tag name that will be linked to the one we are about to create. By default, it is the HEAD. But if you open the selector in the column Tag Name for the node /Conditions/Ecal/AlignmentCatalog.xml , you should find the tag you've just created.
>
>
The dialog is different than the one used to tag a Folder. Here, we have a list of the child nodes of the selected FolderSet. These nodes can be either Folders or FolderSets. But for each of them, we can select the tag name that will be linked to the one we are about to create. By default, it is the HEAD. But if you double-click on the selector in the column Tag for the node /Conditions/TT/ReadoutConf/ReadoutMap.xml , you should find the tag you've just created. Alternatively, you can open the Fill from an existing tag button to choose at the same time the set of tags for all the child nodes which are currently in the chosen node.
 
Changed:
<
<
When you choose to link a FolderSet tag to the HEAD tag of one of its child nodes, the system will automatically create a new tag for this children and create the appropriate link. Tags generated automatically are always starting with "_auto_", so it is a bad idea to use this format for your own tags.
>
>
When you choose to link a FolderSet tag to the HEAD tag of one of its child nodes, the system will automatically create a new tag for this children and create the appropriate link. Tags generated automatically are always starting with "_auto_", so it is a bad idea to use this format for your own tags.
 

Creating a new node

Changed:
<
<
The creation of a new node in the CondDB is not a common operation. Usually, the structure of the database will be fixed and not supposed to change. For this reason, the New Node action is available in the Advanced menu, together with Delete Node and Delete Tag.
>
>
The creation of a new node in the CondDB is not a common operation. Usually, the structure of the database will be fixed and not supposed to change. For this reason, the New Node action is available in the Advanced menu, together with Delete Node and Delete Tag.
 
Changed:
<
<
The dialog window for creating a new node looks like this:
>
>
If we select /Conditions/TT FolderSet to create a new node in it the dialog window will look like this:
 
new_node.png
Changed:
<
<
The Node Name is the full path to the new node, and the Description is a facultative string describing the nature and contents of the node. The list of Storage Keys is meaningless if you are creating a FolderSet. However, it is very important if you are creating a Folder because all the condition object you will store later will have these keys defined. To add a new one, simply press the Add button, and double clic on the new cell to give a name to the new storage key. Finally, in the Options area, you can decide if you create a FolderSet (by default, you are creating a Folder), if the Folder will be a Single Version one (meaning that no tagging is possible), and asking to recursively create parent nodes (this action does not override existing nodes). Pressing the Create button will make the new node appear in the tree.
>
>
The Node Name is the full path to the new node, and the Description is a facultative string describing the nature and contents of the node. In the Type area, you can decide if you create a FolderSet (by default, you are creating a Multi version Folder), if the Folder will be a Single Version one (meaning that no tagging is possible), and asking to recursively create parents nodes (this action does not override existing nodes). If you open the Edit Fields area you will see the list of storage keys. It is meaningless if you are creating a FolderSet. However, it is very important if you are creating a Folder because all the condition object you will store later will have these keys defined. To add a new one, simply press the " + " button, and double click on the new cell to give a name to the new storage key. Finally, pressing the OK button will make the new node appear in the tree.
 

Deleting a node

Changed:
<
<
Node deletion is to be use carefully as it results in data loss. To delete a node, you simply select it in the tree and go to menu Advanced/Delete Node. If the node is a FolderSet, it must be empty before being able to delete it.
>
>
Node deletion is to be use carefully as it results in data loss. To delete a node, you simply select it in the tree and go to menu Advanced/Delete Node. If the node is a FolderSet, it must be empty before being able to delete it.
 

Deleting a Tag

Changed:
<
<
Tag deletion may also imply data loss. To do it, select the node for which you want to delete a tag, then go to the menu Advanced/Delete Tag. A list of available tags will be given and you simply have to select the one you want to delete. While HEAD is available in the list, you can't delete it (something to be updated in later versions...).
>
>
Tag deletion may also imply data loss. To do it, select the node for which you want to delete a tag, then go to the menu Advanced/Delete Tag. A list of available tags will be given and you simply have to select the one you want to delete. While HEAD is available in the list, you can't delete it (something to be updated in later versions...).
 

Further Readings

The Conditions Database Browser is a "never finished" project and contributions are welcome. Documentation for the various tools used to develop the program are available on the web:

Changed:
<
<
[[][Python]] [[][Qt]] [[][PyQt]]
>
>
  As it is now, it should respond to most of the users requests for database manipulation. For more advanced features, you can use:
Changed:
<
<
the CondDBUI Python package the COOL C++ API.
>
>
 
Changed:
<
<
For more details about the Conditions Database framework in LHCb, please refer to the Detector Conditions web page.
>
>
For more details about the Conditions Database framework in LHCb, please refer to the Detector Conditions web page.
  -- IllyaShapoval - 31-Jan-2010
Line: 211 to 213
 
META FILEATTACHMENT attachment="add_condition.png" attr="" comment="Add condition to the Folder" date="1265067103" name="add_condition.png" path="add_condition.png" size="122006" stream="add_condition.png" tmpFilename="/usr/tmp/CGItemp9848" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="edit_condition_payload.png" attr="" comment="Edit payload" date="1265067144" name="edit_condition_payload.png" path="edit_condition_payload.png" size="147389" stream="edit_condition_payload.png" tmpFilename="/usr/tmp/CGItemp9715" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="new_tag.png" attr="" comment="Adding a new tag" date="1265067393" name="new_tag.png" path="new_tag.png" size="131940" stream="new_tag.png" tmpFilename="/usr/tmp/CGItemp9582" user="4b600f4d6a3b75ce63f2" version="1"
Deleted:
<
<
META FILEATTACHMENT attachment="new_tag_folderset.png" attr="" comment="Adding a new tag on a FolderSet" date="1265067496" name="new_tag_folderset.png" path="new_tag_folderset.png" size="129310" stream="new_tag_folderset.png" tmpFilename="/usr/tmp/CGItemp9836" user="4b600f4d6a3b75ce63f2" version="1"
 
META FILEATTACHMENT attachment="new_node.png" attr="" comment="Creating a new node" date="1265067659" name="new_node.png" path="new_node.png" size="117807" stream="new_node.png" tmpFilename="/usr/tmp/CGItemp9390" user="4b600f4d6a3b75ce63f2" version="1"
Added:
>
>
META FILEATTACHMENT attachment="new_tag_folderset.png" attr="h" comment="Creating the tag for the FolderSet" date="1265162428" name="new_tag_folderset.png" path="new_tag_folderset.png" size="126799" stream="new_tag_folderset.png" tmpFilename="/usr/tmp/CGItemp9747" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="new_tag_folderset_2.png" attr="" comment="Creating the tag for the FolderSet (2)" date="1265162591" name="new_tag_folderset_2.png" path="new_tag_folderset_2.png" size="126799" stream="new_tag_folderset_2.png" tmpFilename="/usr/tmp/CGItemp9911" user="4b600f4d6a3b75ce63f2" version="1"

Revision 82010-02-02 - Ishapoval

Line: 1 to 1
 
META TOPICPARENT name="LHCbComputing"

LHCb Conditions Database Browser

Table of Contents

Line: 51 to 51
 When you are done, simply press the Ok button and wait for the browser to establish the connection (for remote databases, this can take some time).

The data tree

Changed:
<
<
CondDB Browser open database view
>
>
CondDB Browser data tree view
  hierarchy_browser.png The image on the right is an example of the contents of the data tree, located on the left in Hierarchy browser. Here the LHCBCOND partition is opened, as an example. You can travel through it like in most file system explorer program. At the top of the tree, you can see a location bar which displays the path to the selected tree item. You can choose the path from the expandable list to go quickly to the item you are interested in.
Line: 70 to 70
 


Deleted:
<
<




 

The data display

Selecting a Folder, or a Channel, item will modify the contents of the central and right sides of the main window: the data display and the time browser. The image below shows what appears when selecting the /Conditions/Ecal/Calibration/Gain.xml Folder:

Line: 129 to 125
 
add_condition.png
Changed:
<
<
The Folder field is read only to prevent mistakes. The other fields allows us to set the Channel ID of our new condition object (0 by default). Since and Until are the lower and upper bounds of the condition object's interval of validity. On the right, the list of available payload keys is displayed. To edit the contents of the condition object, you have to select the Payload Keys you want to modify and press the Edit button:
>
>
The Folder field is read only to prevent mistakes. The other fields allows us to set the Channel ID of our new condition object (0 by default). Since and Until are the lower and upper bounds of the condition object's interval of validity. On the right, the list of available payload keys is displayed. To edit the contents of the condition object, you have to select the Payload Keys you want to modify and press the Edit button:
 
edit_condition_payload.png

Revision 72010-02-02 - Ishapoval

Line: 1 to 1
 
META TOPICPARENT name="LHCbComputing"

LHCb Conditions Database Browser

Table of Contents

Line: 90 to 90
  tag_names.png

The selector contains the list of tag names available for the selected Folder (or the Channels inside it). By default, the browser only shows user defined tags, and filters out tags generated automatically (except the HEAD). To display all tags, you can uncheck the Hide '_auto_' tags box, just below the tag name selector.

Added:
>
>
Each group of tags (together with 'auto' tags) lying within the area of single color (white or gray one) are referring to the same data. The name, which will pop-up when the cursor is idle on a particular tag name, corresponds to the node (Folder or FolderSet) under which the tag name is visible. Later in this tutorial, we will see in more details how tagging works.
  Useful tip:
  • If you want to copy the current contents of the text box you can just select the text and right-click on it to open the pop-up menu, and choose Copy. There you can find another few useful actions.
Line: 101 to 102
 

Creation from scratch:

Changed:
<
<
The creation from scratch is strait forward: in the dialog, you simply choose a filename and a database name (in capitals), press OK and start playing:
>
>
The creation from scratch is strait forward: in the dialog, you simply choose a File name and a Partition name (in capitals), press OK and start playing:
new_db.png
 

Creation from a slice:

To create a slice of a database, you first need to open the source database. Then, open the slice dialog window:

Added:
>
>
new_from_slice.png
 
Changed:
<
<
-- IllyaShapoval - 31-Jan-2010
>
>
In the Destination fields, you should put the File name and Partition name where you want to store the slice of the source database. Decide here whether you are going to create a new database copy or append data to the target database. If the second one, choose the database target which exists and check the Append checkbox.

In the Selection fields, you will give details of the part of the source database you want to put in the target database. The Node selector contains a list of the source's nodes. The copy is recursive, so if you select a FolderSet, all its childs will be copied as well. The Since and Until fields define the time interval you want to copy in the target database. Only objects valid during this period will be copied. Finally, the tags relevant for the selected node are listed in the Tags list. If you are doing a copy, you can select as many tags as you want (by just clicking on their names). However, if you are appending data to the target, you can select only one tag which will become the new HEAD of the target database (i.e. the tag name will not be copied !).

When the details of your selection are correct, you have to press the Add button. The Selection set gives a summary of the selections you want to copy in the target database. You can add as many selection objects as you want, but be careful: some selections may be incompatible and the slicing tool may not accept them.

Be careful: Copying is safe, but appending is a risky operation: selected data are appended to the HEAD of the target database, overriding previous HEAD data. If you are not careful enough you may endup with data loss.

When creating/appending is done, you can open the target database normally (i.e. via Database/Open and selecting the last choice of the Schema selector).

Adding a new Condition

If you opened your database in read/write mode (can be turned on from the Database menu), a new menu is available: the Edit menu. It provides the most common operations for users willing to modify the content of their database.

The most obvious operation is to add a new condition object. For this, we first need to select the Folder where we want to store this condition (in the data tree). In our example, it will be /Conditions/TT/ReadoutConf/ReadoutMap.xml. Then, we open the "Add condition" dialog window by selecting Edit/Add Condition:

add_condition.png

The Folder field is read only to prevent mistakes. The other fields allows us to set the Channel ID of our new condition object (0 by default). Since and Until are the lower and upper bounds of the condition object's interval of validity. On the right, the list of available payload keys is displayed. To edit the contents of the condition object, you have to select the Payload Keys you want to modify and press the Edit button:

edit_condition_payload.png

A small text editor will then open with a few XML blocks already written. These blocks are mandatory for all conditions data stored in the LHCb Conditions Database. The five buttons at the top of the text editor are providing some helpful operations: Load: load text data from a file. Be aware that this overrides the content of the text editor ! Export: save the content of the text editor into a file. : insert a preformated XML tag for the description of an LHCb condition : insert a preformated XML tag for the description of a condition parameter, which can be of type "int", "double" or "string". A tag must be children of a tag. : same as , but instead of storing a single value, it stores a vector of values ("int", "double", or "string").

This editor is very basic and, for example, has no "undo" feature. Future version of the browser will probably allow to edit conditions in an external text editor (emacs, vim, nedit, etc.). For the moment, the only possibility for you to do so, is to prepare condition data with your favorite editor and to load the contents in the condition editor.

When you have finished the edition of the condition data, you press OK and get back to the "add condition" dialog. Now, to write the condition in the database, you have to add it to the Condition Objects Stack by pressing the Add button, at the left of the list. A summary of the properties of the condition object will appear.

The stack will contain all the new condition objects you want to add to the selected Folder. Objects in the stack are not (yet) editable, but selecting one of them will reload its parameters in the location details and the payload key list. If you want to "modify" an entry, select it to reload its parameters, modify them, add the new object to the stack, and delete the old version (using the Del button).

The last detail to keep in mind before writing data in the Folder is that conditions objects will be writen to the database in the order they appear in the stack. for example, if you have a condition object A going in channel 0 and with validity from 500 to 1000, and an object B, also in channel 0, with a validity ranging from 700 to 1100, the order in which you insert them will give different results. If A is written before B, you will get A's value valid from 500 to 750, and B's value from 750 to 1100. If B is written before A, A's value will be valid from 500 to 1000 and B's value from 1000 to 1100.

When your list of condition objects is ready, pressing the Write button will update the database. You can now see the result in the browser.

Tagging

To keep track of various possible values of a condition for a given validity range, it is possible to apply a tag to the current state of any node of the database. This is called "tagging". The tagging system of the Conditions Database (called HVS for Hierarchical Versioning System) is very powerful but not easy to describe in a few words.

In the previous section, we have created a new set of condition objects to put inside the /Conditions/Ecal/AlignmentCatalog.xml Folder. To keep track of this modification, we need to apply a tag to it. This is done by first selecting the Folder item in the tree, and open the menu Edit/New Tag:

new_tag.png
 
Added:
>
>
You simply have to choose a Tag Name and press the Create button. The tag name you choose must be unique in the database. The new tag is created and should appear in the tag list of the folder. Now, whatever changes you can make to the contents of your folder, the current status of your data can be recovered by selecting the tag you've just created.

Now, when you want to use these conditions, you don't want to specify a tag for each Folder you are going to use. This is why it is possible to create tags for FolderSets as well. But as FolderSets do not contain data (only the Folders contain data), you have to create a "link" between the FolderSets' tag and the tags of the child nodes, which eventually link to the tag of a Folder. This is the principle of the Hierarchical Versioning System.

To illustrate this, we are going to create a new tag for the FolderSet /Conditions/Ecal. To do so, we select it in the tree, and open Edit/New Tag:

new_tag_folderset.png

The dialog is different than the one used to tag a Folder. Here, we have a list of the child nodes of the selected FolderSet. These nodes can be either Folders or FolderSets. But for each of them, we can select the tag name that will be linked to the one we are about to create. By default, it is the HEAD. But if you open the selector in the column Tag Name for the node /Conditions/Ecal/AlignmentCatalog.xml , you should find the tag you've just created.

When you choose to link a FolderSet tag to the HEAD tag of one of its child nodes, the system will automatically create a new tag for this children and create the appropriate link. Tags generated automatically are always starting with "_auto_", so it is a bad idea to use this format for your own tags.

Creating a new node

The creation of a new node in the CondDB is not a common operation. Usually, the structure of the database will be fixed and not supposed to change. For this reason, the New Node action is available in the Advanced menu, together with Delete Node and Delete Tag.

The dialog window for creating a new node looks like this:

new_node.png

The Node Name is the full path to the new node, and the Description is a facultative string describing the nature and contents of the node. The list of Storage Keys is meaningless if you are creating a FolderSet. However, it is very important if you are creating a Folder because all the condition object you will store later will have these keys defined. To add a new one, simply press the Add button, and double clic on the new cell to give a name to the new storage key. Finally, in the Options area, you can decide if you create a FolderSet (by default, you are creating a Folder), if the Folder will be a Single Version one (meaning that no tagging is possible), and asking to recursively create parent nodes (this action does not override existing nodes). Pressing the Create button will make the new node appear in the tree.

Deleting a node

Node deletion is to be use carefully as it results in data loss. To delete a node, you simply select it in the tree and go to menu Advanced/Delete Node. If the node is a FolderSet, it must be empty before being able to delete it.

Deleting a Tag

Tag deletion may also imply data loss. To do it, select the node for which you want to delete a tag, then go to the menu Advanced/Delete Tag. A list of available tags will be given and you simply have to select the one you want to delete. While HEAD is available in the list, you can't delete it (something to be updated in later versions...).

Further Readings

The Conditions Database Browser is a "never finished" project and contributions are welcome. Documentation for the various tools used to develop the program are available on the web: [[][Python]] [[][Qt]] [[][PyQt]]

As it is now, it should respond to most of the users requests for database manipulation. For more advanced features, you can use: the CondDBUI Python package the COOL C++ API.

For more details about the Conditions Database framework in LHCb, please refer to the Detector Conditions web page.

-- IllyaShapoval - 31-Jan-2010

 
META FILEATTACHMENT attachment="browser.png" attr="" comment="CondDB Browser main window view" date="1265016815" name="browser.png" path="browser.png" size="29773" stream="browser.png" tmpFilename="/usr/tmp/CGItemp12175" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="browser_open.png" attr="h" comment="CondDB open menu window" date="1265026514" name="browser_open.png" path="browser_open_menu.png" size="35572" stream="browser_open_menu.png" tmpFilename="/usr/tmp/CGItemp15557" user="4b600f4d6a3b75ce63f2" version="1"
Line: 116 to 210
 
META FILEATTACHMENT attachment="hierarchy_browser.png" attr="" comment="CondDB Browser Hierarchy Browser" date="1265026929" name="hierarchy_browser.png" path="hierarchy_browser.png" size="28459" stream="hierarchy_browser.png" tmpFilename="/usr/tmp/CGItemp15040" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="data_display.png" attr="" comment="Contents of the data display and the Time Browser" date="1265032538" name="data_display.png" path="data_display.png" size="145018" stream="data_display.png" tmpFilename="/usr/tmp/CGItemp15163" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="tag_names.png" attr="" comment="Tag names for the _folder_" date="1265043054" name="tag_names.png" path="tag_names.png" size="152545" stream="tag_names.png" tmpFilename="/usr/tmp/CGItemp15017" user="4b600f4d6a3b75ce63f2" version="1"
Added:
>
>
META FILEATTACHMENT attachment="new_db.png" attr="" comment="Creation of a new db from scratch" date="1265062513" name="new_db.png" path="new_db.png" size="9582" stream="new_db.png" tmpFilename="/usr/tmp/CGItemp8593" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="new_from_slice.png" attr="" comment="Creation of a new db from a slice" date="1265062547" name="new_from_slice.png" path="new_from_slice.png" size="35782" stream="new_from_slice.png" tmpFilename="/usr/tmp/CGItemp9703" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="add_condition.png" attr="" comment="Add condition to the Folder" date="1265067103" name="add_condition.png" path="add_condition.png" size="122006" stream="add_condition.png" tmpFilename="/usr/tmp/CGItemp9848" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="edit_condition_payload.png" attr="" comment="Edit payload" date="1265067144" name="edit_condition_payload.png" path="edit_condition_payload.png" size="147389" stream="edit_condition_payload.png" tmpFilename="/usr/tmp/CGItemp9715" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="new_tag.png" attr="" comment="Adding a new tag" date="1265067393" name="new_tag.png" path="new_tag.png" size="131940" stream="new_tag.png" tmpFilename="/usr/tmp/CGItemp9582" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="new_tag_folderset.png" attr="" comment="Adding a new tag on a FolderSet" date="1265067496" name="new_tag_folderset.png" path="new_tag_folderset.png" size="129310" stream="new_tag_folderset.png" tmpFilename="/usr/tmp/CGItemp9836" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="new_node.png" attr="" comment="Creating a new node" date="1265067659" name="new_node.png" path="new_node.png" size="117807" stream="new_node.png" tmpFilename="/usr/tmp/CGItemp9390" user="4b600f4d6a3b75ce63f2" version="1"

Revision 62010-02-01 - Ishapoval

Line: 1 to 1
 
META TOPICPARENT name="LHCbComputing"

LHCb Conditions Database Browser

Table of Contents

Line: 32 to 32
  This will open the main window of the browser:
Changed:
<
<
CondDB Browser main window view
browser.png
>
>
CondDB Browser main window view
browser.png
 

Navigating the database

Opening an existing database

Line: 42 to 42
  You may want to open some particular database, then you have to go to Database/Open menu:
Changed:
<
<
CondDB Browser open database view
browser_open_menu.png
>
>
CondDB Browser open database view
browser_open_menu.png
  Here you have to locate the .db file and to choose the partition name. Unfortunately, there is no simple way to guess this name and users have to know it to open the database (there is a choice in the expandable list to choose from). Fortunately, for the standard LHCb Conditions database files the partition name is recognizable from the file's names.
Line: 52 to 52
 

The data tree

CondDB Browser open database view
Changed:
<
<
hierarchy_browser.png
>
>
hierarchy_browser.png
 The image on the right is an example of the contents of the data tree, located on the left in Hierarchy browser. Here the LHCBCOND partition is opened, as an example. You can travel through it like in most file system explorer program. At the top of the tree, you can see a location bar which displays the path to the selected tree item. You can choose the path from the expandable list to go quickly to the item you are interested in.

There are three different type of tree items: FolderSet, Folder and Channel. They are referring to their eponyms in the CondDB.

Line: 61 to 61
 
  • Finally, the Channels, which also look like files, contain no other tree items.

Each of these items is identified by a name (the Channels are identified by a number and the others by a string). In the latest version of CondDB Browser the expandable property of a Folder to show the Channel is turn off if there is only one Channel and it is named "0". In all other cases the Folder is expandable to show all the Channels.

Changed:
<
<
Folders items also have a Version Style property, telling if the values stored in the CondDB folder can be tagged ("Multi") or not ("Single"). For efficiency reason, it is not possible to know the version style without selecting the Folder item manually.
>
>
Folders items also may have a Version Style property, telling if the values stored in the CondDB folder can be tagged ("Multi") or not ("Single"). This feature is going to be implemented soon in the Hierarchy Browser.

Useful tip:

  • If you want to copy the path of selected folder you can just right-click on the folder of interest to open the pop-up menu, and choose Copy Path. There you can find another few useful actions, but they are available only in the write mode.
 


Line: 75 to 78
  Selecting a Folder, or a Channel, item will modify the contents of the central and right sides of the main window: the data display and the time browser. The image below shows what appears when selecting the /Conditions/Ecal/Calibration/Gain.xml Folder:
Changed:
<
<
Contents of the data display and of the time browser
data_display.png
>
>
Contents of the data display and of the time browser
data_display.png

  • The data display (the central one part) displays the contents (in text) of a condition object stored in the database.
  • The Time Browser offers the possibility to select the condition object to display. These condition objects are listed in the IOV Table area. By default, the list of condition objects is reduced to the one, which is active starting from current time. Full list (or the one for specific "From time and To time") can be seen adjusting the settings in the Filter area of the Time Browser.

If the folder in which the data are stored is a multi-version one, it is possible to get various versions of its contents. This is done using the Tag Name selector:

Tag names list area view for the particular _folder_
tag_names.png

The selector contains the list of tag names available for the selected Folder (or the Channels inside it). By default, the browser only shows user defined tags, and filters out tags generated automatically (except the HEAD). To display all tags, you can uncheck the Hide '_auto_' tags box, just below the tag name selector.

Useful tip:

  • If you want to copy the current contents of the text box you can just select the text and right-click on it to open the pop-up menu, and choose Copy. There you can find another few useful actions.

Editing the Database

Creating a new database

There are two ways to create a new database: create it from scratch or create a copy of an existing one. These two possibilities are available respectively in the menu Database/New and Database/Slice. In both cases, you can only create a SQLite database.

Creation from scratch:

The creation from scratch is strait forward: in the dialog, you simply choose a filename and a database name (in capitals), press OK and start playing:

Creation from a slice:

 
Changed:
<
<
The data display (the central one part) displays the contents (in text) of a condition object stored in the database. The Time Browser one offers the possibility to select the condition object to display. These condition objects are listed in the IOV Table area. By default, the list of condition objects is reduced to the one, which is active starting from current time. Full list (or the one for specific "From time and To time") can be seen adjusting the settings in the Filter area of the Time Browser.
>
>
To create a slice of a database, you first need to open the source database. Then, open the slice dialog window:
  -- IllyaShapoval - 31-Jan-2010
Line: 88 to 115
 
META FILEATTACHMENT attachment="browser_open_menu.png" attr="" comment="CondDB open menu window" date="1265026706" name="browser_open_menu.png" path="browser_open_menu.png" size="35572" stream="browser_open_menu.png" tmpFilename="/usr/tmp/CGItemp14962" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="hierarchy_browser.png" attr="" comment="CondDB Browser Hierarchy Browser" date="1265026929" name="hierarchy_browser.png" path="hierarchy_browser.png" size="28459" stream="hierarchy_browser.png" tmpFilename="/usr/tmp/CGItemp15040" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="data_display.png" attr="" comment="Contents of the data display and the Time Browser" date="1265032538" name="data_display.png" path="data_display.png" size="145018" stream="data_display.png" tmpFilename="/usr/tmp/CGItemp15163" user="4b600f4d6a3b75ce63f2" version="1"
Added:
>
>
META FILEATTACHMENT attachment="tag_names.png" attr="" comment="Tag names for the _folder_" date="1265043054" name="tag_names.png" path="tag_names.png" size="152545" stream="tag_names.png" tmpFilename="/usr/tmp/CGItemp15017" user="4b600f4d6a3b75ce63f2" version="1"

Revision 52010-02-01 - Ishapoval

Line: 1 to 1
 
META TOPICPARENT name="LHCbComputing"

LHCb Conditions Database Browser

Table of Contents

Line: 51 to 51
 When you are done, simply press the Ok button and wait for the browser to establish the connection (for remote databases, this can take some time).

The data tree

Changed:
<
<
CondDB Browser open database view
>
>
CondDB Browser open database view
hierarchy_browser.png The image on the right is an example of the contents of the data tree, located on the left in Hierarchy browser. Here the LHCBCOND partition is opened, as an example. You can travel through it like in most file system explorer program. At the top of the tree, you can see a location bar which displays the path to the selected tree item. You can choose the path from the expandable list to go quickly to the item you are interested in.

There are three different type of tree items: FolderSet, Folder and Channel. They are referring to their eponyms in the CondDB.

  • The FolderSets look like directories and can contain only Folders and other FolderSets.
  • The Folders, which look like a file, can only contain Channels.
  • Finally, the Channels, which also look like files, contain no other tree items.

Each of these items is identified by a name (the Channels are identified by a number and the others by a string). In the latest version of CondDB Browser the expandable property of a Folder to show the Channel is turn off if there is only one Channel and it is named "0". In all other cases the Folder is expandable to show all the Channels.
Folders items also have a Version Style property, telling if the values stored in the CondDB folder can be tagged ("Multi") or not ("Single"). For efficiency reason, it is not possible to know the version style without selecting the Folder item manually.








The data display

 
Added:
>
>
Selecting a Folder, or a Channel, item will modify the contents of the central and right sides of the main window: the data display and the time browser. The image below shows what appears when selecting the /Conditions/Ecal/Calibration/Gain.xml Folder:
 
Changed:
<
<
The above image is an example of the contents of the data tree, located on the left in Hierarchy browser. You can travel through it like in most file system explorer program. At the top of the tree, you can see a location bar which displays the path to the selected tree item. You can choose the path from the expandable list to go quickly to the item you are interested in.
>
>
Contents of the data display and of the time browser
data_display.png
 
Changed:
<
<
There are three different type of tree items: FolderSet, Folder and Channel. They are referring to their eponyms in the CondDB. The Folders look like directories and can contain either Folders or Files. The Folders, which look like a file, can only contain Channels. Finally, the Channels, which look like nothing identifiable, but are blue, contain no other tree items. Each of these items is identified by a name (the Channels are identified by a number and the others by a string). Folders items also have a Version Style property, telling if the values stored in the CondDB folder can be tagged ("Multi") or not ("Single"). For efficiency reason, it is not possible to know the version style without selecting the Folder item manually.
>
>
The data display (the central one part) displays the contents (in text) of a condition object stored in the database. The Time Browser one offers the possibility to select the condition object to display. These condition objects are listed in the IOV Table area. By default, the list of condition objects is reduced to the one, which is active starting from current time. Full list (or the one for specific "From time and To time") can be seen adjusting the settings in the Filter area of the Time Browser.
  -- IllyaShapoval - 31-Jan-2010

Deleted:
<
<
  • CondDB Browser Hierarchy Browser:
    hierarchy_browser.png
 
META FILEATTACHMENT attachment="browser.png" attr="" comment="CondDB Browser main window view" date="1265016815" name="browser.png" path="browser.png" size="29773" stream="browser.png" tmpFilename="/usr/tmp/CGItemp12175" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="browser_open.png" attr="h" comment="CondDB open menu window" date="1265026514" name="browser_open.png" path="browser_open_menu.png" size="35572" stream="browser_open_menu.png" tmpFilename="/usr/tmp/CGItemp15557" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="browser_open_menu.png" attr="" comment="CondDB open menu window" date="1265026706" name="browser_open_menu.png" path="browser_open_menu.png" size="35572" stream="browser_open_menu.png" tmpFilename="/usr/tmp/CGItemp14962" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="hierarchy_browser.png" attr="" comment="CondDB Browser Hierarchy Browser" date="1265026929" name="hierarchy_browser.png" path="hierarchy_browser.png" size="28459" stream="hierarchy_browser.png" tmpFilename="/usr/tmp/CGItemp15040" user="4b600f4d6a3b75ce63f2" version="1"
Added:
>
>
META FILEATTACHMENT attachment="data_display.png" attr="" comment="Contents of the data display and the Time Browser" date="1265032538" name="data_display.png" path="data_display.png" size="145018" stream="data_display.png" tmpFilename="/usr/tmp/CGItemp15163" user="4b600f4d6a3b75ce63f2" version="1"

Revision 42010-02-01 - Ishapoval

Line: 1 to 1
 
META TOPICPARENT name="LHCbComputing"

LHCb Conditions Database Browser

Table of Contents

Line: 38 to 38
 

Navigating the database

Opening an existing database

Changed:
<
<
To open a database from the browser, you have to go to the menu DataBase/Open:
>
>
If you want to open currently released (in SQLDDDB package) database you should go to the menu Database/Standard and choose the variant of interest. Among DDDB, LHCBCOND and SIMCOND partitions you will see the list of monthly made snapshots of the Online database.
 
Added:
>
>
You may want to open some particular database, then you have to go to Database/Open menu:
 
Added:
>
>
CondDB Browser open database view
browser_open_menu.png
 
Added:
>
>
Here you have to locate the .db file and to choose the partition name. Unfortunately, there is no simple way to guess this name and users have to know it to open the database (there is a choice in the expandable list to choose from). Fortunately, for the standard LHCb Conditions database files the partition name is recognizable from the file's names.

By default, the databases are opened in the Read Only mode. If you are working on a remote database, it is anyway unlikely that you will have read/write access on it. However, if you are working on your own database, you can open it in Read/Write mode by simply unchecking the Read Only check box. When you are done, simply press the Ok button and wait for the browser to establish the connection (for remote databases, this can take some time).

The data tree

CondDB Browser open database view

The above image is an example of the contents of the data tree, located on the left in Hierarchy browser. You can travel through it like in most file system explorer program. At the top of the tree, you can see a location bar which displays the path to the selected tree item. You can choose the path from the expandable list to go quickly to the item you are interested in.

There are three different type of tree items: FolderSet, Folder and Channel. They are referring to their eponyms in the CondDB. The Folders look like directories and can contain either Folders or Files. The Folders, which look like a file, can only contain Channels. Finally, the Channels, which look like nothing identifiable, but are blue, contain no other tree items. Each of these items is identified by a name (the Channels are identified by a number and the others by a string). Folders items also have a Version Style property, telling if the values stored in the CondDB folder can be tagged ("Multi") or not ("Single"). For efficiency reason, it is not possible to know the version style without selecting the Folder item manually.

  -- IllyaShapoval - 31-Jan-2010
Changed:
<
<
  • browser_open.png:
    browser_open.png
>
>
  • CondDB Browser Hierarchy Browser:
    hierarchy_browser.png
 
META FILEATTACHMENT attachment="browser.png" attr="" comment="CondDB Browser main window view" date="1265016815" name="browser.png" path="browser.png" size="29773" stream="browser.png" tmpFilename="/usr/tmp/CGItemp12175" user="4b600f4d6a3b75ce63f2" version="1"
Changed:
<
<
META FILEATTACHMENT attachment="browser_open.png" attr="" comment="" date="1265017816" name="browser_open.png" path="browser_open.png" size="35076" stream="browser_open.png" tmpFilename="/usr/tmp/CGItemp12324" user="4b600f4d6a3b75ce63f2" version="1"
>
>
META FILEATTACHMENT attachment="browser_open.png" attr="h" comment="CondDB open menu window" date="1265026514" name="browser_open.png" path="browser_open_menu.png" size="35572" stream="browser_open_menu.png" tmpFilename="/usr/tmp/CGItemp15557" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="browser_open_menu.png" attr="" comment="CondDB open menu window" date="1265026706" name="browser_open_menu.png" path="browser_open_menu.png" size="35572" stream="browser_open_menu.png" tmpFilename="/usr/tmp/CGItemp14962" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="hierarchy_browser.png" attr="" comment="CondDB Browser Hierarchy Browser" date="1265026929" name="hierarchy_browser.png" path="hierarchy_browser.png" size="28459" stream="hierarchy_browser.png" tmpFilename="/usr/tmp/CGItemp15040" user="4b600f4d6a3b75ce63f2" version="1"

Revision 32010-02-01 - Ishapoval

Line: 1 to 1
 
META TOPICPARENT name="LHCbComputing"

LHCb Conditions Database Browser

Table of Contents

Line: 6 to 6
 

Introduction

The Conditions Database Browser developped for LHCb is presented here. It was build on top of the CondDBUI (python API to LHCb-COOL) and the PyCool (python API to COOL).

Changed:
<
<
(COOL is the Conditions Database library. This library allows to use the same interface for various database systems, like Oracle, MySQL or SQLite.)
>
>
(COOL is the Conditions Database library. This library allows to use the same interface for various database systems, like Oracle, MySQL or SQLite).
  The graphical interface is based on PyQt 4.4.3 library.
Line: 24 to 23
  This part of the document is mainly a guided tour through which most of the browser's functionalities will be described.
Changed:
<
<
Under assumption that you have once build the CondDBUI package to run it you should just type:
>
>
Now, under assumption that you have once build the CondDBUI package to run browser you should just type:
 
# SetupProject LHCb
Line: 33 to 32
  This will open the main window of the browser:
Added:
>
>
CondDB Browser main window view
browser.png

Navigating the database

Opening an existing database

To open a database from the browser, you have to go to the menu DataBase/Open:

 

-- IllyaShapoval - 31-Jan-2010

Added:
>
>

  • browser_open.png:
    browser_open.png

META FILEATTACHMENT attachment="browser.png" attr="" comment="CondDB Browser main window view" date="1265016815" name="browser.png" path="browser.png" size="29773" stream="browser.png" tmpFilename="/usr/tmp/CGItemp12175" user="4b600f4d6a3b75ce63f2" version="1"
META FILEATTACHMENT attachment="browser_open.png" attr="" comment="" date="1265017816" name="browser_open.png" path="browser_open.png" size="35076" stream="browser_open.png" tmpFilename="/usr/tmp/CGItemp12324" user="4b600f4d6a3b75ce63f2" version="1"

Revision 22010-02-01 - Ishapoval

Line: 1 to 1
 
META TOPICPARENT name="LHCbComputing"

LHCb Conditions Database Browser

Table of Contents

Changed:
<
<

Overview

>
>

Introduction

The Conditions Database Browser developped for LHCb is presented here. It was build on top of the CondDBUI (python API to LHCb-COOL) and the PyCool (python API to COOL). (COOL is the Conditions Database library. This library allows to use the same interface for various database systems, like Oracle, MySQL or SQLite.)

The graphical interface is based on PyQt 4.4.3 library.

Browser Installation

The CondDB Browser is provided with the CondDBUI package. You can install it by the following steps (choose the latest version when asked):

# setenvLHCb
# getpack Tools/CondDBUI
# make

Using the CondDB Browser

This part of the document is mainly a guided tour through which most of the browser's functionalities will be described.

Under assumption that you have once build the CondDBUI package to run it you should just type:

# SetupProject LHCb
# CondDBBrowser

This will open the main window of the browser:

 

Revision 12010-01-31 - Ishapoval

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="LHCbComputing"

LHCb Conditions Database Browser

Table of Contents

Overview

-- IllyaShapoval - 31-Jan-2010

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback