Skip to content

Commit 351dd63

Browse files
committed
[PWGEM] Add FV0 QVectors to EM event
- Add the FV0 QVector values to the EM event QVector table version _001 - Keep old version as _000 - Add converter task to convert from _000 to _001 in new Core folder directly under PWGEM, since this is a core task that effects both PAG. - Ensure IWYU pragma for all touched files
1 parent 65082ef commit 351dd63

File tree

7 files changed

+204
-82
lines changed

7 files changed

+204
-82
lines changed

PWGEM/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
# granted to it by virtue of its status as an Intergovernmental Organization
1010
# or submit itself to any jurisdiction.
1111

12+
add_subdirectory(Core)
1213
add_subdirectory(Dilepton)
1314

1415
add_subdirectory(PhotonMeson)
1516
add_subdirectory(Tasks)
16-

PWGEM/Core/CMakeLists.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2+
# See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3+
# All rights not expressly granted are reserved.
4+
#
5+
# This software is distributed under the terms of the GNU General Public
6+
# License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7+
#
8+
# In applying this license CERN does not waive the privileges and immunities
9+
# granted to it by virtue of its status as an Intergovernmental Organization
10+
# or submit itself to any jurisdiction.
11+
12+
o2physics_add_dpl_workflow(qvec-converter
13+
SOURCES emQvecConverter.cxx
14+
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore
15+
COMPONENT_NAME Analysis)

PWGEM/Core/emQvecConverter.cxx

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2+
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3+
// All rights not expressly granted are reserved.
4+
//
5+
// This software is distributed under the terms of the GNU General Public
6+
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7+
//
8+
// In applying this license CERN does not waive the privileges and immunities
9+
// granted to it by virtue of its status as an Intergovernmental Organization
10+
// or submit itself to any jurisdiction.
11+
12+
/// \file emQvecConverter.cxx
13+
/// \brief Analysis task for neutral pion flow with EMCal
14+
/// \author M. Hemmer, marvin.hemmer@cern.ch
15+
16+
#include "PWGEM/Dilepton/DataModel/dileptonTables.h"
17+
18+
#include <Framework/AnalysisDataModel.h>
19+
#include <Framework/AnalysisHelpers.h>
20+
#include <Framework/AnalysisTask.h>
21+
#include <Framework/runDataProcessing.h>
22+
23+
using namespace o2;
24+
using namespace o2::framework;
25+
26+
// Converts EMEventsQvec_000 into EMEventsQvec_001
27+
struct EmQvecConverter {
28+
Produces<aod::EMEventsQvec_001> qvec001;
29+
30+
void process(aod::EMEventsQvec_000 const& emEventsQVec)
31+
{
32+
for (const auto& qvec : emEventsQVec) {
33+
constexpr float EmptyV0 = -999.f;
34+
qvec001(qvec.q2xft0m(), qvec.q2yft0m(), qvec.q2xft0a(), qvec.q2yft0a(), qvec.q2xft0c(), qvec.q2yft0c(), EmptyV0, EmptyV0, qvec.q2xbpos(), qvec.q2ybpos(), qvec.q2xbneg(), qvec.q2ybneg(), qvec.q2xbtot(), qvec.q2ybtot(), qvec.q3xft0m(), qvec.q3yft0m(), qvec.q3xft0a(), qvec.q3yft0a(), qvec.q3xft0c(), qvec.q3yft0c(), EmptyV0, EmptyV0, qvec.q3xbpos(), qvec.q3ybpos(), qvec.q3xbneg(), qvec.q3ybneg(), qvec.q3xbtot(), qvec.q3ybtot());
35+
}
36+
}
37+
};
38+
39+
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
40+
{
41+
return WorkflowSpec{
42+
adaptAnalysisTask<EmQvecConverter>(cfgc),
43+
};
44+
}

PWGEM/Dilepton/DataModel/dileptonTables.h

Lines changed: 71 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,23 @@
99
// granted to it by virtue of its status as an Intergovernmental Organization
1010
// or submit itself to any jurisdiction.
1111

12+
#include "Common/CCDB/EventSelectionParams.h"
1213
#include "Common/Core/RecoDecay.h"
1314
#include "Common/DataModel/Centrality.h"
1415
#include "Common/DataModel/EventSelection.h"
1516
#include "Common/DataModel/Multiplicity.h"
16-
#include "Common/DataModel/PIDResponse.h"
17-
#include "Common/DataModel/Qvectors.h"
17+
#include "Common/DataModel/PIDResponseTOF.h"
18+
#include "Common/DataModel/PIDResponseTPC.h"
1819
#include "Common/DataModel/TrackSelectionTables.h"
1920

20-
#include "Framework/AnalysisDataModel.h"
21+
#include <CommonConstants/MathConstants.h>
22+
#include <Framework/AnalysisDataModel.h>
2123

24+
#include <Rtypes.h>
25+
26+
#include <array>
27+
#include <cmath>
28+
#include <cstdint>
2229
#include <string>
2330
#include <unordered_map>
2431
#include <vector>
@@ -81,6 +88,8 @@ DECLARE_SOA_COLUMN(Q2xFT0A, q2xft0a, float); //!
8188
DECLARE_SOA_COLUMN(Q2yFT0A, q2yft0a, float); //! Qy for 2nd harmonics in FT0A (i.e. positive eta)
8289
DECLARE_SOA_COLUMN(Q2xFT0C, q2xft0c, float); //! Qx for 2nd harmonics in FT0C (i.e. negative eta)
8390
DECLARE_SOA_COLUMN(Q2yFT0C, q2yft0c, float); //! Qy for 2nd harmonics in FT0C (i.e. negative eta)
91+
DECLARE_SOA_COLUMN(Q2xFV0A, q2xfv0a, float); //! Qx for 2nd harmonics in FV0A (i.e. positive eta)
92+
DECLARE_SOA_COLUMN(Q2yFV0A, q2yfv0a, float); //! Qy for 2nd harmonics in FV0A (i.e. positive eta)
8493
DECLARE_SOA_COLUMN(Q2xBPos, q2xbpos, float); //! Qx for 2nd harmonics in Barrel positive eta region
8594
DECLARE_SOA_COLUMN(Q2yBPos, q2ybpos, float); //! Qy for 2nd harmonics in Barrel positive eta region
8695
DECLARE_SOA_COLUMN(Q2xBNeg, q2xbneg, float); //! Qx for 2nd harmonics in Barrel negative eta region
@@ -93,6 +102,8 @@ DECLARE_SOA_COLUMN(Q3xFT0A, q3xft0a, float); //!
93102
DECLARE_SOA_COLUMN(Q3yFT0A, q3yft0a, float); //! Qy for 3rd harmonics in FT0A (i.e. positive eta)
94103
DECLARE_SOA_COLUMN(Q3xFT0C, q3xft0c, float); //! Qx for 3rd harmonics in FT0C (i.e. negative eta)
95104
DECLARE_SOA_COLUMN(Q3yFT0C, q3yft0c, float); //! Qy for 3rd harmonics in FT0C (i.e. negative eta)
105+
DECLARE_SOA_COLUMN(Q3xFV0A, q3xfv0a, float); //! Qx for 3rd harmonics in FV0A (i.e. positive eta)
106+
DECLARE_SOA_COLUMN(Q3yFV0A, q3yfv0a, float); //! Qy for 3rd harmonics in FV0A (i.e. positive eta)
96107
DECLARE_SOA_COLUMN(Q3xBPos, q3xbpos, float); //! Qx for 3rd harmonics in Barrel positive eta region
97108
DECLARE_SOA_COLUMN(Q3yBPos, q3ybpos, float); //! Qy for 3rd harmonics in Barrel positive eta region
98109
DECLARE_SOA_COLUMN(Q3xBNeg, q3xbneg, float); //! Qx for 3rd harmonics in Barrel negative eta region
@@ -105,6 +116,8 @@ DECLARE_SOA_COLUMN(Q4xFT0A, q4xft0a, float); //!
105116
DECLARE_SOA_COLUMN(Q4yFT0A, q4yft0a, float); //! Qy for 4th harmonics in FT0A (i.e. positive eta)
106117
DECLARE_SOA_COLUMN(Q4xFT0C, q4xft0c, float); //! Qx for 4th harmonics in FT0C (i.e. negative eta)
107118
DECLARE_SOA_COLUMN(Q4yFT0C, q4yft0c, float); //! Qy for 4th harmonics in FT0C (i.e. negative eta)
119+
DECLARE_SOA_COLUMN(Q4xFV0A, q4xfv0a, float); //! Qx for 4th harmonics in FV0A (i.e. positive eta)
120+
DECLARE_SOA_COLUMN(Q4yFV0A, q4yfv0a, float); //! Qy for 4th harmonics in FV0A (i.e. positive eta)
108121
DECLARE_SOA_COLUMN(Q4xBPos, q4xbpos, float); //! Qx for 4th harmonics in Barrel positive eta region
109122
DECLARE_SOA_COLUMN(Q4yBPos, q4ybpos, float); //! Qy for 4th harmonics in Barrel positive eta region
110123
DECLARE_SOA_COLUMN(Q4xBNeg, q4xbneg, float); //! Qx for 4th harmonics in Barrel negative eta region
@@ -125,18 +138,21 @@ DECLARE_SOA_DYNAMIC_COLUMN(Sel8, sel8, [](uint64_t selection_bit) -> bool { retu
125138
DECLARE_SOA_DYNAMIC_COLUMN(EP2FT0M, ep2ft0m, [](float q2x, float q2y) -> float { return std::atan2(q2y, q2x) / 2.0; });
126139
DECLARE_SOA_DYNAMIC_COLUMN(EP2FT0A, ep2ft0a, [](float q2x, float q2y) -> float { return std::atan2(q2y, q2x) / 2.0; });
127140
DECLARE_SOA_DYNAMIC_COLUMN(EP2FT0C, ep2ft0c, [](float q2x, float q2y) -> float { return std::atan2(q2y, q2x) / 2.0; });
141+
DECLARE_SOA_DYNAMIC_COLUMN(EP2FV0A, ep2fv0a, [](float q2x, float q2y) -> float { return std::atan2(q2y, q2x) / 2.0; });
128142
DECLARE_SOA_DYNAMIC_COLUMN(EP2BPos, ep2bpos, [](float q2x, float q2y) -> float { return std::atan2(q2y, q2x) / 2.0; });
129143
DECLARE_SOA_DYNAMIC_COLUMN(EP2BNeg, ep2bneg, [](float q2x, float q2y) -> float { return std::atan2(q2y, q2x) / 2.0; });
130144
DECLARE_SOA_DYNAMIC_COLUMN(EP2BTot, ep2btot, [](float q2x, float q2y) -> float { return std::atan2(q2y, q2x) / 2.0; });
131145
DECLARE_SOA_DYNAMIC_COLUMN(EP3FT0M, ep3ft0m, [](float q3x, float q3y) -> float { return std::atan2(q3y, q3x) / 3.0; });
132146
DECLARE_SOA_DYNAMIC_COLUMN(EP3FT0A, ep3ft0a, [](float q3x, float q3y) -> float { return std::atan2(q3y, q3x) / 3.0; });
133147
DECLARE_SOA_DYNAMIC_COLUMN(EP3FT0C, ep3ft0c, [](float q3x, float q3y) -> float { return std::atan2(q3y, q3x) / 3.0; });
148+
DECLARE_SOA_DYNAMIC_COLUMN(EP3FV0A, ep3fv0a, [](float q3x, float q3y) -> float { return std::atan2(q3y, q3x) / 3.0; });
134149
DECLARE_SOA_DYNAMIC_COLUMN(EP3BPos, ep3bpos, [](float q3x, float q3y) -> float { return std::atan2(q3y, q3x) / 3.0; });
135150
DECLARE_SOA_DYNAMIC_COLUMN(EP3BNeg, ep3bneg, [](float q3x, float q3y) -> float { return std::atan2(q3y, q3x) / 3.0; });
136151
DECLARE_SOA_DYNAMIC_COLUMN(EP3BTot, ep3btot, [](float q3x, float q3y) -> float { return std::atan2(q3y, q3x) / 3.0; });
137152
DECLARE_SOA_DYNAMIC_COLUMN(EP4FT0M, ep4ft0m, [](float q4x, float q4y) -> float { return std::atan2(q4y, q4x) / 4.0; });
138153
DECLARE_SOA_DYNAMIC_COLUMN(EP4FT0A, ep4ft0a, [](float q4x, float q4y) -> float { return std::atan2(q4y, q4x) / 4.0; });
139154
DECLARE_SOA_DYNAMIC_COLUMN(EP4FT0C, ep4ft0c, [](float q4x, float q4y) -> float { return std::atan2(q4y, q4x) / 4.0; });
155+
DECLARE_SOA_DYNAMIC_COLUMN(EP4FV0A, ep4fv0a, [](float q4x, float q4y) -> float { return std::atan2(q4y, q4x) / 4.0; });
140156
DECLARE_SOA_DYNAMIC_COLUMN(EP4BPos, ep4bpos, [](float q4x, float q4y) -> float { return std::atan2(q4y, q4x) / 4.0; });
141157
DECLARE_SOA_DYNAMIC_COLUMN(EP4BNeg, ep4bneg, [](float q4x, float q4y) -> float { return std::atan2(q4y, q4x) / 4.0; });
142158
DECLARE_SOA_DYNAMIC_COLUMN(EP4BTot, ep4btot, [](float q4x, float q4y) -> float { return std::atan2(q4y, q4x) / 4.0; });
@@ -179,33 +195,61 @@ DECLARE_SOA_TABLE(EMEventsCent, "AOD", "EMEVENTCENT", //! event centrality tab
179195
cent::CentFT0M, cent::CentFT0A, cent::CentFT0C);
180196
using EMEventCent = EMEventsCent::iterator;
181197

182-
DECLARE_SOA_TABLE(EMEventsQvec, "AOD", "EMEVENTQVEC", //! event q vector table, joinable to EMEvents
183-
emevent::Q2xFT0M, emevent::Q2yFT0M, emevent::Q2xFT0A, emevent::Q2yFT0A, emevent::Q2xFT0C, emevent::Q2yFT0C,
184-
emevent::Q2xBPos, emevent::Q2yBPos, emevent::Q2xBNeg, emevent::Q2yBNeg, emevent::Q2xBTot, emevent::Q2yBTot,
185-
emevent::Q3xFT0M, emevent::Q3yFT0M, emevent::Q3xFT0A, emevent::Q3yFT0A, emevent::Q3xFT0C, emevent::Q3yFT0C,
186-
emevent::Q3xBPos, emevent::Q3yBPos, emevent::Q3xBNeg, emevent::Q3yBNeg, emevent::Q3xBTot, emevent::Q3yBTot,
187-
// emevent::Q4xFT0M, emevent::Q4yFT0M, emevent::Q4xFT0A, emevent::Q4yFT0A, emevent::Q4xFT0C, emevent::Q4yFT0C,
188-
// emevent::Q4xBPos, emevent::Q4yBPos, emevent::Q4xBNeg, emevent::Q4yBNeg, emevent::Q4xBTot, emevent::Q4yBTot,
189-
190-
// Dynamic columns
191-
emevent::EP2FT0M<emevent::Q2xFT0M, emevent::Q2yFT0M>,
192-
emevent::EP2FT0A<emevent::Q2xFT0A, emevent::Q2yFT0A>,
193-
emevent::EP2FT0C<emevent::Q2xFT0C, emevent::Q2yFT0C>,
194-
emevent::EP2BPos<emevent::Q2xBPos, emevent::Q2yBPos>,
195-
emevent::EP2BNeg<emevent::Q2xBNeg, emevent::Q2yBNeg>,
196-
emevent::EP2BTot<emevent::Q2xBTot, emevent::Q2yBTot>,
197-
emevent::EP3FT0M<emevent::Q3xFT0M, emevent::Q3yFT0M>,
198-
emevent::EP3FT0A<emevent::Q3xFT0A, emevent::Q3yFT0A>,
199-
emevent::EP3FT0C<emevent::Q3xFT0C, emevent::Q3yFT0C>,
200-
emevent::EP3BPos<emevent::Q3xBPos, emevent::Q3yBPos>,
201-
emevent::EP3BNeg<emevent::Q3xBNeg, emevent::Q3yBNeg>,
202-
emevent::EP3BTot<emevent::Q3xBTot, emevent::Q3yBTot>);
198+
DECLARE_SOA_TABLE_VERSIONED(EMEventsQvec_000, "AOD", "EMEVENTQVEC", 0, //! event q vector table, joinable to EMEvents
199+
emevent::Q2xFT0M, emevent::Q2yFT0M, emevent::Q2xFT0A, emevent::Q2yFT0A, emevent::Q2xFT0C, emevent::Q2yFT0C,
200+
emevent::Q2xBPos, emevent::Q2yBPos, emevent::Q2xBNeg, emevent::Q2yBNeg, emevent::Q2xBTot, emevent::Q2yBTot,
201+
emevent::Q3xFT0M, emevent::Q3yFT0M, emevent::Q3xFT0A, emevent::Q3yFT0A, emevent::Q3xFT0C, emevent::Q3yFT0C,
202+
emevent::Q3xBPos, emevent::Q3yBPos, emevent::Q3xBNeg, emevent::Q3yBNeg, emevent::Q3xBTot, emevent::Q3yBTot,
203+
// emevent::Q4xFT0M, emevent::Q4yFT0M, emevent::Q4xFT0A, emevent::Q4yFT0A, emevent::Q4xFT0C, emevent::Q4yFT0C,
204+
// emevent::Q4xBPos, emevent::Q4yBPos, emevent::Q4xBNeg, emevent::Q4yBNeg, emevent::Q4xBTot, emevent::Q4yBTot,
205+
206+
// Dynamic columns
207+
emevent::EP2FT0M<emevent::Q2xFT0M, emevent::Q2yFT0M>,
208+
emevent::EP2FT0A<emevent::Q2xFT0A, emevent::Q2yFT0A>,
209+
emevent::EP2FT0C<emevent::Q2xFT0C, emevent::Q2yFT0C>,
210+
emevent::EP2BPos<emevent::Q2xBPos, emevent::Q2yBPos>,
211+
emevent::EP2BNeg<emevent::Q2xBNeg, emevent::Q2yBNeg>,
212+
emevent::EP2BTot<emevent::Q2xBTot, emevent::Q2yBTot>,
213+
emevent::EP3FT0M<emevent::Q3xFT0M, emevent::Q3yFT0M>,
214+
emevent::EP3FT0A<emevent::Q3xFT0A, emevent::Q3yFT0A>,
215+
emevent::EP3FT0C<emevent::Q3xFT0C, emevent::Q3yFT0C>,
216+
emevent::EP3BPos<emevent::Q3xBPos, emevent::Q3yBPos>,
217+
emevent::EP3BNeg<emevent::Q3xBNeg, emevent::Q3yBNeg>,
218+
emevent::EP3BTot<emevent::Q3xBTot, emevent::Q3yBTot>);
203219
// emevent::EP4FT0M<emevent::Q4xFT0M, emevent::Q4yFT0M>,
204220
// emevent::EP4FT0A<emevent::Q4xFT0A, emevent::Q4yFT0A>,
205221
// emevent::EP4FT0C<emevent::Q4xFT0C, emevent::Q4yFT0C>,
206222
// emevent::EP4BPos<emevent::Q4xBPos, emevent::Q4yBPos>,
207223
// emevent::EP4BNeg<emevent::Q4xBNeg, emevent::Q4yBNeg>,
208224
// emevent::EP4BTot<emevent::Q4xBTot, emevent::Q4yBTot>
225+
226+
DECLARE_SOA_TABLE_VERSIONED(EMEventsQvec_001, "AOD", "EMEVENTQVEC", 1, //! Main event information table
227+
emevent::Q2xFT0M, emevent::Q2yFT0M, emevent::Q2xFT0A, emevent::Q2yFT0A, emevent::Q2xFT0C, emevent::Q2yFT0C,
228+
emevent::Q2xFV0A, emevent::Q2yFV0A,
229+
emevent::Q2xBPos, emevent::Q2yBPos, emevent::Q2xBNeg, emevent::Q2yBNeg, emevent::Q2xBTot, emevent::Q2yBTot,
230+
emevent::Q3xFT0M, emevent::Q3yFT0M, emevent::Q3xFT0A, emevent::Q3yFT0A, emevent::Q3xFT0C, emevent::Q3yFT0C,
231+
emevent::Q3xFV0A, emevent::Q3yFV0A,
232+
emevent::Q3xBPos, emevent::Q3yBPos, emevent::Q3xBNeg, emevent::Q3yBNeg, emevent::Q3xBTot, emevent::Q3yBTot,
233+
// emevent::Q4xFT0M, emevent::Q4yFT0M, emevent::Q4xFT0A, emevent::Q4yFT0A, emevent::Q4xFT0C, emevent::Q4yFT0C,
234+
// emevent::Q4xBPos, emevent::Q4yBPos, emevent::Q4xBNeg, emevent::Q4yBNeg, emevent::Q4xBTot, emevent::Q4yBTot,
235+
236+
// Dynamic columns
237+
emevent::EP2FT0M<emevent::Q2xFT0M, emevent::Q2yFT0M>,
238+
emevent::EP2FT0A<emevent::Q2xFT0A, emevent::Q2yFT0A>,
239+
emevent::EP2FT0C<emevent::Q2xFT0C, emevent::Q2yFT0C>,
240+
emevent::EP2FV0A<emevent::Q2xFV0A, emevent::Q2yFV0A>,
241+
emevent::EP2BPos<emevent::Q2xBPos, emevent::Q2yBPos>,
242+
emevent::EP2BNeg<emevent::Q2xBNeg, emevent::Q2yBNeg>,
243+
emevent::EP2BTot<emevent::Q2xBTot, emevent::Q2yBTot>,
244+
emevent::EP3FT0M<emevent::Q3xFT0M, emevent::Q3yFT0M>,
245+
emevent::EP3FT0A<emevent::Q3xFT0A, emevent::Q3yFT0A>,
246+
emevent::EP3FT0C<emevent::Q3xFT0C, emevent::Q3yFT0C>,
247+
emevent::EP3FV0A<emevent::Q3xFV0A, emevent::Q3yFV0A>,
248+
emevent::EP3BPos<emevent::Q3xBPos, emevent::Q3yBPos>,
249+
emevent::EP3BNeg<emevent::Q3xBNeg, emevent::Q3yBNeg>,
250+
emevent::EP3BTot<emevent::Q3xBTot, emevent::Q3yBTot>);
251+
252+
using EMEventsQvec = EMEventsQvec_001;
209253
using EMEventQvec = EMEventsQvec::iterator;
210254

211255
DECLARE_SOA_TABLE(EMSWTriggerBits, "AOD", "EMSWTBIT", emevent::SWTAlias, o2::soa::Marker<1>); //! joinable to EMEvents
@@ -433,8 +477,8 @@ DECLARE_SOA_DYNAMIC_COLUMN(P, p, [](float pt, float eta) -> float { return pt *
433477
DECLARE_SOA_DYNAMIC_COLUMN(Px, px, [](float pt, float phi) -> float { return pt * std::cos(phi); });
434478
DECLARE_SOA_DYNAMIC_COLUMN(Py, py, [](float pt, float phi) -> float { return pt * std::sin(phi); });
435479
DECLARE_SOA_DYNAMIC_COLUMN(Pz, pz, [](float pt, float eta) -> float { return pt * std::sinh(eta); });
436-
DECLARE_SOA_DYNAMIC_COLUMN(Theta, theta, [](float tgl) -> float { return M_PI_2 - std::atan(tgl); });
437-
DECLARE_SOA_DYNAMIC_COLUMN(Tgl, tgl, [](float eta) -> float { return std::tan(M_PI_2 - 2 * std::atan(std::exp(-eta))); });
480+
DECLARE_SOA_DYNAMIC_COLUMN(Theta, theta, [](float tgl) -> float { return o2::constants::math::PIHalf - std::atan(tgl); });
481+
DECLARE_SOA_DYNAMIC_COLUMN(Tgl, tgl, [](float eta) -> float { return std::tan(o2::constants::math::PIHalf - 2 * std::atan(std::exp(-eta))); });
438482
DECLARE_SOA_DYNAMIC_COLUMN(MeanClusterSizeITS, meanClusterSizeITS, [](uint32_t itsClusterSizes) -> float {
439483
int total_cluster_size = 0, nl = 0;
440484
for (unsigned int layer = 0; layer < 7; layer++) {
@@ -848,7 +892,7 @@ DECLARE_SOA_COLUMN(Signed1Pt, signed1Pt, float); //! (sign of charge)/Pt in c/
848892
DECLARE_SOA_COLUMN(Eta, eta, float); //!
849893
DECLARE_SOA_COLUMN(Phi, phi, float); //!
850894
DECLARE_SOA_DYNAMIC_COLUMN(Pt, pt, [](float signed1Pt) -> float { return 1.f / std::fabs(signed1Pt); });
851-
DECLARE_SOA_DYNAMIC_COLUMN(Sign, sign, [](float signed1Pt) -> short { return (signed1Pt > 0) ? 1 : -1; }); //! Charge: positive: 1, negative: -1
895+
DECLARE_SOA_DYNAMIC_COLUMN(Sign, sign, [](float signed1Pt) -> int16_t { return (signed1Pt > 0) ? 1 : -1; }); //! Charge: positive: 1, negative: -1
852896
} // namespace emprimarytrack
853897

854898
DECLARE_SOA_TABLE_VERSIONED(EMPrimaryTracks_000, "AOD", "EMPRIMARYTRACK", 0, //! primary charged track table for 2PC

0 commit comments

Comments
 (0)