Introduction

The ResourcesInfo is a new package providing to the users information about enabled (i.e. active) resources. The information is provided on start of each new run, OKS database reload or Run Control stopless recovery action. The information about resources takes into account DAL auto‐disabling algorithm.

The information is provided by the following means:
The information about resources is ranged by detectors and their sub-folders. The sub-folders are configurable individual for each detector using OKS database.

Applications

The information publisher (res_info_provider application) is a run control application started in online segment of a user partition. It reads own configuration from OKS at CONFIGURE transition and makes information available at START transition. It is informed by the es_server on stopless recovery action and disables or enables affected resources.
To survive central relational database service downtime the info provider stores information to be archived into COOL in a temporal file, that is picked up by the COOL information archiver (res_info_archiver application). The archiver application is permanently running in the initial partition and checks files to be archived each 10".
The archiver application assumes all COOL folders are already created for user partition and it's ResourcesInfo configuration. Otherwise they have to be created or updated by the COOL DB creator application (res_info_create_db application), that needs to be run with schema owner account.

ResourcesInfo Configuration Classes

The ResourcesInfo configuration is described by objects of 3 new classes described below and one new relationship added to the Partition class.

The Partition class references ResourcesInfoConfig class (see below) via 0..1 ResourcesInfoConfiguration relationship. The ResourcesInfo is only active, if this relationship is set.

The ResourcesInfoConfig class has the following properties:
The ResourcesInfoDetectorConfig class has the following properties:
The ResourcesInfoDetectorConfig class has the following properties:
Example Configuration
Below there is an example configuration:

FolderSetName MinID MaxID Sub-Folders Configurations
PIXEL 0x11 0x13
TILE 0x50 0x54 Tile specific sub-folders:
FolderName Base Classes Comments
RODs TileCal_RODModule 32 object
Drawers TileDrawerModule 256 objects
TDAQ_CTP 0x77 0x77
MUON_MDT 0x61 0x64
L1CALO 0x71 0x75 L1Calo specific sub-folders:
FolderName Base Classes Comments
Modules L1caloModule ~300 objects of 16 classes
Connections CableConnection ~1180 objects of 8 classes
MUON_SCT 0x69 0x6A
MUON_RPC 0x65 0x66
MUON_TGC 0x67 0x68
LAR 0x41 0x48
FORWARD 0x81 0x84
SCT 0x21 0x24
TRT 0x30 0x34
TDAQ_MUON_CTP 0x76 0x76
GLOBAL -
-

All Folders
Default Folders Config (i.e. for ALL detectors + GLOBAL):
FolderName Base Classes
Robins RobinDataChannel

Once defined, the configuration should not be changed (at least often).

ResourcesInfo in COOL

The information about enabled resources is stored on several COOL folders and folders sets:
/TDAQ/EnabledResources/$partition/$detector/$folder
The names of detector folders set and their nested folders correspond to the ResourcesInfo configuration described above.

Use named channels and IoV = RunNumber:LuminosityBlock:
Example
If resource X was introduced at run 100, remained enabled until run 200, removed until run 299 and re-enabled at run 300, then the channel X will store 2 objects with IoV [100,200[ and [300,max[.

A $folder payload contains OKS object class name (COOL string255).

ResourcesInfo in IS

Information about enabled resources is published on "Resources" IS server running in user partition. Each IS info of type EnabledResource contains information about single resource, e.g.:

Resources.Enabled:MUON_MDT/Robins/ROL-MDT-BA-00-610000 => {Class="RobinDataChannel"}
Resources.Enabled:MUON_MDT/Robins/ROL-MDT-BA-00-610001 => {Class="RobinDataChannel"}
Resources.Enabled:MUON_MDT/Robins/ROL-MDT-BA-00-610002 => {Class="RobinDataChannel"}

Another information (empty InfoResource type), that can be found on that IS server, contains resources explictly disabled and enabled by RunControl stopless recovery, e.g.:
Resources.StoplessRecoveryDisabled:ROL-MDT-BA-00-610003 => (null)
Resources.StoplessRecoveryDisabled:ROL-MDT-BA-00-610004 => (null)

How to use on Point-1

To enable the service for user partition:
  1. Link your partition object via ResourcesInfoConfiguration relationship with MAIN@ResourcesInfoConfig object from daq/segments/resources-info.data.xml file.
  2. Let to know, if above resources info configuration has to be extended for your system or detector
  3. To create COOL folders for your partition use the following command:
    res_info_create_db -c 'oracle://INTR;schema=ATLAS_COOLONL_RESINFO;user=ATLAS_COOLONL_RESINFO;dbname=COMP200' -p $TDAQ_PARTITION -d oksconfig:$TDAQ_DB_DATA
  4. To read information from COOL use ATLAS_COOL_READER_U user account