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 LFLnnTables.h
14+ // / \brief Slim lnn tables
15+ // /
16+
17+ #include " Framework/AnalysisDataModel.h"
18+ #include " Framework/ASoAHelpers.h"
19+
20+ #ifndef PWGLF_DATAMODEL_LFLNNTABLES_H_
21+ #define PWGLF_DATAMODEL_LFLNNTABLES_H_
22+
23+ namespace o2 ::aod
24+ {
25+ namespace lnnrec
26+ {
27+ DECLARE_SOA_COLUMN (CentralityFT0A, centralityFT0A, float ); // centrality with FT0A estimator
28+ DECLARE_SOA_COLUMN (CentralityFT0C, centralityFT0C, float ); // centrality with FT0C estimator
29+ DECLARE_SOA_COLUMN (CentralityFT0M, centralityFT0M, float ); // centrality with FT0M estimator
30+ DECLARE_SOA_COLUMN (PsiFT0A, psiFT0A, float ); // Psi with FT0A estimator
31+ DECLARE_SOA_COLUMN (MultFT0A, multFT0A, float ); // Multiplicity with FT0A estimator
32+ DECLARE_SOA_COLUMN (PsiFT0C, psiFT0C, float ); // Psi with FT0C estimator
33+ DECLARE_SOA_COLUMN (MultFT0C, multFT0C, float ); // Multiplicity with FT0C estimator
34+ DECLARE_SOA_COLUMN (PsiTPC, psiTPC, float ); // Psi with TPC estimator
35+ DECLARE_SOA_COLUMN (MultTPC, multTPC, float ); // Multiplicity with TPC estimator
36+
37+ DECLARE_SOA_COLUMN (IsMatter, isMatter, bool ); // bool: true for matter
38+ DECLARE_SOA_COLUMN (Pt3H, pt3H, float ); // Pt of the 3H daughter
39+ DECLARE_SOA_COLUMN (Phi3H, phi3H, float ); // Phi of the 3H daughter
40+ DECLARE_SOA_COLUMN (Eta3H, eta3H, float ); // Eta of the 3H daughter
41+ DECLARE_SOA_COLUMN (PtPi, ptPi, float ); // Pt of the Pi daughter
42+ DECLARE_SOA_COLUMN (PhiPi, phiPi, float ); // Phi of the Pi daughter
43+ DECLARE_SOA_COLUMN (EtaPi, etaPi, float ); // Eta of the Pi daughter
44+ DECLARE_SOA_COLUMN (XPrimVtx, xPrimVtx, float ); // Decay vertex of the candidate (x direction)
45+ DECLARE_SOA_COLUMN (YPrimVtx, yPrimVtx, float ); // Decay vertex of the candidate (y direction)
46+ DECLARE_SOA_COLUMN (ZPrimVtx, zPrimVtx, float ); // Decay vertex of the candidate (z direction)
47+ DECLARE_SOA_COLUMN (XDecVtx, xDecVtx, float ); // Decay vertex of the candidate (x direction)
48+ DECLARE_SOA_COLUMN (YDecVtx, yDecVtx, float ); // Decay vertex of the candidate (y direction)
49+ DECLARE_SOA_COLUMN (ZDecVtx, zDecVtx, float ); // Decay vertex of the candidate (z direction)
50+ DECLARE_SOA_COLUMN (MassLNNL, massLNNL, float ); // Squared mass w/ lnn mass hypotenuse
51+ DECLARE_SOA_COLUMN (DcaV0Daug, dcaV0Daug, float ); // DCA between daughters
52+ DECLARE_SOA_COLUMN (CosPA, cosPA, double ); // Cosine of the pointing angle
53+ DECLARE_SOA_COLUMN (NSigma3H, nSigma3H, float ); // Number of sigmas of the 3H daughter
54+ DECLARE_SOA_COLUMN (NTPCclus3H, nTPCclus3H, uint8_t ); // Number of TPC clusters of the 3H daughter
55+ DECLARE_SOA_COLUMN (NTPCclusPi, nTPCclusPi, uint8_t ); // Number of TPC clusters of the Pi daughter
56+ DECLARE_SOA_COLUMN (TPCsignal3H, tpcSignal3H, uint16_t ); // TPC signal of the 3H daughter
57+ DECLARE_SOA_COLUMN (TPCsignalPi, tpcSignalPi, uint16_t ); // TPC signal of the Pi daughter
58+ DECLARE_SOA_COLUMN (Flags, flags, uint8_t ); // Flags for PID in tracking (bits [0, 3] for negative daughter, [4,7] for positive daughter)
59+ DECLARE_SOA_COLUMN (TPCmom3H, tpcMom3H, float ); // TPC momentum of the 3H daughter
60+ DECLARE_SOA_COLUMN (TPCmomPi, tpcMomPi, float ); // TPC momentum of the Pi daughter
61+ DECLARE_SOA_COLUMN (ITSclusterSizes3H, itsClusterSizes3H, uint32_t ); // ITS cluster size of the 3H daughter
62+ DECLARE_SOA_COLUMN (ITSclusterSizesPi, itsClusterSizesPi, uint32_t ); // ITS cluster size of the Pi daughter
63+ DECLARE_SOA_COLUMN (Dca3H, dca3H, float ); // DCA between 3H daughter and V0
64+ DECLARE_SOA_COLUMN (DcaPi, dcaPi, float ); // DCA between pi daughter and V0
65+ DECLARE_SOA_COLUMN (GenPt, genPt, float ); // Pt of the lnn
66+ DECLARE_SOA_COLUMN (GenPhi, genPhi, float ); // Phi of the lnn
67+ DECLARE_SOA_COLUMN (GenEta, genEta, float ); // Eta of the lnn
68+ DECLARE_SOA_COLUMN (GenPt3H, genPt3H, float ); // Pt of the 3H daughter (to be used for the recalibration)
69+ DECLARE_SOA_COLUMN (GenXDecVtx, genXDecVtx, float ); // Decay vertex of the candidate (x direction)
70+ DECLARE_SOA_COLUMN (GenYDecVtx, genYDecVtx, float ); // Decay vertex of the candidate (y direction)
71+ DECLARE_SOA_COLUMN (GenZDecVtx, genZDecVtx, float ); // Decay vertex of the candidate (z direction)
72+ DECLARE_SOA_COLUMN (IsReco, isReco, bool ); // bool: true for reco
73+ DECLARE_SOA_COLUMN (IsSignal, isSignal, bool ); // bool: true for signal
74+ DECLARE_SOA_COLUMN (SurvivedEventSelection, survivedEventSelection, bool ); // bool: true for survived event selection
75+ } // namespace lnnrec
76+
77+ // Declaration of the table DataLnnCands which contains information of TPC, ITS and geometric variables
78+ DECLARE_SOA_TABLE (DataLnnCands, " AOD" , " LNNCANDS" ,
79+ o2::soa::Index<>,
80+ lnnrec::CentralityFT0A, lnnrec::CentralityFT0C, lnnrec::CentralityFT0M,
81+ lnnrec::XPrimVtx, lnnrec::YPrimVtx, lnnrec::ZPrimVtx,
82+
83+ lnnrec::IsMatter,
84+ lnnrec::Pt3H, lnnrec::Phi3H, lnnrec::Eta3H,
85+ lnnrec::PtPi, lnnrec::PhiPi, lnnrec::EtaPi,
86+ lnnrec::XDecVtx, lnnrec::YDecVtx, lnnrec::ZDecVtx,
87+ lnnrec::DcaV0Daug, lnnrec::Dca3H, lnnrec::DcaPi,
88+ lnnrec::NSigma3H, lnnrec::NTPCclus3H, lnnrec::NTPCclusPi,
89+ lnnrec::TPCmom3H, lnnrec::TPCmomPi, lnnrec::TPCsignal3H, lnnrec::TPCsignalPi,
90+ lnnrec::ITSclusterSizes3H, lnnrec::ITSclusterSizesPi,
91+ lnnrec::Flags);
92+
93+ DECLARE_SOA_TABLE (MCLnnCands, " AOD" , " MCLNNCANDS" ,
94+ o2::soa::Index<>,
95+ lnnrec::CentralityFT0A, lnnrec::CentralityFT0C, lnnrec::CentralityFT0M,
96+ lnnrec::XPrimVtx, lnnrec::YPrimVtx, lnnrec::ZPrimVtx,
97+
98+ lnnrec::IsMatter,
99+ lnnrec::Pt3H, lnnrec::Phi3H, lnnrec::Eta3H,
100+ lnnrec::PtPi, lnnrec::PhiPi, lnnrec::EtaPi,
101+ lnnrec::XDecVtx, lnnrec::YDecVtx, lnnrec::ZDecVtx,
102+ lnnrec::DcaV0Daug, lnnrec::Dca3H, lnnrec::DcaPi,
103+ lnnrec::NSigma3H, lnnrec::NTPCclus3H, lnnrec::NTPCclusPi,
104+ lnnrec::TPCmom3H, lnnrec::TPCmomPi, lnnrec::TPCsignal3H, lnnrec::TPCsignalPi,
105+ lnnrec::ITSclusterSizes3H, lnnrec::ITSclusterSizesPi,
106+ lnnrec::Flags,
107+ lnnrec::GenPt,
108+ lnnrec::GenPhi,
109+ lnnrec::GenEta,
110+ lnnrec::GenPt3H,
111+ lnnrec::GenXDecVtx,
112+ lnnrec::GenYDecVtx,
113+ lnnrec::GenZDecVtx,
114+ lnnrec::IsReco,
115+ lnnrec::IsSignal,
116+ lnnrec::SurvivedEventSelection);
117+
118+ using DataLnnCand = DataLnnCands::iterator;
119+ using MCLnnCand = MCLnnCands::iterator;
120+ } // namespace o2::aod
121+
122+ #endif // PWGLF_DATAMODEL_LFLNNTABLES_H_
0 commit comments