|
| 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 | + |
0 commit comments