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
*[Getting real data from readout](#getting-real-data-from-readout)
21
+
*[Readout data format as received by the Task](#readout-data-format-as-received-by-the-task)
22
22
<!--te-->
23
23
24
24
[← Go back to Post-processing](PostProcessing.md) | [↑ Go to the Table of Content ↑](../README.md) | [Continue to Frequently Asked Questions →](FAQ.md)
@@ -360,4 +360,4 @@ To change the fraction of the data being monitored, change the option `fraction`
360
360
361
361
---
362
362
363
-
[← Go back to Post-processing](PostProcessing.md) | [↑ Go to the Table of Content ↑](../README.md) | [Continue to Configuration →](Configuration.md)
363
+
[← Go back to FLP Suite](FLPsuite.md) | [↑ Go to the Table of Content ↑](../README.md) | [Continue to FAQ →](FAQ.md)
*[Custom Data Sampling Condition](#custom-data-sampling-condition)
12
-
*[Bypassing the Data Sampling](#bypassing-the-data-sampling)
13
-
*[Code Organization](#code-organization)
14
-
*[Developing with aliBuild/alienv](#developing-with-alibuildalienv)
15
-
*[User-defined modules](#user-defined-modules)
16
-
*[Repository](#repository)
17
-
*[Paths](#paths)
18
-
*[Module creation](#module-creation)
19
-
*[Test run](#test-run)
20
-
*[Saving the QC objects in a local file](#saving-the-qc-objects-in-a-local-file)
21
-
*[Modification of the Task](#modification-of-the-task)
22
-
*[Check](#check)
23
-
*[Configuration](#configuration)
24
-
*[Implementation](#implementation)
25
-
*[Results](#results)
26
-
*[Quality Aggregation](#quality-aggregation)
27
-
*[Quick try](#quick-try)
28
-
*[Configuration](#configuration-1)
29
-
*[Implementation](#implementation-1)
30
-
*[Naming convention](#naming-convention)
31
-
*[Committing code](#committing-code)
32
-
*[Data sources](#data-sources)
33
-
*[Readout](#readout)
34
-
*[DPL workflow](#dpl-workflow)
35
-
*[Run number and other run attributes (period, pass type, provenance)](#run-number-and-other-run-attributes-period-pass-type-provenance)
36
-
*[A more advanced example](#a-more-advanced-example)
37
-
*[Monitoring](#monitoring)
6
+
*[Context](#context)
7
+
*[QC architecture](#qc-architecture)
8
+
*[DPL](#dpl)
9
+
*[Data Sampling](#data-sampling)
10
+
*[Code Organization](#code-organization)
11
+
*[Developing with aliBuild/alienv](#developing-with-alibuildalienv)
12
+
*[User-defined modules](#user-defined-modules)
13
+
*[Repository](#repository)
14
+
*[Paths](#paths)
15
+
*[Module creation](#module-creation)
16
+
*[Test run](#test-run)
17
+
*[Saving the QC objects in a local file](#saving-the-qc-objects-in-a-local-file)
18
+
*[Modification of the Task](#modification-of-the-task)
19
+
*[Check](#check)
20
+
*[Configuration](#configuration)
21
+
*[Implementation](#implementation)
22
+
*[Results](#results)
23
+
*[Quality Aggregation](#quality-aggregation)
24
+
*[Quick try](#quick-try)
25
+
*[Configuration](#configuration-1)
26
+
*[Implementation](#implementation-1)
27
+
*[Naming convention](#naming-convention)
28
+
*[Committing code](#committing-code)
29
+
*[Data sources](#data-sources)
30
+
*[Readout](#readout)
31
+
*[DPL workflow](#dpl-workflow)
32
+
*[Run number and other run attributes (period, pass type, provenance)](#run-number-and-other-run-attributes-period-pass-type-provenance)
33
+
*[A more advanced example](#a-more-advanced-example)
34
+
*[Monitoring](#monitoring)
38
35
<!--te-->
39
36
40
37
[← Go back to Quickstart](QuickStart.md) | [↑ Go to the Table of Content ↑](../README.md) | [Continue to Post-processing →](PostProcessing.md)
@@ -47,13 +44,13 @@ Before developing a module, one should have a bare idea of what the QualityContr
47
44
48
45

49
46
50
-
The main data flow is represented in blue. Data samples are selected by the Data Sampling (not represented) and sent to the QC tasks, either on the same machines or on other machines. The tasks produce TObjects, usually histograms, encapsulated in a MonitorObject that are merged (if needed) and then checked. The checkers output a QualityObject along with the MonitorObjects which might have been modified. The MonitorObjects and the QualityObjects are stored in the repository. The QualityObjects can also optionally be aggregated by the Aggregators to produce additional QualityObjects that are also saved in the database.
47
+
The main data flow is represented in blue. Data samples are selected by the Data Sampling (not represented) and sent to the QC tasks, either on the same machines or on other machines. The tasks produce TObjects, usually histograms, encapsulated in a MonitorObject that are merged (if needed) and then checked. The checkers output a QualityObject along with the MonitorObjects which might have been modified. The MonitorObjects and the QualityObjects are stored in the repository. The QualityObjects can also be aggregated by the Aggregators to produce additional QualityObjects that are also saved in the database.
51
48
52
49
Asynchronously, the Post-processing can retrieve MonitorObjects from the database when certain events happen (new version of an object, new run) and produce new TObjects such as a trending plot.
53
50
54
51
### DPL
55
52
56
-
[Data Processing Layer](https://github.com/AliceO2Group/AliceO2/blob/dev/Framework/Core/README.md) is a software framework developed as a part of O2 project. It structurizes the computing into units called _Data Processors_ - processes that communicate with each other via messages. DPL takes care of generating and running the processing topology out of user declaration code, serializing and deserializing messages, providing the data processors with all the anticipated messages for a given timestamp and much more. Each piece of data is characterized by its `DataHeader`, which consists (among others) of `dataOrigin`, `dataDescription` and `SubSpecification` - for example `{"MFT", "TRACKS", 0}`.
53
+
[Data Processing Layer](https://github.com/AliceO2Group/AliceO2/blob/dev/Framework/Core/README.md) is a software framework developed as a part of the O2 project. It defines and runs workflows made of _DataProcessors_ (aka _Devices_) communicating with each other via messages.
57
54
58
55
An example of a workflow definition which describes the processing steps (_Data Processors_), their inputs and their outputs can be seen in [runBasic.cxx](https://github.com/AliceO2Group/QualityControl/blob/master/Framework/src/runBasic.cxx). In the QC we define the workflows in files whose names are prefixed with `run`.
59
56
@@ -150,13 +147,11 @@ One can of course build using `aliBuild` (`aliBuild build --defaults o2 QualityC
150
147
After the initial use of `aliBuild`, which is necessary, the correct way of building is to load the environment with `alienv` and then go to the build directory and run `make` or `ninja`.
151
148
152
149
```
153
-
alienv load QualityControl/latest
150
+
alienv enter QualityControl/latest
154
151
cd sw/BUILD/QualityControl-latest/QualityControl
155
152
make -j8 install # or ninja -j8 install , also adapt to the number of cores available
156
153
```
157
154
158
-
If you need to use the QCG or Readout, load `O2Suite` instead of `QualityControl`.
159
-
160
155
### User-defined modules
161
156
162
157
The Quality Control uses _plugins_ to load the actual code to be executed by the _Tasks_, the _Checks_, the _Aggregators_ and the _PostProcessing_. A module, or plugin, can contain one or several of these classes. They must subclass the corresponding interfaces, for example `TaskInterface.h` or `CheckInterface.h`. We use the Template Method Design Pattern.
Copy file name to clipboardExpand all lines: doc/PostProcessing.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1155,4 +1155,4 @@ Use the Activity which leaves the run number empty, but indicate the pass and pe
1155
1155
}
1156
1156
```
1157
1157
1158
-
[← Go back to Modules Development](ModulesDevelopment.md) | [↑ Go to the Table of Content ↑](../README.md) | [Continue to Advanced Topics →](Advanced.md)
1158
+
[← Go back to Modules Development](ModulesDevelopment.md) | [↑ Go to the Table of Content ↑](../README.md) | [Continue to Framework →](Framework.md)
0 commit comments