The Config

The Config#

The configuration of the framework is located inside vibe/config.yaml. There are several parameters that can be set that will alter how VIBE runs

base_path

The location where all the output files of VIBE will be written. Best practice is to make this path point outside of VIBE, one directory above where you have installed it.

local_test_file_path

This directory is only required for run_quality modes. It is the path to the local root files which are required to run

test_mode

If set to True the framework runs in testing mode locally on your machine. If set to False the ntuples are produced on the grid.

Note

If set to false, VIBE will only submit jobs to the grid IF you have access to the data_prod group. If not, it will throw an error along the lines of a JSON file being empty

b2monitoring_path

The path where the b2monitoring repository was cloned. Again this is only for run_quality modes.

modes_to_run

The modes_to_run section of the config file is where we can choose which Modes to use when we run VIBE.

modes_to_run :
    analysis_validation :
        # 'all' # for all
        null # for no modes
        by_name : #List[str], for modes by name
            - docExampleMode
        # by_group: # : List[str], for modes by group
        #   - physics
    skim_production:
        'all' # for all
        # null # for no modes
        #by_name: #List[str], for modes by name
        #    - name
        # by_group: # : List[str], for modes by group
        #   - slme

There is a bit going on here which needs to be understood. We will break it down level by level

  • Top Level: the level corresponds to the variants of the ModeType enum found in vibe/core/mode.py.

    • run_quality

    • analysis_validation

    • skim_production

  • Mode Type configuration: Underneath the variant there are 4 different options available. only one can be chosen.

    • null: By default every ModeType variant is set to null, meaning no modes of that type will be ran.

    • all: if chosen, all modes of this ModeType will be random

    • by_name: if chosen then the user must create list the names of the modes that need to be ran.

    • by_group: if chosen, the user must create a list containing the groups they wish to run for that specific mode. Note that analysis_validation group are contained in the DPgroup enum, whilst skim_production are contained in the SkimWorkingGroup enum.

Note

The config.yaml has schema inside of vibe/schemas/config_schema.json, this will check that the config file is formatted correctly and all data that has been inputted is as expected.