Skip to content

Commit 937f4d9

Browse files
abylinkinalibuild
andauthored
[PWGUD] Update to personal tasks for additional LFs (#8377)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent 90a1ba1 commit 937f4d9

File tree

3 files changed

+102
-22
lines changed

3 files changed

+102
-22
lines changed

PWGUD/DataModel/SGTables.h

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,20 @@ DECLARE_SOA_COLUMN(TOFpi, tofpi, float);
5151
DECLARE_SOA_COLUMN(TOFka, tofka, float);
5252
DECLARE_SOA_COLUMN(TOFpr, tofpr, float);
5353
DECLARE_SOA_COLUMN(TOFel, tofel, float);
54+
DECLARE_SOA_COLUMN(TPCmu, tpcmu, float);
55+
DECLARE_SOA_COLUMN(TOFmu, tofmu, float);
56+
DECLARE_SOA_COLUMN(TPCde, tpcde, float);
57+
DECLARE_SOA_COLUMN(TPCtr, tpctr, float);
58+
DECLARE_SOA_COLUMN(TPChe, tpche, float);
59+
DECLARE_SOA_COLUMN(TPCal, tpcal, float);
60+
DECLARE_SOA_COLUMN(TOFde, tofde, float);
61+
DECLARE_SOA_COLUMN(TOFtr, toftr, float);
62+
DECLARE_SOA_COLUMN(TOFhe, tofhe, float);
63+
DECLARE_SOA_COLUMN(TOFal, tofal, float);
5464
} // namespace sgtrack
5565
DECLARE_SOA_TABLE(SGTracks, "AOD", "SGTRACK",
5666
o2::soa::Index<>, sgtrack::SGEventId,
57-
sgtrack::Pt, sgtrack::Eta, sgtrack::Phi, sgtrack::Sign, sgtrack::TPCpi, sgtrack::TPCka, sgtrack::TPCpr, sgtrack::TPCel, sgtrack::TOFpi, sgtrack::TOFka, sgtrack::TOFpr, sgtrack::TOFel);
67+
sgtrack::Pt, sgtrack::Eta, sgtrack::Phi, sgtrack::Sign, sgtrack::TPCpi, sgtrack::TPCka, sgtrack::TPCpr, sgtrack::TPCel, sgtrack::TOFpi, sgtrack::TOFka, sgtrack::TOFpr, sgtrack::TOFel, sgtrack::TPCmu, sgtrack::TOFmu, sgtrack::TPCde, sgtrack::TPCtr, sgtrack::TPChe, sgtrack::TPCal, sgtrack::TOFde, sgtrack::TOFtr, sgtrack::TOFhe, sgtrack::TOFal);
5868
using SGTrack = SGTracks::iterator;
5969
} // namespace o2::aod
6070

PWGUD/Tasks/sgPIDAnalyzer.cxx

Lines changed: 78 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ struct sgPIDAnalyzer {
4040
"Pt binning"};
4141

4242
ConfigurableAxis sigmaAxis{"sigmaAxis", {100, -50, 50}, "nSigma TPC binning"};
43+
Configurable<float> eta_min{"eta_min", -0.9, "Track Pseudorapidity"};
44+
Configurable<float> eta_max{"eta_max", 0.9, "Track Pseudorapidity"};
4345

4446
void init(InitContext&)
4547
{
@@ -54,6 +56,16 @@ struct sgPIDAnalyzer {
5456
histos.add("TPC/nTPC_Pr", "Negative TPC Pr Tracks", {HistType::kTH2F, {ptBins, nSigmaBins}});
5557
histos.add("TPC/pTPC_El", "Positive TPC El Tracks", {HistType::kTH2F, {ptBins, nSigmaBins}});
5658
histos.add("TPC/nTPC_El", "Negative TPC El Tracks", {HistType::kTH2F, {ptBins, nSigmaBins}});
59+
histos.add("TPC/pTPC_De", "Positive TPC De Tracks", {HistType::kTH2F, {ptBins, nSigmaBins}});
60+
histos.add("TPC/nTPC_De", "Negative TPC De Tracks", {HistType::kTH2F, {ptBins, nSigmaBins}});
61+
histos.add("TPC/pTPC_Tr", "Positive TPC Tr Tracks", {HistType::kTH2F, {ptBins, nSigmaBins}});
62+
histos.add("TPC/nTPC_Tr", "Negative TPC Tr Tracks", {HistType::kTH2F, {ptBins, nSigmaBins}});
63+
histos.add("TPC/pTPC_He", "Positive TPC He Tracks", {HistType::kTH2F, {ptBins, nSigmaBins}});
64+
histos.add("TPC/nTPC_He", "Negative TPC He Tracks", {HistType::kTH2F, {ptBins, nSigmaBins}});
65+
histos.add("TPC/pTPC_Al", "Positive TPC Al Tracks", {HistType::kTH2F, {ptBins, nSigmaBins}});
66+
histos.add("TPC/nTPC_Al", "Negative TPC Al Tracks", {HistType::kTH2F, {ptBins, nSigmaBins}});
67+
histos.add("TPC/pTPC_Mu", "Positive TPC Mu Tracks", {HistType::kTH2F, {ptBins, nSigmaBins}});
68+
histos.add("TPC/nTPC_Mu", "Negative TPC Mu Tracks", {HistType::kTH2F, {ptBins, nSigmaBins}});
5769

5870
histos.add("TPC/pTPC_Pi_Ka", "Positive TPC Pi vs Ka", {HistType::kTH2F, {ptBins, nSigmaBins}});
5971
histos.add("TPC/pTPC_Pi_Pr", "Positive TPC Pi vs Pr", {HistType::kTH2F, {ptBins, nSigmaBins}});
@@ -64,6 +76,9 @@ struct sgPIDAnalyzer {
6476
histos.add("TPC/pTPC_Pr_Pi", "Positive TPC Pr vs Pi", {HistType::kTH2F, {ptBins, nSigmaBins}});
6577
histos.add("TPC/pTPC_Pr_Ka", "Positive TPC Pr vs Ka", {HistType::kTH2F, {ptBins, nSigmaBins}});
6678
histos.add("TPC/pTPC_Pr_El", "Positive TPC Pr vs El", {HistType::kTH2F, {ptBins, nSigmaBins}});
79+
histos.add("TPC/pTPC_El_Pi", "Positive TPC Pr vs Pi", {HistType::kTH2F, {ptBins, nSigmaBins}});
80+
histos.add("TPC/pTPC_El_Ka", "Positive TPC Pr vs Ka", {HistType::kTH2F, {ptBins, nSigmaBins}});
81+
histos.add("TPC/pTPC_El_Pr", "Positive TPC Pr vs El", {HistType::kTH2F, {ptBins, nSigmaBins}});
6782

6883
histos.add("TPC/nTPC_Pi_Ka", "Positive TPC Pi vs Ka", {HistType::kTH2F, {ptBins, nSigmaBins}});
6984
histos.add("TPC/nTPC_Pi_Pr", "Positive TPC Pi vs Pr", {HistType::kTH2F, {ptBins, nSigmaBins}});
@@ -74,6 +89,9 @@ struct sgPIDAnalyzer {
7489
histos.add("TPC/nTPC_Pr_Pi", "Positive TPC Pr vs Pi", {HistType::kTH2F, {ptBins, nSigmaBins}});
7590
histos.add("TPC/nTPC_Pr_Ka", "Positive TPC Pr vs Ka", {HistType::kTH2F, {ptBins, nSigmaBins}});
7691
histos.add("TPC/nTPC_Pr_El", "Positive TPC Pr vs El", {HistType::kTH2F, {ptBins, nSigmaBins}});
92+
histos.add("TPC/nTPC_El_Pi", "Positive TPC Pr vs Pi", {HistType::kTH2F, {ptBins, nSigmaBins}});
93+
histos.add("TPC/nTPC_El_Ka", "Positive TPC Pr vs Ka", {HistType::kTH2F, {ptBins, nSigmaBins}});
94+
histos.add("TPC/nTPC_El_Pr", "Positive TPC Pr vs El", {HistType::kTH2F, {ptBins, nSigmaBins}});
7795

7896
histos.add("TOF/pPi", "Positive TPC Pi vs TOF Pi vs pt", {HistType::kTH3F, {ptBins, nSigmaBins, nSigmaBins}});
7997
histos.add("TOF/nPi", "Negative TPC Pi vs TOF Pi vs pt", {HistType::kTH3F, {ptBins, nSigmaBins, nSigmaBins}});
@@ -83,11 +101,23 @@ struct sgPIDAnalyzer {
83101
histos.add("TOF/nPr", "Negative TPC Pr vs TOF Pr vs pt", {HistType::kTH3F, {ptBins, nSigmaBins, nSigmaBins}});
84102
histos.add("TOF/pEl", "Positive TPC El vs TOF El vs pt", {HistType::kTH3F, {ptBins, nSigmaBins, nSigmaBins}});
85103
histos.add("TOF/nEl", "Negative TPC El vs TOF El vs pt", {HistType::kTH3F, {ptBins, nSigmaBins, nSigmaBins}});
104+
histos.add("TOF/pDe", "Positive TPC De vs TOF Pi vs pt", {HistType::kTH3F, {ptBins, nSigmaBins, nSigmaBins}});
105+
histos.add("TOF/nDe", "Negative TPC De vs TOF Pi vs pt", {HistType::kTH3F, {ptBins, nSigmaBins, nSigmaBins}});
106+
histos.add("TOF/pTr", "Positive TPC Tr vs TOF Ka vs pt", {HistType::kTH3F, {ptBins, nSigmaBins, nSigmaBins}});
107+
histos.add("TOF/nTr", "Negative TPC Tr vs TOF Ka vs pt", {HistType::kTH3F, {ptBins, nSigmaBins, nSigmaBins}});
108+
histos.add("TOF/pHe", "Positive TPC He vs TOF Pr vs pt", {HistType::kTH3F, {ptBins, nSigmaBins, nSigmaBins}});
109+
histos.add("TOF/nHe", "Negative TPC He vs TOF Pr vs pt", {HistType::kTH3F, {ptBins, nSigmaBins, nSigmaBins}});
110+
histos.add("TOF/pAl", "Positive TPC Al vs TOF El vs pt", {HistType::kTH3F, {ptBins, nSigmaBins, nSigmaBins}});
111+
histos.add("TOF/nAl", "Negative TPC Al vs TOF El vs pt", {HistType::kTH3F, {ptBins, nSigmaBins, nSigmaBins}});
112+
histos.add("TOF/pMu", "Positive TPC Mu vs TOF El vs pt", {HistType::kTH3F, {ptBins, nSigmaBins, nSigmaBins}});
113+
histos.add("TOF/nMu", "Negative TPC Mu vs TOF El vs pt", {HistType::kTH3F, {ptBins, nSigmaBins, nSigmaBins}});
86114
}
87115

88116
void process(aod::SGEvents const& events, aod::SGTracks const& tracks)
89117
{
90118
for (const auto& track : tracks) {
119+
if (track.eta() < eta_min || track.eta() > eta_max)
120+
continue;
91121
bool isPositive = (track.sign() > 0);
92122
if (track.tofpi() == -999) {
93123
// Directly fill histograms without a local variable for histName
@@ -96,40 +126,60 @@ struct sgPIDAnalyzer {
96126
histos.fill(HIST("TPC/pTPC_Ka"), track.pt(), track.tpcka());
97127
histos.fill(HIST("TPC/pTPC_Pr"), track.pt(), track.tpcpr());
98128
histos.fill(HIST("TPC/pTPC_El"), track.pt(), track.tpcel());
129+
histos.fill(HIST("TPC/pTPC_De"), track.pt(), track.tpcde());
130+
histos.fill(HIST("TPC/pTPC_Tr"), track.pt(), track.tpctr());
131+
histos.fill(HIST("TPC/pTPC_He"), track.pt(), track.tpche());
132+
histos.fill(HIST("TPC/pTPC_Al"), track.pt(), track.tpcal());
133+
histos.fill(HIST("TPC/pTPC_Mu"), track.pt(), track.tpcmu());
99134
if (std::abs(track.tpcpi()) < 1) {
100-
histos.fill(HIST("TPC/pTPC_Pi_Ka"), track.pt(), track.tpcka());
101-
histos.fill(HIST("TPC/pTPC_Pi_Pr"), track.pt(), track.tpcpr());
102-
histos.fill(HIST("TPC/pTPC_Pi_El"), track.pt(), track.tpcel());
135+
histos.fill(HIST("TPC/pTPC_Ka_Pi"), track.pt(), track.tpcka());
136+
histos.fill(HIST("TPC/pTPC_Pr_Pi"), track.pt(), track.tpcpr());
137+
histos.fill(HIST("TPC/pTPC_El_Pi"), track.pt(), track.tpcel());
103138
}
104139
if (std::abs(track.tpcka()) < 1) {
105-
histos.fill(HIST("TPC/pTPC_Ka_Pi"), track.pt(), track.tpcpi());
106-
histos.fill(HIST("TPC/pTPC_Ka_Pr"), track.pt(), track.tpcpr());
107-
histos.fill(HIST("TPC/pTPC_Ka_El"), track.pt(), track.tpcel());
140+
histos.fill(HIST("TPC/pTPC_Pi_Ka"), track.pt(), track.tpcpi());
141+
histos.fill(HIST("TPC/pTPC_Pr_Ka"), track.pt(), track.tpcpr());
142+
histos.fill(HIST("TPC/pTPC_El_Ka"), track.pt(), track.tpcel());
108143
}
109144
if (std::abs(track.tpcpr()) < 1) {
110-
histos.fill(HIST("TPC/pTPC_Pr_Pi"), track.pt(), track.tpcpi());
111-
histos.fill(HIST("TPC/pTPC_Pr_Ka"), track.pt(), track.tpcka());
112-
histos.fill(HIST("TPC/pTPC_Pr_El"), track.pt(), track.tpcel());
145+
histos.fill(HIST("TPC/pTPC_Pi_Pr"), track.pt(), track.tpcpi());
146+
histos.fill(HIST("TPC/pTPC_Ka_Pr"), track.pt(), track.tpcka());
147+
histos.fill(HIST("TPC/pTPC_El_Pr"), track.pt(), track.tpcel());
148+
}
149+
if (std::abs(track.tpcel()) < 1) {
150+
histos.fill(HIST("TPC/pTPC_Pi_El"), track.pt(), track.tpcpi());
151+
histos.fill(HIST("TPC/pTPC_Ka_El"), track.pt(), track.tpcka());
152+
histos.fill(HIST("TPC/pTPC_Pr_El"), track.pt(), track.tpcpr());
113153
}
114154
} else {
115155
histos.fill(HIST("TPC/nTPC_Pi"), track.pt(), track.tpcpi());
116156
histos.fill(HIST("TPC/nTPC_Ka"), track.pt(), track.tpcka());
117157
histos.fill(HIST("TPC/nTPC_Pr"), track.pt(), track.tpcpr());
118158
histos.fill(HIST("TPC/nTPC_El"), track.pt(), track.tpcel());
159+
histos.fill(HIST("TPC/nTPC_De"), track.pt(), track.tpcde());
160+
histos.fill(HIST("TPC/nTPC_Tr"), track.pt(), track.tpctr());
161+
histos.fill(HIST("TPC/nTPC_He"), track.pt(), track.tpche());
162+
histos.fill(HIST("TPC/nTPC_Al"), track.pt(), track.tpcal());
163+
histos.fill(HIST("TPC/nTPC_Mu"), track.pt(), track.tpcmu());
119164
if (std::abs(track.tpcpi()) < 1) {
120-
histos.fill(HIST("TPC/nTPC_Pi_Ka"), track.pt(), track.tpcka());
121-
histos.fill(HIST("TPC/nTPC_Pi_Pr"), track.pt(), track.tpcpr());
122-
histos.fill(HIST("TPC/nTPC_Pi_El"), track.pt(), track.tpcel());
165+
histos.fill(HIST("TPC/nTPC_Ka_Pi"), track.pt(), track.tpcka());
166+
histos.fill(HIST("TPC/nTPC_Pr_Pi"), track.pt(), track.tpcpr());
167+
histos.fill(HIST("TPC/nTPC_El_Pi"), track.pt(), track.tpcel());
123168
}
124169
if (std::abs(track.tpcka()) < 1) {
125-
histos.fill(HIST("TPC/nTPC_Ka_Pi"), track.pt(), track.tpcpi());
126-
histos.fill(HIST("TPC/nTPC_Ka_Pr"), track.pt(), track.tpcpr());
127-
histos.fill(HIST("TPC/nTPC_Ka_El"), track.pt(), track.tpcel());
170+
histos.fill(HIST("TPC/nTPC_Pi_Ka"), track.pt(), track.tpcpi());
171+
histos.fill(HIST("TPC/nTPC_Pr_Ka"), track.pt(), track.tpcpr());
172+
histos.fill(HIST("TPC/nTPC_El_Ka"), track.pt(), track.tpcel());
128173
}
129174
if (std::abs(track.tpcpr()) < 1) {
130-
histos.fill(HIST("TPC/nTPC_Pr_Pi"), track.pt(), track.tpcpi());
131-
histos.fill(HIST("TPC/nTPC_Pr_Ka"), track.pt(), track.tpcka());
132-
histos.fill(HIST("TPC/nTPC_Pr_El"), track.pt(), track.tpcel());
175+
histos.fill(HIST("TPC/nTPC_Pi_Pr"), track.pt(), track.tpcpi());
176+
histos.fill(HIST("TPC/nTPC_Ka_Pr"), track.pt(), track.tpcka());
177+
histos.fill(HIST("TPC/nTPC_El_Pr"), track.pt(), track.tpcel());
178+
}
179+
if (std::abs(track.tpcel()) < 1) {
180+
histos.fill(HIST("TPC/nTPC_Pi_El"), track.pt(), track.tpcpi());
181+
histos.fill(HIST("TPC/nTPC_Ka_El"), track.pt(), track.tpcka());
182+
histos.fill(HIST("TPC/nTPC_Pr_El"), track.pt(), track.tpcpr());
133183
}
134184
}
135185
} else {
@@ -138,11 +188,21 @@ struct sgPIDAnalyzer {
138188
histos.fill(HIST("TOF/pKa"), track.pt(), track.tpcka(), track.tofka());
139189
histos.fill(HIST("TOF/pPr"), track.pt(), track.tpcpr(), track.tofpr());
140190
histos.fill(HIST("TOF/pEl"), track.pt(), track.tpcel(), track.tofel());
191+
histos.fill(HIST("TOF/pDe"), track.pt(), track.tpcpi(), track.tofde());
192+
histos.fill(HIST("TOF/pTr"), track.pt(), track.tpcka(), track.toftr());
193+
histos.fill(HIST("TOF/pHe"), track.pt(), track.tpcpr(), track.tofhe());
194+
histos.fill(HIST("TOF/pAl"), track.pt(), track.tpcel(), track.tofal());
195+
histos.fill(HIST("TOF/pMu"), track.pt(), track.tpcel(), track.tofmu());
141196
} else {
142197
histos.fill(HIST("TOF/nPi"), track.pt(), track.tpcpi(), track.tofpi());
143198
histos.fill(HIST("TOF/nKa"), track.pt(), track.tpcka(), track.tofka());
144199
histos.fill(HIST("TOF/nPr"), track.pt(), track.tpcpr(), track.tofpr());
145200
histos.fill(HIST("TOF/nEl"), track.pt(), track.tpcel(), track.tofel());
201+
histos.fill(HIST("TOF/nDe"), track.pt(), track.tpcpi(), track.tofde());
202+
histos.fill(HIST("TOF/nTr"), track.pt(), track.tpcka(), track.toftr());
203+
histos.fill(HIST("TOF/nHe"), track.pt(), track.tpcpr(), track.tofhe());
204+
histos.fill(HIST("TOF/nAl"), track.pt(), track.tpcel(), track.tofal());
205+
histos.fill(HIST("TOF/nMu"), track.pt(), track.tpcel(), track.tofmu());
146206
}
147207
}
148208
}

PWGUD/Tasks/sgPIDSpectraTable.cxx

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
// \author Sasha Bylinkin, alexander.bylinkin@gmail.com
1414
// \since April 2023
1515
#include <vector>
16-
1716
#include "Framework/runDataProcessing.h"
1817
#include "Framework/AnalysisTask.h"
1918

@@ -66,7 +65,7 @@ struct SGPIDSpectraTable {
6665
// define data types
6766
using UDCollisionsFull = soa::Join<aod::UDCollisions, aod::SGCollisions, aod::UDCollisionsSels, aod::UDZdcsReduced>; // UDCollisions
6867
using UDCollisionFull = UDCollisionsFull::iterator;
69-
using UDTracksFull = soa::Join<aod::UDTracks, aod::UDTracksPID, aod::UDTracksExtra, aod::UDTracksFlags, aod::UDTracksDCA>;
68+
using UDTracksFull = soa::Join<aod::UDTracks, aod::UDTracksPID, aod::UDTracksPIDExtra, aod::UDTracksExtra, aod::UDTracksFlags, aod::UDTracksDCA>;
7069

7170
void process(UDCollisionFull const& coll, UDTracksFull const& tracks)
7271
{
@@ -82,6 +81,7 @@ struct SGPIDSpectraTable {
8281
std::vector<float> parameters = {PV_cut, dcaZ_cut, dcaXY_cut, tpcChi2_cut, tpcNClsFindable_cut, itsChi2_cut, eta_cut, pt_cut};
8382
// check rho0 signals
8483
float tpcpi, tpcka, tpcel, tpcpr, tofpi, tofka, tofpr, tofel;
84+
float tpcde, tpctr, tpche, tpcal, tofde, toftr, tofhe, tofal, tpcmu, tofmu;
8585
TVector3 a;
8686
int goodtracks = 0;
8787
for (auto t : tracks) {
@@ -97,14 +97,24 @@ struct SGPIDSpectraTable {
9797
if (trackselector(t, parameters)) {
9898
a.SetXYZ(t.px(), t.py(), t.pz());
9999
tpcpi = t.hasTPC() ? t.tpcNSigmaPi() : -999;
100+
tpcmu = t.hasTPC() ? t.tpcNSigmaMu() : -999;
100101
tpcka = t.hasTPC() ? t.tpcNSigmaKa() : -999;
101102
tpcpr = t.hasTPC() ? t.tpcNSigmaPr() : -999;
102103
tpcel = t.hasTPC() ? t.tpcNSigmaEl() : -999;
103104
tofpi = t.hasTOF() ? t.tofNSigmaPi() : -999;
105+
tofmu = t.hasTOF() ? t.tofNSigmaMu() : -999;
104106
tofka = t.hasTOF() ? t.tofNSigmaKa() : -999;
105107
tofpr = t.hasTOF() ? t.tofNSigmaPr() : -999;
106108
tofel = t.hasTOF() ? t.tofNSigmaEl() : -999;
107-
SGtracks(SGevents.lastIndex(), a.Pt(), a.Eta(), a.Phi(), t.sign(), tpcpi, tpcka, tpcpr, tpcel, tofpi, tofka, tofpr, tofel);
109+
tpcde = t.hasTPC() ? t.tpcNSigmaDe() : -999;
110+
tpctr = t.hasTPC() ? t.tpcNSigmaTr() : -999;
111+
tpche = t.hasTPC() ? t.tpcNSigmaHe() : -999;
112+
tpcal = t.hasTPC() ? t.tpcNSigmaAl() : -999;
113+
tofde = t.hasTOF() ? t.tofNSigmaDe() : -999;
114+
toftr = t.hasTOF() ? t.tofNSigmaTr() : -999;
115+
tofhe = t.hasTOF() ? t.tofNSigmaHe() : -999;
116+
tofal = t.hasTOF() ? t.tofNSigmaAl() : -999;
117+
SGtracks(SGevents.lastIndex(), a.Pt(), a.Eta(), a.Phi(), t.sign(), tpcpi, tpcka, tpcpr, tpcel, tofpi, tofka, tofpr, tofel, tpcmu, tofmu, tpcde, tpctr, tpche, tpcal, tofde, toftr, tofhe, tofal);
108118
}
109119
}
110120
}

0 commit comments

Comments
 (0)