You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/Advanced.md
+87-3Lines changed: 87 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,6 +30,7 @@ Advanced topics
30
30
*[Details on the data storage format in the CCDB](#details-on-the-data-storage-format-in-the-ccdb)
31
31
*[Data storage format before v0.14 and ROOT 6.18](#data-storage-format-before-v014-and-root-618)
32
32
*[Local CCDB setup](#local-ccdb-setup)
33
+
*[Asynchronous Data and Monte Carlo QC operations](#asynchronous-data-and-monte-carlo-qc-operations)
33
34
*[QCG](#qcg)
34
35
*[Display a non-standard ROOT object in QCG](#display-a-non-standard-root-object-in-qcg)
35
36
*[Canvas options](#canvas-options)
@@ -313,9 +314,53 @@ o2-qc --config json:/${QUALITYCONTROL_ROOT}/etc/basic.json --remote-batch result
313
314
Please note, that the local batch QC workflow should not work on the same file at the same time.
314
315
A semaphore mechanism is required if there is a risk they might be executed in parallel.
315
316
316
-
To be done:
317
-
- merging multiple files into one, to allow for cases, when local batch workflows cannot access the same file.
318
-
- support for Post-Processing.
317
+
The file is organized into directories named after 3-letter detector codes and sub-directories representing Monitor Object Collections for specific tasks.
318
+
To browse the file, one needs the associated Quality Control environment loaded, since it contains QC-specific data structures.
319
+
It is worth remembering, that this file is considered as intermediate storage, thus Monitor Object do not have Checks applied and cannot be considered the final results.
320
+
The quick and easy way to inspect the contents of the file is to load a recent environment (e.g. on lxplus) and open it with ROOT's `TBrowser`:
QC can accompany workflows reconstructing real and simulated data asynchronously.
717
+
Usually these are distributed among thousands of nodes which might not have access to each other, thus partial results are stored and merged in form of files with mechanism explained in [Batch processing](#batch-processing).
718
+
719
+
QC workflows for asynchronous data reconstructions are listed in [O2DPG/Data/production/qc-workflow.sh](https://github.com/AliceO2Group/O2DPG/blob/master/DATA/production/qc-workflow.sh).
720
+
The script includes paths to corresponding QC configuration files for subsystems which take part in the reconstruction.
721
+
All the enabled files are merged into a combined QC workflow.
722
+
Thus, it is crucial that unique keys are used in `tasks`, `checks` and `aggregators` structures, as explained in [Merging multiple configuration files into one](#merging-multiple-configuration-files-into-one).
723
+
Post-processing tasks can be added in the script [O2DPG/DATA/production/o2dpg_qc_postproc_workflow.py](https://github.com/AliceO2Group/O2DPG/blob/master/DATA/production/o2dpg_qc_postproc_workflow.py).
724
+
Please see the included example and the in-code documentation for further guidelines in this matter.
725
+
726
+
Generating and reconstructing simulated data is ran by a framework which organizes specific workflows in a directed acyclic graph and executes them in an order which satisfies all the dependencies and allocated computing resources.
727
+
In contrast to data reconstruction, here, QC workflows are executed separately and pick up corresponding input files.
728
+
For further details, please refer to [Adding QC Tasks to the simulation script](https://github.com/AliceO2Group/O2DPG/tree/master/MC#adding-qc-tasks-to-the-simulation-script).
729
+
730
+
Data and simulation productions are typically executed on Grid and EPNs, and the outcomes can be inspected in [MonALISA](http://alimonitor.cern.ch/).
731
+
In both cases, QC runs alongside of each subjob and incomplete QC results are stored in files.
732
+
For asynchronous data reconstruction, one file `QC.root` is created.
733
+
Simulation subjobs contain a `QC` directory with separate files for each QC workflow.
734
+
Relevant logs can be found in files like `stdout`, `stderr` as well as archives `debug_log_archive.zip` and `log_archive.zip`.
735
+
736
+
Once an expected percentage of subjobs completes, several QC merging stages are executed, each producing a merged file for certain range of subjobs.
737
+
The last stage produces the complete file for given masterjob.
738
+
This file is read by the `o2-qc --remote-batch` executable to run Checks on the complete objects and all the results to the QCDB.
739
+
Post-Processing Tasks and associated Checks are executed right after.
740
+
741
+
Some runs contain too much data to be processed with one masterjob.
742
+
In such case, several masterjobs are run in parallel.
743
+
Each produces a `QC.root` file which contains all the statistics for a masterjob.
744
+
The last masterjob to complete recognizes this fact and merges all `QC.root` into `QC_fullrun.root` and only then uploads the results to QCDB.
0 commit comments