Skip to content

Commit 6d9fbaa

Browse files
committed
PWGLF: add nuclei-antineutron-cex workflow and ANTINCEX AOD table
1 parent e5ce99e commit 6d9fbaa

File tree

3 files changed

+803
-0
lines changed

3 files changed

+803
-0
lines changed

PWGLF/DataModel/LFAntinCexTables.h

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
#ifndef PWGLF_DATAMODEL_LFANTINCEXTABLES_H_
2+
#define PWGLF_DATAMODEL_LFANTINCEXTABLES_H_
3+
4+
#include "Framework/AnalysisDataModel.h"
5+
#include "Framework/ASoAHelpers.h"
6+
7+
namespace o2::aod
8+
{
9+
namespace antinCexNS
10+
{
11+
// Etiqueta/metadata básica
12+
DECLARE_SOA_COLUMN(IsCex, isCex, bool); // 1=CEX (from antin), 0=BG
13+
DECLARE_SOA_COLUMN(MotherPdg, motherPdg, int32_t); // mother PDG
14+
DECLARE_SOA_COLUMN(ColId, colId, int32_t); // mcCollisionId
15+
DECLARE_SOA_COLUMN(PId, pId, int32_t); // proton MC id
16+
DECLARE_SOA_COLUMN(AntipId, antipId, int32_t); // antiproton MC id
17+
18+
// MC (par)
19+
DECLARE_SOA_COLUMN(McPairP, mcPairP, float);
20+
DECLARE_SOA_COLUMN(McPairPt, mcPairPt, float);
21+
DECLARE_SOA_COLUMN(McPairPz, mcPairPz, float);
22+
DECLARE_SOA_COLUMN(McDplane, mcDplane, float);
23+
DECLARE_SOA_COLUMN(McAngleDeg, mcAngleDeg, float);
24+
DECLARE_SOA_COLUMN(McVtxX, mcVtxX, float);
25+
DECLARE_SOA_COLUMN(McVtxY, mcVtxY, float);
26+
DECLARE_SOA_COLUMN(McVtxZ, mcVtxZ, float);
27+
28+
// Tracks (par, del fitter)
29+
DECLARE_SOA_COLUMN(TrkPairP, trkPairP, float);
30+
DECLARE_SOA_COLUMN(TrkPairPt, trkPairPt, float);
31+
DECLARE_SOA_COLUMN(TrkPairPz, trkPairPz, float);
32+
DECLARE_SOA_COLUMN(TrkAngleDeg, trkAngleDeg, float);
33+
DECLARE_SOA_COLUMN(TrkVtxfitDcaPair,trkVtxfitDcaPair,float);
34+
DECLARE_SOA_COLUMN(TrkVtxfitR, trkVtxfitR, float);
35+
DECLARE_SOA_COLUMN(TrkVtxfitDistToPv,trkVtxfitDistToPv,float);
36+
DECLARE_SOA_COLUMN(TrkVtxfitSecVtxX,trkVtxfitSecVtxX,float);
37+
DECLARE_SOA_COLUMN(TrkVtxfitSecVtxY,trkVtxfitSecVtxY,float);
38+
DECLARE_SOA_COLUMN(TrkVtxfitSecVtxZ,trkVtxfitSecVtxZ,float);
39+
40+
// Calidad del fit y residuales (fit − MC)
41+
DECLARE_SOA_COLUMN(VtxfitChi2, vtxfitChi2, float);
42+
DECLARE_SOA_COLUMN(VtxfitStatus, vtxfitStatus, int32_t);
43+
DECLARE_SOA_COLUMN(NCand, nCand, int32_t);
44+
DECLARE_SOA_COLUMN(VtxfitDX, vtxfitDX, float);
45+
DECLARE_SOA_COLUMN(VtxfitDY, vtxfitDY, float);
46+
DECLARE_SOA_COLUMN(VtxfitDZ, vtxfitDZ, float);
47+
DECLARE_SOA_COLUMN(VtxfitD3D, vtxfitD3D, float);
48+
49+
// Track del protón
50+
DECLARE_SOA_COLUMN(PTrkP, pTrkP, float);
51+
DECLARE_SOA_COLUMN(PTrkPx, pTrkPx, float);
52+
DECLARE_SOA_COLUMN(PTrkPy, pTrkPy, float);
53+
DECLARE_SOA_COLUMN(PTrkPz, pTrkPz, float);
54+
DECLARE_SOA_COLUMN(PTrkEta, pTrkEta, float);
55+
DECLARE_SOA_COLUMN(PTrkTpcSignal, pTrkTpcSignal, float);
56+
DECLARE_SOA_COLUMN(PTrkNClsIts, pTrkNClsIts, int16_t);
57+
58+
// Track del antiprotón
59+
DECLARE_SOA_COLUMN(AntipTrkP, antipTrkP, float);
60+
DECLARE_SOA_COLUMN(AntipTrkPx, antipTrkPx, float);
61+
DECLARE_SOA_COLUMN(AntipTrkPy, antipTrkPy, float);
62+
DECLARE_SOA_COLUMN(AntipTrkPz, antipTrkPz, float);
63+
DECLARE_SOA_COLUMN(AntipTrkEta, antipTrkEta, float);
64+
DECLARE_SOA_COLUMN(AntipTrkTpcSignal, antipTrkTpcSignal, float);
65+
DECLARE_SOA_COLUMN(AntipTrkNClsIts, antipTrkNClsIts, int16_t);
66+
67+
// (Opcional pero útil) Máscara de selección por cortes
68+
DECLARE_SOA_COLUMN(SelMask, selMask, uint32_t); // bits de cortes superados
69+
} // namespace antinCexNS
70+
71+
// Tabla única para CEX y BG (flag isCex)
72+
DECLARE_SOA_TABLE(antinCexPairs, "AOD", "ANTINCEX",
73+
antinCexNS::IsCex,
74+
antinCexNS::MotherPdg, antinCexNS::ColId, antinCexNS::PId, antinCexNS::AntipId,
75+
antinCexNS::McPairP, antinCexNS::McPairPt, antinCexNS::McPairPz,
76+
antinCexNS::McDplane, antinCexNS::McAngleDeg, antinCexNS::McVtxX, antinCexNS::McVtxY, antinCexNS::McVtxZ,
77+
antinCexNS::TrkPairP, antinCexNS::TrkPairPt, antinCexNS::TrkPairPz, antinCexNS::TrkAngleDeg,
78+
antinCexNS::TrkVtxfitDcaPair, antinCexNS::TrkVtxfitR, antinCexNS::TrkVtxfitDistToPv,
79+
antinCexNS::TrkVtxfitSecVtxX, antinCexNS::TrkVtxfitSecVtxY, antinCexNS::TrkVtxfitSecVtxZ,
80+
antinCexNS::VtxfitChi2, antinCexNS::VtxfitStatus, antinCexNS::NCand,
81+
antinCexNS::VtxfitDX, antinCexNS::VtxfitDY, antinCexNS::VtxfitDZ, antinCexNS::VtxfitD3D,
82+
antinCexNS::PTrkP, antinCexNS::PTrkPx, antinCexNS::PTrkPy, antinCexNS::PTrkPz, antinCexNS::PTrkEta, antinCexNS::PTrkTpcSignal, antinCexNS::PTrkNClsIts,
83+
antinCexNS::AntipTrkP, antinCexNS::AntipTrkPx, antinCexNS::AntipTrkPy, antinCexNS::AntipTrkPz, antinCexNS::AntipTrkEta, antinCexNS::AntipTrkTpcSignal, antinCexNS::AntipTrkNClsIts,
84+
antinCexNS::SelMask
85+
)
86+
87+
} // namespace o2::aod
88+
89+
#endif // PWGLF_DATAMODEL_LFANTINCEXTABLES_H_
90+

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)