Skip to content

Commit 8741b74

Browse files
hkoleyalibuild
andauthored
[PWGLF] Added first commit for h-resonance correlation (#18036)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent 305fb17 commit 8741b74

5 files changed

Lines changed: 4939 additions & 0 deletions

File tree

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

‎PWGLF/TableProducer/Resonances/CMakeLists.txt‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,8 @@ o2physics_add_dpl_workflow(xi1530kaonreducedtable
6969
SOURCES xi1530kaonreducedtable.cxx
7070
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
7171
COMPONENT_NAME Analysis)
72+
73+
o2physics_add_dpl_workflow(hresonancecorrelationfilter
74+
SOURCES hResonanceCorrelationFilter.cxx
75+
PUBLIC_LINK_LIBRARIES O2::DCAFitter O2Physics::AnalysisCore O2Physics::EventFilteringUtils
76+
COMPONENT_NAME Analysis)

0 commit comments

Comments
 (0)