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: docs/advanced-specifics/pwgdq.md
+7-5Lines changed: 7 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,7 @@ title: PWG-DQ
8
8
In the past, some hands-on sessions have been organised within the PWG-DQ. A list of the corresponding indico events is down below:
9
9
10
10
**most recent:**
11
+
11
12
1. O2 DQ hands-on session (7 Dec 21) [indico event](https://indico.cern.ch/event/1098200/) , [ZOOM recordings of the first part of the session](https://indico.cern.ch/event/1098200/sessions/419561/attachments/2362418/4033057/videoPlenarySession.mp4)
*[`dileptonMuMu.cxx`](https://github.com/AliceO2Group/O2Physics/blob/master/PWGDQ/Tasks/dileptonMuMu.cxx) It refers to The dimuon analysis task. It’s a derivative of the tableReader, but with muon only informations. takes tracks flaged as « muon » and creates Pairs calculating mass, rapidity, pT.
64
65
65
66
## Python Interface
67
+
66
68
To simplify the handling and usage of the O2-DQ framework a [python interface](https://github.com/ctolon/PythonInterfaceOOP) has been developed and will be maintained for further user support.
67
69
68
70
Its main features are:
69
71
70
-
- run tasks with simple commands (all main workflows are included)
71
-
- dependencies are selected and set with no need to specify them in the command line
72
-
- auto completion for workflows, settings and configurables
72
+
* run tasks with simple commands (all main workflows are included)
73
+
* dependencies are selected and set with no need to specify them in the command line
74
+
* auto completion for workflows, settings and configurables
73
75
74
76
To get started, a [detailed introduction](https://github.com/ctolon/PythonInterfaceOOP#user-python-based-interface) has been written and an introduction was given in the [hands-on session](https://indico.cern.ch/event/1220887/) (Dec 22).
-`warn` for conditions that are likely to affect the expected behaviour of the code,
192
192
-`error` for problems that lead to an unwanted behaviour of the code,
193
193
-`fatal` for critical problems that make further running of the code impossible or useless.
194
-
- Include only needed headers but do not rely on implicitly included headers.
194
+
- Include only needed headers but do not rely on implicitly included headers. See [Include What You Use](https://github.com/AliceO2Group/O2Physics/issues/8357).
195
195
- Organise `#include`s into groups (separated by a blank line) in the following order:
See also [Magic numbers](https://rawgit.com/AliceO2Group/CodingGuidelines/master/coding_guidelines.html?showone=Magic_numbers#Magic_numbers).
209
209
- Use `Type const&` for table subscriptions in function arguments.
210
210
- Declare iterators in range-based `for` loops over tables with `const auto&`.
211
-
- Test your code before making a pull request.
211
+
-**Test your code before making a pull request.**
212
212
- Check that your branch compiles without warnings.
213
-
- Propagate your changes into the [Run3Analysisvalidation](https://github.com/AliceO2Group/Run3Analysisvalidation/tree/master/codeHF#add-a-new-workflow) configuration.
213
+
- Propagate your changes into the [Run3AnalysisValidation](https://github.com/AliceO2Group/Run3AnalysisValidation/tree/master/codeHF#add-a-new-workflow) configuration.
214
214
- Check that your code works and runs without errors and warnings.
215
215
- Make sure your code is compatible with the expected input (Run 2/3/5, real/MC data, p–p/Pb–Pb).
216
-
- Check that your changes do not alter unexpectedly the control plots produced by the [validation framework](https://github.com/AliceO2Group/Run3Analysisvalidation/tree/master/codeHF#run-the-example).
217
-
- Make sure your tasks can be fully configured from Run3Analysisvalidation and AliHyperloop.
216
+
- Make sure your tasks can be fully configured from Run3AnalysisValidation and AliHyperloop.
218
217
219
218
#### `struct` members
220
219
@@ -223,23 +222,27 @@ Organising the code in a well defined structure makes it easier to navigate thro
223
222
- Group `struct` data members by category and separate the blocks by a single blank line.
224
223
- If there is a reason to visually divide a category into smaller blocks, add a corresponding comment at the beginning of each block.
225
224
- Sort `struct` member categories in the following order:
226
-
-`Produces`, `Spawns`, `Builds`
225
+
-`Spawns`
226
+
-`Builds`
227
+
-`Produces`
227
228
-`Configurable`
228
-
- scalars (`bool`, `int`, `float`, `double`,...)
229
-
- vectors (`std::vector`)
230
-
- arrays (`LabeledArray`)
231
229
- other members (constants, objects)
230
+
-`HfHelper`
231
+
-`SliceCache`
232
+
-`Service`
232
233
-`using` declarations
233
234
-`Filter`
234
235
-`Preslice`
236
+
-`PresliceUnsorted`
235
237
-`Partition`
236
238
-`ConfigurableAxis`
237
239
-`AxisSpec`
238
240
-`HistogramRegistry`
239
241
- output declarations (`OutputObj`,...)
240
-
-`init` function
242
+
-`void init`
241
243
- helper functions
242
-
-`process` function(s)
244
+
-`void process`
245
+
- other `process` functions
243
246
- Put one process function argument per line.
244
247
-`PROCESS_SWITCH` follows immediately after the function definition.
245
248
@@ -280,4 +283,4 @@ Example:
280
283
- Update your branch and test it before creating a PR.
281
284
- Give your PR a short meaningful title.
282
285
- Give further useful details about your changes in the PR description.
283
-
- Add links to all related PRs (e.g. O2Physics, O2, AliPhysics, Run3Analysisvalidation) in the PR description.
286
+
- Add links to all related PRs (e.g. O2Physics, O2, AliPhysics, Run3AnalysisValidation) in the PR description.
0 commit comments