Skip to content

Commit f452fd3

Browse files
committed
init cascade processing in v0selector
1 parent 1f03fa2 commit f452fd3

File tree

2 files changed

+40
-3
lines changed

2 files changed

+40
-3
lines changed

PWGDQ/DataModel/ReducedInfoTables.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1124,6 +1124,14 @@ DECLARE_SOA_COLUMN(V0AddID, v0addid, int8_t); //!
11241124
DECLARE_SOA_TABLE(V0MapID, "AOD", "V0MAPID", //!
11251125
v0mapID::V0AddID);
11261126

1127+
namespace cascmapId
1128+
{
1129+
DECLARE_SOA_COLUMN(CascAddID, cascaddid, int8_t); //!
1130+
} // namespace cascmapId
1131+
1132+
DECLARE_SOA_TABLE(CascMapID, "AOD", "CASCMAPID", //!
1133+
cascmapID::CascAddID);
1134+
11271135
namespace DalBits
11281136
{
11291137
DECLARE_SOA_COLUMN(DALITZBits, dalitzBits, uint8_t); //!

PWGDQ/Tasks/v0selector.cxx

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,18 +90,21 @@ struct v0selector {
9090
Configurable<float> cutAPL2{"cutAPL2", -0.69, "cutAPL2"};
9191
Configurable<float> cutAPL3{"cutAPL3", 0.5, "cutAPL3"};
9292
Configurable<bool> produceV0ID{"produceV0ID", false, "Produce additional V0ID table"};
93+
Configurable<bool> produceCascID{"produceCascID", false, "Produce additional CascID table"};
9394

9495
enum { // Reconstructed V0
9596
kUndef = -1,
9697
kGamma = 0,
9798
kK0S = 1,
9899
kLambda = 2,
99100
kAntiLambda = 3,
100-
kOmega = 4
101+
kOmega = 4,
102+
kAntiOmega = 5
101103
};
102104

103105
Produces<o2::aod::V0Bits> v0bits;
104106
Produces<o2::aod::V0MapID> v0mapID;
107+
Produces<o2::aod::CascMapID> cascMapID;
105108

106109
// int checkV0(const array<float, 3>& ppos, const array<float, 3>& pneg)
107110
int checkV0(const float alpha, const float qt)
@@ -116,7 +119,7 @@ struct v0selector {
116119

117120
// // K0S cuts
118121
// const float cutQTK0S[2] = {0.1075, 0.215};
119-
// const float cutAPK0S[2] = {0.199, 0.8}; // parameters for curved QT cut
122+
// const float cutAPK0S[2] = {0.199, 0.8}; // parameters for curved QT cut
120123

121124
// // Lambda & A-Lambda cuts
122125
// const float cutQTL = 0.03;
@@ -158,6 +161,12 @@ struct v0selector {
158161
return kUndef;
159162
}
160163

164+
int checkCascade()
165+
{
166+
// to be implemented;
167+
return kOmega;
168+
}
169+
161170
// Configurables
162171
Configurable<float> v0max_mee{"v0max_mee", 0.1, "max mee for photon"};
163172
Configurable<float> maxpsipair{"maxpsipair", 1.6, "max psi_pair for photon"};
@@ -180,6 +189,7 @@ struct v0selector {
180189
{
181190
if (fillhisto) {
182191
registry.add("hV0Candidate", "hV0Candidate", HistType::kTH1F, {{2, 0.5f, 2.5f}});
192+
registry.add("hCascCandidate", "hCascCandidate", HistType::kTH1F, {{2, 0.5f, 2.5f}});
183193
registry.add("hMassGamma", "hMassGamma", HistType::kTH2F, {{900, 0.0f, 90.0f}, {100, 0.0f, 0.1f}});
184194
registry.add("hGammaRxy", "hGammaRxy", HistType::kTH2F, {{1800, -90.0f, 90.0f}, {1800, -90.0f, 90.0f}});
185195
registry.add("hMassK0S", "hMassK0S", HistType::kTH2F, {{900, 0.0f, 90.0f}, {100, 0.45, 0.55}});
@@ -203,7 +213,7 @@ struct v0selector {
203213
}
204214
}
205215

206-
void process(aod::V0Datas const& V0s, FullTracksExt const& tracks, aod::Collisions const&)
216+
void process(aod::V0Datas const& V0s, aod::CascDatas const& Cascs, FullTracksExt const& tracks, aod::Collisions const&)
207217
{
208218
std::vector<uint8_t> pidmap;
209219
pidmap.clear();
@@ -214,6 +224,11 @@ struct v0selector {
214224
if (produceV0ID.value) {
215225
v0pidmap.resize(V0s.size(), -1);
216226
}
227+
std::vector<int8_t> cascpidmap;
228+
cascpidmap.clear();
229+
if (produceCascID.value) {
230+
cascpidmap.resize(V0s.size(), kUndef);
231+
}
217232
for (auto& V0 : V0s) {
218233
// if (!(V0.posTrack_as<FullTracksExt>().trackType() & o2::aod::track::TPCrefit)) {
219234
// continue;
@@ -380,6 +395,20 @@ struct v0selector {
380395
v0mapID(v0pidmap[V0.globalIndex()]);
381396
}
382397
}
398+
for (const auto& Casc : Cascs) {
399+
if (fillhisto) {
400+
registry.fill(HIST("hCascCandidate"), 1);
401+
}
402+
403+
// topological selections
404+
405+
if (fillhisto) {
406+
registry.fill(HIST("hCascCandidate"), 2);
407+
}
408+
409+
const float mOmega = Casc.mOmega();
410+
411+
} // end of Casc loop
383412
for (auto& track : tracks) {
384413
// printf("setting pidmap[%lld] = %d\n",track.globalIndex(),pidmap[track.globalIndex()]);
385414
v0bits(pidmap[track.globalIndex()]);

0 commit comments

Comments
 (0)