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+ // / \brief This task serves to do hadron-resonance correlation studies.
13+ // / The yield will be calculated using the two-particle correlation method.
14+ // / Trigger particle : Hadrons
15+ // / Associated Particles : Phi, K*0
16+ // /
17+ // / \author Hirak Kumar Koley (hirak.koley@cern.ch)
18+
19+ #ifndef PWGLF_DATAMODEL_LFHRESONANCECORRELATIONTABLES_H_
20+ #define PWGLF_DATAMODEL_LFHRESONANCECORRELATIONTABLES_H_
21+
22+ #include < Framework/ASoA.h>
23+ #include < Framework/AnalysisDataModel.h>
24+
25+ // Simple checker
26+ #define bitcheck (var, nbit ) ((var) & (1 << (nbit)))
27+
28+ namespace o2 ::aod
29+ {
30+ // / _________________________________________
31+ // / Table for storing trigger track indices
32+ namespace triggerTracks
33+ {
34+ DECLARE_SOA_INDEX_COLUMN (Collision, collision); // !
35+ DECLARE_SOA_COLUMN (MCPhysicalPrimary, mcPhysicalPrimary, bool ); // true physical primary flag
36+ DECLARE_SOA_INDEX_COLUMN_FULL (Track, track, int , Tracks, " _Trigger" ); // !
37+ DECLARE_SOA_COLUMN (MCOriginalPt, mcOriginalPt, float ); // true generated pt
38+ DECLARE_SOA_COLUMN (IsLeading, isLeading, bool ); // is leading track in the event
39+ } // namespace triggerTracks
40+ DECLARE_SOA_TABLE (TriggerTracks, " AOD" , " TRIGGERTRACKS" , o2::soa::Index<>, triggerTracks::CollisionId, triggerTracks::MCPhysicalPrimary, triggerTracks::TrackId, triggerTracks::MCOriginalPt, triggerTracks::IsLeading);
41+ namespace triggerTrackExtras
42+ {
43+ DECLARE_SOA_COLUMN (Extra, extra, int ); // true physical primary flag
44+ } // namespace triggerTrackExtras
45+ DECLARE_SOA_TABLE (TriggerTrackExtras, " AOD" , " TRIGGERTRACKEXTRAs" , triggerTrackExtras::Extra);
46+
47+ // / _________________________________________
48+ // / Table for storing assoc track indices
49+ namespace assocHadrons
50+ {
51+ DECLARE_SOA_INDEX_COLUMN (Collision, collision); // !
52+ DECLARE_SOA_COLUMN (MCPhysicalPrimary, mcPhysicalPrimary, bool ); // true physical primary flag
53+ DECLARE_SOA_INDEX_COLUMN_FULL (Track, track, int , Tracks, " _Assoc" ); // !
54+ DECLARE_SOA_COLUMN (MCOriginalPt, mcOriginalPt, float ); // true generated pt
55+ DECLARE_SOA_COLUMN (PDGCode, pdgCode, int ); // pdg code of the MC particle
56+ } // namespace assocHadrons
57+ DECLARE_SOA_TABLE (AssocHadrons, " AOD" , " ASSOCHADRONS" , o2::soa::Index<>, assocHadrons::CollisionId, assocHadrons::MCPhysicalPrimary, assocHadrons::TrackId, assocHadrons::MCOriginalPt, assocHadrons::PDGCode);
58+ // / _________________________________________
59+ // / Table for storing assoc track PID
60+ namespace assocPID
61+ {
62+ DECLARE_SOA_COLUMN (NSigmaTPCPi, nSigmaTPCPi, float );
63+ DECLARE_SOA_COLUMN (NSigmaTPCKa, nSigmaTPCKa, float );
64+ DECLARE_SOA_COLUMN (NSigmaTPCPr, nSigmaTPCPr, float );
65+ DECLARE_SOA_COLUMN (NSigmaTPCEl, nSigmaTPCEl, float );
66+ DECLARE_SOA_COLUMN (NSigmaTOFPi, nSigmaTOFPi, float );
67+ DECLARE_SOA_COLUMN (NSigmaTOFKa, nSigmaTOFKa, float );
68+ DECLARE_SOA_COLUMN (NSigmaTOFPr, nSigmaTOFPr, float );
69+ DECLARE_SOA_COLUMN (NSigmaTOFEl, nSigmaTOFEl, float );
70+ } // namespace assocPID
71+ DECLARE_SOA_TABLE (AssocPID, " AOD" , " ASSOCPID" , assocPID::NSigmaTPCPi, assocPID::NSigmaTPCKa, assocPID::NSigmaTPCPr, assocPID::NSigmaTPCEl, assocPID::NSigmaTOFPi, assocPID::NSigmaTOFKa, assocPID::NSigmaTOFPr, assocPID::NSigmaTOFEl);
72+
73+ // / _________________________________________
74+ // / Table for storing associated phi candidate indices
75+ namespace assocPhis
76+ {
77+
78+ DECLARE_SOA_INDEX_COLUMN (Collision, collision); // !
79+
80+ // MC information
81+ DECLARE_SOA_COLUMN (MCTruePhi, mcTruePhi, bool );
82+ DECLARE_SOA_COLUMN (MCPhysicalPrimary, mcPhysicalPrimary, bool );
83+
84+ // Quality variable
85+ DECLARE_SOA_COLUMN (Pt, pt, float );
86+ DECLARE_SOA_COLUMN (Eta, eta, float );
87+ DECLARE_SOA_COLUMN (Phi, phi, float );
88+ DECLARE_SOA_COLUMN (Mass, mass, float );
89+
90+ DECLARE_SOA_INDEX_COLUMN_FULL (PosTrackDaughter, posTrackDaughter, int , Tracks, " _PhiPosDaughter" );
91+ DECLARE_SOA_INDEX_COLUMN_FULL (NegTrackDaughter, negTrackDaughter, int , Tracks, " _PhiNegDaughter" );
92+
93+ } // namespace assocPhis
94+
95+ DECLARE_SOA_TABLE (
96+ AssocPhis,
97+ " AOD" ,
98+ " ASSOCPHIS" ,
99+ o2::soa::Index<>,
100+ assocPhis::CollisionId,
101+ assocPhis::MCTruePhi,
102+ assocPhis::MCPhysicalPrimary,
103+ assocPhis::Pt,
104+ assocPhis::Eta,
105+ assocPhis::Phi,
106+ assocPhis::Mass,
107+ assocPhis::PosTrackDaughterId,
108+ assocPhis::NegTrackDaughterId);
109+
110+ // / _________________________________________
111+ // / Table for storing associated K*0 candidate indices
112+ // / K*0 -> K+ pi- and anti-K*0 -> K- pi+ are stored together (sign-agnostic,
113+ // / same convention as AssocPhis): PosTrackDaughter/NegTrackDaughter identify
114+ // / the positively/negatively charged daughter, irrespective of which one is
115+ // / the kaon and which one is the pion for that candidate.
116+ namespace assocKstars
117+ {
118+
119+ DECLARE_SOA_INDEX_COLUMN (Collision, collision); // !
120+
121+ // MC information
122+ DECLARE_SOA_COLUMN (MCTrueKstar, mcTrueKstar, bool );
123+ DECLARE_SOA_COLUMN (MCPhysicalPrimary, mcPhysicalPrimary, bool );
124+
125+ // Quality variable
126+ DECLARE_SOA_COLUMN (Pt, pt, float );
127+ DECLARE_SOA_COLUMN (Eta, eta, float );
128+ DECLARE_SOA_COLUMN (Phi, phi, float );
129+ DECLARE_SOA_COLUMN (Mass, mass, float );
130+
131+ DECLARE_SOA_INDEX_COLUMN_FULL (PosTrackDaughter, posTrackDaughter, int , Tracks, " _KstarPosDaughter" );
132+ DECLARE_SOA_INDEX_COLUMN_FULL (NegTrackDaughter, negTrackDaughter, int , Tracks, " _KstarNegDaughter" );
133+
134+ } // namespace assocKstars
135+
136+ DECLARE_SOA_TABLE (
137+ AssocKstars,
138+ " AOD" ,
139+ " ASSOCKSTARS" ,
140+ o2::soa::Index<>,
141+ assocKstars::CollisionId,
142+ assocKstars::MCTrueKstar,
143+ assocKstars::MCPhysicalPrimary,
144+ assocKstars::Pt,
145+ assocKstars::Eta,
146+ assocKstars::Phi,
147+ assocKstars::Mass,
148+ assocKstars::PosTrackDaughterId,
149+ assocKstars::NegTrackDaughterId);
150+ } // namespace o2::aod
151+ #endif // PWGLF_DATAMODEL_LFHRESONANCECORRELATIONTABLES_H_
0 commit comments