-
Notifications
You must be signed in to change notification settings - Fork 680
Expand file tree
/
Copy pathZDCCalTables.h
More file actions
106 lines (91 loc) · 3.66 KB
/
Copy pathZDCCalTables.h
File metadata and controls
106 lines (91 loc) · 3.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
//
// This software is distributed under the terms of the GNU General Public
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
//
// In applying this license CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
/// \file ZDCCalTables.h
///
/// author: prottay das 07/09/2024
/// email: prottay.das@cern.ch
#ifndef PWGLF_DATAMODEL_ZDCCALTABLES_H_
#define PWGLF_DATAMODEL_ZDCCALTABLES_H_
#include <Framework/AnalysisDataModel.h>
#include <cmath>
#include <cstdint>
namespace o2::aod
{
namespace zdccaltable
{
DECLARE_SOA_COLUMN(TriggerEventZDC, triggerEventZDC, bool);
DECLARE_SOA_COLUMN(TriggerEventRunNo, triggerEventRunNo, int);
DECLARE_SOA_COLUMN(Cent, cent, float);
DECLARE_SOA_COLUMN(Vx, vx, float);
DECLARE_SOA_COLUMN(Vy, vy, float);
DECLARE_SOA_COLUMN(Vz, vz, float);
DECLARE_SOA_COLUMN(QxA, qxA, float);
DECLARE_SOA_COLUMN(QxC, qxC, float);
DECLARE_SOA_COLUMN(QyA, qyA, float);
DECLARE_SOA_COLUMN(QyC, qyC, float);
} // namespace zdccaltable
DECLARE_SOA_TABLE(ZDCCalTables, "AOD", "ZDCCALTABLE",
zdccaltable::TriggerEventZDC,
zdccaltable::TriggerEventRunNo,
zdccaltable::Cent,
zdccaltable::Vx,
zdccaltable::Vy,
zdccaltable::Vz,
zdccaltable::QxA,
zdccaltable::QxC,
zdccaltable::QyA,
zdccaltable::QyC);
using ZDCCalTable = ZDCCalTables::iterator;
// Extra optional linked table.
// This table does NOT duplicate cent, vx, vy, vz, run number, trigger, etc.
// It only stores the ZDC energies and links back to ZDCCalTables.
namespace zdcenergytable
{
DECLARE_SOA_INDEX_COLUMN(ZDCCalTable, zdcCalTable);
DECLARE_SOA_COLUMN(ZNACommon, znaCommon, float);
DECLARE_SOA_COLUMN(ZNCCommon, zncCommon, float);
DECLARE_SOA_COLUMN(ZNA0, zna0, float);
DECLARE_SOA_COLUMN(ZNA1, zna1, float);
DECLARE_SOA_COLUMN(ZNA2, zna2, float);
DECLARE_SOA_COLUMN(ZNA3, zna3, float);
DECLARE_SOA_COLUMN(ZNC0, znc0, float);
DECLARE_SOA_COLUMN(ZNC1, znc1, float);
DECLARE_SOA_COLUMN(ZNC2, znc2, float);
DECLARE_SOA_COLUMN(ZNC3, znc3, float);
} // namespace zdcenergytable
DECLARE_SOA_TABLE(ZDCEnergyTables, "AOD", "ZDCENERGY",
zdcenergytable::ZDCCalTableId,
zdcenergytable::ZNACommon,
zdcenergytable::ZNCCommon,
zdcenergytable::ZNA0,
zdcenergytable::ZNA1,
zdcenergytable::ZNA2,
zdcenergytable::ZNA3,
zdcenergytable::ZNC0,
zdcenergytable::ZNC1,
zdcenergytable::ZNC2,
zdcenergytable::ZNC3);
using ZDCEnergyTable = ZDCEnergyTables::iterator;
// Extra optional linked table for time information.
// It only stores timestamp and relative time, linked back to ZDCCalTables.
namespace zdctimetable
{
DECLARE_SOA_INDEX_COLUMN(ZDCCalTable, zdcCalTable);
DECLARE_SOA_COLUMN(Timestamp, timestamp, uint64_t); // bc.timestamp(), in ms
DECLARE_SOA_COLUMN(TimeMin, timeMin, float); // time from first event seen in this run, in minutes
} // namespace zdctimetable
DECLARE_SOA_TABLE(ZDCTimeTables, "AOD", "ZDCTIME",
zdctimetable::ZDCCalTableId,
zdctimetable::Timestamp,
zdctimetable::TimeMin);
using ZDCTimeTable = ZDCTimeTables::iterator;
} // namespace o2::aod
#endif // PWGLF_DATAMODEL_ZDCCALTABLES_H_