Skip to content

Commit ff0bda1

Browse files
authored
Create MultiplicityAndCentralitySelection.md
1 parent af50b27 commit ff0bda1

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
---
2+
sort: 1
3+
title: Multiplicity and centrality selection
4+
---
5+
6+
# Multiplicity and centrality selection in O2
7+
8+
## Multiplicity selection concept
9+
10+
The multiplicity and centrality selection in O2 is based on the concept of derived tables created in dedicated tasks from available AOD contents:
11+
12+
* _o2-analysis-multiplicity-table_ task [`Common/TableProducer/multiplicityTable.cxx`](https://github.com/AliceO2Group/O2Physics/blob/master/Common/TableProducer/multiplicityTable.cxx) stores relevant multiplicity values (V0A, V0C, ZNA, ZNC) and their dynamic sums (V0M) in [`Mults`](https://github.com/AliceO2Group/O2Physics/blob/master/Common/DataModel/Multiplicity.h) table joinable with _Collisions_ table.
13+
* _o2-analysis-multiplicity-qa_ task [`Common/Tasks/multiplicityQa.cxx`](https://github.com/AliceO2Group/O2Physics/blob/master/Common/Tasks/multiplicityQa.cxx) creates multiplicity distributions in minimum bias triggers necessary for centrality calibration.
14+
* _o2-analysis-centrality-table_ task [`Common/TableProducer/centralityTable.cxx`](https://github.com/AliceO2Group/O2Physics/blob/master/Common/TableProducer/centralityTable.cxx) takes multiplicity values from the [`Mults`](https://github.com/AliceO2Group/O2Physics/blob/master/Common/DataModel/Multiplicity.h) table and stores centrality values in [`Cents`](https://github.com/AliceO2Group/O2Physics/blob/master/Common/DataModel/Centrality.h) table joinable with _Collisions_ table. Relevant cumulative multiplicity distributions are stored in [CCDB](http://alice-ccdb.cern.ch/browse/Centrality). The centrality calibration relies on 90% anchor points in Pb-Pb.
15+
* _o2-analysis-centrality-qa_ task [`Common/Tasks/centralityQa.cxx`](https://github.com/AliceO2Group/O2Physics/blob/master/Common/Tasks/centralityQa.cxx) creates centrality distributions for minimum bias triggers and can be used for control and QA purposes.
16+
17+
Note that _o2-analysis-multiplicity-qa_ and _o2-analysis-centrality-qa_ tasks rely on the minimum bias trigger selection therefore one has to run event selection in stack with these tasks.
18+
19+
## Multiplicity selection usage in user tasks
20+
21+
One can check _o2-analysis-centrality-qa_ task for example usage: [`Common/Tasks/centralityQa.cxx`](https://github.com/AliceO2Group/O2Physics/blob/master/Common/Tasks/centralityQa.cxx). Usually, analysers perform event selection before the centrality selection therefore one has to consider the following steps:
22+
23+
* add [`EventSelection.h`](https://github.com/AliceO2Group/O2Physics/blob/master/Common/DataModel/EventSelection.h) and [`Centrality.h`](https://github.com/AliceO2Group/O2Physics/blob/master/Common/DataModel/Centrality.h) headers:
24+
25+
``` c++
26+
#include "Common/DataModel/EventSelection.h"
27+
#include "Common/DataModel/Centrality.h"
28+
```
29+
30+
* join _Collisions_, _EvSels_ and _Cents_ tables and use corresponding iterator as an argument of the process function:
31+
32+
``` c++
33+
void process(soa::Join<aod::Collisions, aod::EvSels, aod::Cents>::iterator const& col, ...)
34+
```
35+
36+
* check if your trigger alias is fired if you run over Run1 or Run2 data (or future triggered Run3 data):
37+
38+
``` c++
39+
if (!col.alias_bit(kINT7))
40+
return;
41+
```
42+
43+
Bypass this check if you analyse MC or future continuous Run3 data.
44+
* apply further offline selection criteria:
45+
46+
``` c++
47+
if (!col.sel7())
48+
return;
49+
```
50+
51+
* apply centrality selection, for example:
52+
53+
``` c++
54+
// analyse 0-20% central events
55+
if (col.centV0M()>20)
56+
return;
57+
```
58+
59+
* run your tasks in stack with timestamp, event-selection, multiplicity and centrality tasks:
60+
61+
``` bash
62+
o2-analysis-timestamp --aod-file AO2D.root -b | o2-analysis-event-selection -b | o2-analysis-mulitplicity-table -b | o2-analysis-centrality-table -b | o2-analysis-user-task -b
63+
```
64+
65+
_o2-analysis-timestamp_ task is required to create per-event timestamps necessary to access relevant CCDB objects in the event selection and/or centrality tasks.
66+
67+
_o2-analysis-zdc-converter_ and _o2-analysis-collision-converter_ might be also necessary for old datasets to account for changes in the data model.
68+

0 commit comments

Comments
 (0)