Using json configuration files

Files of json type can be used to pass along configuration parameters to the various workflows that one wishes to execute.

Example of json file

{
    "internal-dpl-clock": "",
    "internal-dpl-aod-reader": {
        "time-limit": "0",
        "orbit-offset-enumeration": "0",
        "orbit-multiplier-enumeration": "0",
        "start-value-enumeration": "0",
        "end-value-enumeration": "-1",
        "step-value-enumeration": "1",
        "aod-file-private": "@inputs-sim.txt"
    },
    "internal-dpl-aod-spawner": "",
    "internal-dpl-aod-index-builder": "",
    "timestamp-task": {
        "verbose": "false",
        "rct-path": "RCT\/RunInformation",
        "start-orbit-path": "GRP\/StartOrbit",
        "ccdb-url": "http:\/\/alice-ccdb.cern.ch",
        "isRun2MC": "false"
    },
    "bc-selection-task": {
        "processRun2": "false",
        "processRun3": "true"
    },
    "track-extension": {
        "processRun2": "false",
        "processRun3": "true"
    },
    "event-selection-task": {
        "syst": "pp",
        "muonSelection": "0",
        "customDeltaBC": "300",
        "isMC": "1",
        "processRun2": "false",
        "processRun3": "true"
    },
    "pseudorapidity-density": {
        "estimatorEta": "1",
        "useEvSel": "true",
        "useDCA": "true",
        "maxDCAXY": "2.4",
        "maxDCAZ": "3.2",
        "processTagging": "true",
        "processGen": "true"
    },
    "internal-dpl-injected-dummy-sink": "",
    "internal-dpl-aod-global-analysis-file-sink": ""
}


Quick explanation

In the above example of json file, in the pseudorapidity-density section (line 37 to 44), you can see the different values of the configurables, maxDCAZ is now 3.2 for instance. You can also specify the type of data you are processing with the flags processRun2 processRun3 and isMC.

Another very useful thing is that inside this file you can provide a list of aod files to analyse, as you can see the line 10 "aod-file-private": "@inputs-sim.txt" means that the workflow will analyse the all the files contained in the txt file inputs-sim.txt, with one file name per line.

How to give this json file to the workflow

You have to provide the json file to the workflows with the command --configuration json://config-file.json

For example the above json file is well adapted for the task o2-analysis-mm-dndeta, you could run this workflow by typing this command inside the O2Physics environment :

o2-analysis-timestamp --configuration json://config-file.json | o2-analysis-event-selection --configuration json://config-file.json | o2-analysis-trackextension --configuration json://config-file.json | o2-analysis-mm-dndeta --configuration json://config-file.json

Note

You should provide the json file to each workflow separated by a pipe.