Skip to content

Commit d35c290

Browse files
authored
Add lnn task (#5784)
1 parent 6548657 commit d35c290

File tree

3 files changed

+750
-0
lines changed

3 files changed

+750
-0
lines changed

PWGLF/DataModel/LFLnnTables.h

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
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_

PWGLF/TableProducer/Nuspex/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ o2physics_add_dpl_workflow(hypertriton-reco-task
2929
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2::DCAFitter
3030
COMPONENT_NAME Analysis)
3131

32+
o2physics_add_dpl_workflow(lnn-reco-task
33+
SOURCES lnnRecoTask.cxx
34+
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2::DCAFitter
35+
COMPONENT_NAME Analysis)
36+
3237
o2physics_add_dpl_workflow(hypertriton3bodyfinder
3338
SOURCES hypertriton3bodyfinder.cxx
3439
PUBLIC_LINK_LIBRARIES O2::DCAFitter O2Physics::AnalysisCore

0 commit comments

Comments
 (0)