Skip to content

Commit 3914fd1

Browse files
committed
Nuspex: add antineutron CEX table producer & datamodel; update Nuspex CMake; clang-format
1 parent 5c4a66d commit 3914fd1

File tree

3 files changed

+950
-0
lines changed

3 files changed

+950
-0
lines changed

PWGLF/DataModel/LFAntinCexTables.h

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
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+
///
13+
/// \file LFAntinCexTables.h
14+
/// \brief Slim tables for nucleiAntineutronCex
15+
/// \author Fabiola Lugo
16+
///
17+
18+
#ifndef PWGLF_DATAMODEL_LFANTINCEXTABLES_H_
19+
#define PWGLF_DATAMODEL_LFANTINCEXTABLES_H_
20+
21+
#include "Framework/ASoAHelpers.h"
22+
#include "Framework/AnalysisDataModel.h"
23+
24+
namespace o2::aod
25+
{
26+
namespace antinCexNS
27+
{
28+
// Metadata
29+
DECLARE_SOA_COLUMN(IsCex, isCex, bool); // 1=CEX (from antin), 0=BG
30+
DECLARE_SOA_COLUMN(MotherPdg, motherPdg, int32_t); // mother PDG
31+
DECLARE_SOA_COLUMN(ColId, colId, int32_t); // mcCollisionId
32+
DECLARE_SOA_COLUMN(PId, pId, int32_t); // proton MC id
33+
DECLARE_SOA_COLUMN(AntipId, antipId, int32_t); // antiproton MC id
34+
35+
// MC (pair)
36+
DECLARE_SOA_COLUMN(McPairP, mcPairP, float);
37+
DECLARE_SOA_COLUMN(McPairPt, mcPairPt, float);
38+
DECLARE_SOA_COLUMN(McPairPz, mcPairPz, float);
39+
DECLARE_SOA_COLUMN(McDplane, mcDplane, float);
40+
DECLARE_SOA_COLUMN(McAngleDeg, mcAngleDeg, float);
41+
DECLARE_SOA_COLUMN(McVtxX, mcVtxX, float);
42+
DECLARE_SOA_COLUMN(McVtxY, mcVtxY, float);
43+
DECLARE_SOA_COLUMN(McVtxZ, mcVtxZ, float);
44+
45+
// Tracks (pair, fitter)
46+
DECLARE_SOA_COLUMN(TrkPairP, trkPairP, float);
47+
DECLARE_SOA_COLUMN(TrkPairPt, trkPairPt, float);
48+
DECLARE_SOA_COLUMN(TrkPairPz, trkPairPz, float);
49+
DECLARE_SOA_COLUMN(TrkAngleDeg, trkAngleDeg, float);
50+
DECLARE_SOA_COLUMN(TrkVtxfitDcaPair, trkVtxfitDcaPair, float);
51+
DECLARE_SOA_COLUMN(TrkVtxfitR, trkVtxfitR, float);
52+
DECLARE_SOA_COLUMN(TrkVtxfitDistToPv, trkVtxfitDistToPv, float);
53+
DECLARE_SOA_COLUMN(TrkVtxfitSecVtxX, trkVtxfitSecVtxX, float);
54+
DECLARE_SOA_COLUMN(TrkVtxfitSecVtxY, trkVtxfitSecVtxY, float);
55+
DECLARE_SOA_COLUMN(TrkVtxfitSecVtxZ, trkVtxfitSecVtxZ, float);
56+
57+
// Fit quality (fit − MC)
58+
DECLARE_SOA_COLUMN(VtxfitChi2, vtxfitChi2, float);
59+
DECLARE_SOA_COLUMN(VtxfitStatus, vtxfitStatus, int32_t);
60+
DECLARE_SOA_COLUMN(NCand, nCand, int32_t);
61+
DECLARE_SOA_COLUMN(VtxfitDX, vtxfitDX, float);
62+
DECLARE_SOA_COLUMN(VtxfitDY, vtxfitDY, float);
63+
DECLARE_SOA_COLUMN(VtxfitDZ, vtxfitDZ, float);
64+
DECLARE_SOA_COLUMN(VtxfitD3D, vtxfitD3D, float);
65+
66+
// Proton track
67+
DECLARE_SOA_COLUMN(PTrkP, pTrkP, float);
68+
DECLARE_SOA_COLUMN(PTrkPx, pTrkPx, float);
69+
DECLARE_SOA_COLUMN(PTrkPy, pTrkPy, float);
70+
DECLARE_SOA_COLUMN(PTrkPz, pTrkPz, float);
71+
DECLARE_SOA_COLUMN(PTrkEta, pTrkEta, float);
72+
DECLARE_SOA_COLUMN(PTrkTpcSignal, pTrkTpcSignal, float);
73+
DECLARE_SOA_COLUMN(PTrkNClsIts, pTrkNClsIts, int16_t);
74+
75+
// Antiproton track
76+
DECLARE_SOA_COLUMN(AntipTrkP, antipTrkP, float);
77+
DECLARE_SOA_COLUMN(AntipTrkPx, antipTrkPx, float);
78+
DECLARE_SOA_COLUMN(AntipTrkPy, antipTrkPy, float);
79+
DECLARE_SOA_COLUMN(AntipTrkPz, antipTrkPz, float);
80+
DECLARE_SOA_COLUMN(AntipTrkEta, antipTrkEta, float);
81+
DECLARE_SOA_COLUMN(AntipTrkTpcSignal, antipTrkTpcSignal, float);
82+
DECLARE_SOA_COLUMN(AntipTrkNClsIts, antipTrkNClsIts, int16_t);
83+
84+
// Cuts Mask
85+
DECLARE_SOA_COLUMN(SelMask, selMask, uint32_t);
86+
87+
DECLARE_SOA_COLUMN(PairPointingAngleDeg, pairPointingAngleDeg, float);
88+
DECLARE_SOA_COLUMN(PairPBalance, pairPBalance, float);
89+
DECLARE_SOA_COLUMN(PairPtBalance, pairPtBalance, float);
90+
DECLARE_SOA_COLUMN(PairQ, pairQ, float);
91+
92+
DECLARE_SOA_COLUMN(DPairP, dPairP, float);
93+
DECLARE_SOA_COLUMN(DPairPt, dPairPt, float);
94+
DECLARE_SOA_COLUMN(DPairPz, dPairPz, float);
95+
DECLARE_SOA_COLUMN(DOpenAngle, dOpenAngle, float);
96+
97+
DECLARE_SOA_COLUMN(SVNearestLayerId, svNearestLayerId, int16_t);
98+
DECLARE_SOA_COLUMN(SVDeltaRtoLayer, svDeltaRtoLayer, float);
99+
100+
DECLARE_SOA_COLUMN(PTrkItsHitMap, pTrkItsHitMap, uint16_t);
101+
DECLARE_SOA_COLUMN(APTrkItsHitMap, apTrkItsHitMap, uint16_t);
102+
DECLARE_SOA_COLUMN(PLayersOK, pLayersOK, int8_t);
103+
DECLARE_SOA_COLUMN(APLayersOK, apLayersOK, int8_t);
104+
105+
DECLARE_SOA_COLUMN(PvtxZ, pvtxZ, float);
106+
} // namespace antinCexNS
107+
108+
// Table
109+
DECLARE_SOA_TABLE(antinCexPairs, "AOD", "ANTINCEX",
110+
antinCexNS::IsCex,
111+
antinCexNS::MotherPdg, antinCexNS::ColId, antinCexNS::PId, antinCexNS::AntipId,
112+
antinCexNS::McPairP, antinCexNS::McPairPt, antinCexNS::McPairPz,
113+
antinCexNS::McDplane, antinCexNS::McAngleDeg, antinCexNS::McVtxX, antinCexNS::McVtxY, antinCexNS::McVtxZ,
114+
antinCexNS::TrkPairP, antinCexNS::TrkPairPt, antinCexNS::TrkPairPz, antinCexNS::TrkAngleDeg,
115+
antinCexNS::TrkVtxfitDcaPair, antinCexNS::TrkVtxfitR, antinCexNS::TrkVtxfitDistToPv,
116+
antinCexNS::TrkVtxfitSecVtxX, antinCexNS::TrkVtxfitSecVtxY, antinCexNS::TrkVtxfitSecVtxZ,
117+
antinCexNS::VtxfitChi2, antinCexNS::VtxfitStatus, antinCexNS::NCand,
118+
antinCexNS::VtxfitDX, antinCexNS::VtxfitDY, antinCexNS::VtxfitDZ, antinCexNS::VtxfitD3D,
119+
antinCexNS::PTrkP, antinCexNS::PTrkPx, antinCexNS::PTrkPy, antinCexNS::PTrkPz, antinCexNS::PTrkEta, antinCexNS::PTrkTpcSignal, antinCexNS::PTrkNClsIts,
120+
antinCexNS::AntipTrkP, antinCexNS::AntipTrkPx, antinCexNS::AntipTrkPy, antinCexNS::AntipTrkPz, antinCexNS::AntipTrkEta, antinCexNS::AntipTrkTpcSignal, antinCexNS::AntipTrkNClsIts,
121+
antinCexNS::SelMask,
122+
antinCexNS::PairPointingAngleDeg, antinCexNS::PairPBalance, antinCexNS::PairPtBalance, antinCexNS::PairQ,
123+
antinCexNS::DPairP, antinCexNS::DPairPt, antinCexNS::DPairPz, antinCexNS::DOpenAngle,
124+
antinCexNS::SVNearestLayerId, antinCexNS::SVDeltaRtoLayer,
125+
antinCexNS::PTrkItsHitMap, antinCexNS::APTrkItsHitMap, antinCexNS::PLayersOK, antinCexNS::APLayersOK,
126+
antinCexNS::PvtxZ);
127+
128+
} // namespace o2::aod
129+
130+
#endif // PWGLF_DATAMODEL_LFANTINCEXTABLES_H_

PWGLF/TableProducer/Nuspex/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,3 +103,8 @@ o2physics_add_dpl_workflow(he3-lambda-analysis
103103
SOURCES he3LambdaAnalysis.cxx
104104
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::EventFilteringUtils
105105
COMPONENT_NAME Analysis)
106+
107+
o2physics_add_dpl_workflow(nuclei-antineutron-cex
108+
SOURCES nucleiAntineutronCex.cxx
109+
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
110+
COMPONENT_NAME Analysis)

0 commit comments

Comments
 (0)