Skip to content

Commit ef19006

Browse files
committed
doc
1 parent bceecb3 commit ef19006

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

doc/Advanced.md

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Advanced topics
55
<!--TOC generated with https://github.com/ekalinin/github-markdown-toc-->
66
<!--./gh-md-toc --insert --no-backup --hide-footer --indent 3 QualityControl/doc/Advanced.md -->
77
<!--ts-->
8+
* [Advanced topics](#advanced-topics)
89
* [Framework](#framework)
910
* [Plugging the QC to an existing DPL workflow](#plugging-the-qc-to-an-existing-dpl-workflow)
1011
* [Production of QC objects outside this framework](#production-of-qc-objects-outside-this-framework)
@@ -18,6 +19,7 @@ Advanced topics
1819
* [Monitor cycles](#monitor-cycles)
1920
* [Writing a DPL data producer](#writing-a-dpl-data-producer)
2021
* [Custom merging](#custom-merging)
22+
* [Critical and non-critical tasks](#critical-and-non-critical-tasks)
2123
* [QC with DPL Analysis](#qc-with-dpl-analysis)
2224
* [Uploading objects to QCDB](#uploading-objects-to-qcdb)
2325
* [Getting AODs in QC Tasks](#getting-aods-in-qc-tasks)
@@ -27,10 +29,11 @@ Advanced topics
2729
* [CCDB / QCDB](#ccdb--qcdb)
2830
* [Accessing objects in CCDB](#accessing-objects-in-ccdb)
2931
* [Access GRP objects with GRP Geom Helper](#access-grp-objects-with-grp-geom-helper)
32+
* [Global Tracking Data Request helper](#global-tracking-data-request-helper)
3033
* [Custom metadata](#custom-metadata)
3134
* [Details on the data storage format in the CCDB](#details-on-the-data-storage-format-in-the-ccdb)
32-
* [Data storage format before v0.14 and ROOT 6.18](#data-storage-format-before-v014-and-root-618)
3335
* [Local CCDB setup](#local-ccdb-setup)
36+
* [Instructions to move an object in the QCDB](#instructions-to-move-an-object-in-the-qcdb)
3437
* [Asynchronous Data and Monte Carlo QC operations](#asynchronous-data-and-monte-carlo-qc-operations)
3538
* [QCG](#qcg)
3639
* [Display a non-standard ROOT object in QCG](#display-a-non-standard-root-object-in-qcg)
@@ -57,6 +60,7 @@ Advanced topics
5760
* [Data Sampling monitoring](#data-sampling-monitoring)
5861
* [Monitoring metrics](#monitoring-metrics)
5962
* [Common check IncreasingEntries](#common-check-increasingentries)
63+
* [Update the shmem segment size of a detector](#update-the-shmem-segment-size-of-a-detector)
6064
<!--te-->
6165

6266
[← Go back to Post-processing](PostProcessing.md) | [↑ Go to the Table of Content ↑](../README.md) | [Continue to Frequently Asked Questions →](FAQ.md)
@@ -457,6 +461,28 @@ Feel free to consult the existing usage examples among other modules in the QC r
457461

458462
Once a custom class is implemented, one should let QCG know how to display it correctly, which is explained in the subsection [Display a non-standard ROOT object in QCG](#display-a-non-standard-root-object-in-qcg).
459463

464+
## Critical and non-critical tasks
465+
466+
Some DPL devices can be marked as non-critical. It means that if they die the system will continue running. There is
467+
obviously an impact as all the downstream devices won't get data.
468+
469+
In QC, one can mark a task as critical or non-critical:
470+
471+
```json
472+
"tasks": {
473+
"QcTask": {
474+
"active": "true",
475+
"critical": "false", "": "if false the task is allowed to die without stopping the workflow, default: true",
476+
```
477+
478+
By default, they are critical.
479+
480+
Mergers are critical or not based on the criticality of the task they are merging data for.
481+
482+
Checkers are non-critical.
483+
484+
Post-processing ???
485+
460486
## QC with DPL Analysis
461487

462488
QC offers several ways to interact with the DPL Analysis framework.
@@ -1134,6 +1160,7 @@ the "tasks" path.
11341160
"className": "namespace::of::Task", "": "Class name of the QC Task with full namespace.",
11351161
"moduleName": "QcSkeleton", "": "Library name. It can be found in CMakeLists of the detector module.",
11361162
"detectorName": "TST", "": "3-letter code of the detector.",
1163+
"critical": "true", "": "if false the task is allowed to die without stopping the workflow, default: true",
11371164
"cycleDurationSeconds": "10", "": "Cycle duration (how often objects are published), 10 seconds minimum.",
11381165
"": "The first cycle will be randomly shorter",
11391166
"maxNumberCycles": "-1", "": "Number of cycles to perform. Use -1 for infinite.",

0 commit comments

Comments
 (0)