![]() |
Project
|
This repository contains macros that can be used to handle calibration objects in the CCDB.
This macro allows to query a series of MID CCDB objects in the CCDB as well as produce default objects. The basic usage is the following:
Query the list of bad channels from the official CCDB:
Upload the default list of fake dead channels to the local CCDB (assuming that an instance of the local CCDB is running, see below):
The macro is also used to keep track of the fake dead channels, which are generated in makeFakeDeadChannels()
.
This macro analyses the quality flag and the occupancy plots in the QCCDB and searches for issues appearing in the middle of the run, e.g. local board(s) that become noisy and are then excluded from the data taking by the user logic of the CRU. It then correlates this information with the GRPECS object in the CCDB in order to create a reject list that will allow to mask the faulty local board(s) from slightly before the problem appeared till the end of the run.
If a problem is found, the macro will ask to upload the reject list in the local CCDB. For this, one needs to have the local CCDB up and running (see below).
The scan can be then performed with:
Where the first number is the start timestamp for the scan, and the second is the end timestamp of the scan.
Notice that the QCDB is not directly reachable from outside CERN network. In that case one needs to first create an ssh tunnel:
and then tell the macro to reach the QCDB via the tunneled local port:
The macro build_rejectlist.C
scans the QCDB and the CCDB in search of issues. However, the QCDB flag is based on local boards with empty signals. It can happen that a local board is problematic, but not completely dead and, therefore, it is not correctly spotted by the macro. It is therefore important to have a way to add the issues by hand. This can be done with a json file in the form:
The path to the file is then given to the macro with:
The macro will then merge the manual reject list from the file with the reject list that it finds by scanning the QCDB and CCDB.
The local CCDB server can be easily built through alibuild. As usual, one needs to be in the directory containing alidist and then run:
The CCDB server can be then run with:
where path_to_local_ccdb
is a directory in your local pc where the CCDB objects will be located.