Skip to content

Commit 997b35d

Browse files
committed
Propagate changes
1 parent bc0ad5d commit 997b35d

9 files changed

Lines changed: 144 additions & 128 deletions

PWGHF/TableProducer/derivedDataCreatorB0ToDPi.cxx

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ struct HfDerivedDataCreatorB0ToDPi {
9494

9595
SliceCache cache;
9696
static constexpr double Mass{o2::constants::physics::MassB0};
97+
static constexpr int NHypothesesCand{1}; // Number of possible selection hypotheses per candidate.
9798

9899
using CollisionsWCentMult = soa::Join<aod::Collisions, aod::CentFV0As, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::PVMultZeqs>;
99100
using CollisionsWMcCentMult = soa::Join<aod::Collisions, aod::McCollisionLabels, aod::CentFV0As, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::PVMultZeqs>;
@@ -249,38 +250,39 @@ struct HfDerivedDataCreatorB0ToDPi {
249250
rowsCommon.matchedCollisions.clear();
250251
}
251252
}
252-
// auto sizeTableColl = collisions.size();
253+
// const auto sizeTableColl = collisions.size();
253254
// rowsCommon.reserveTablesColl(sizeTableColl);
255+
const auto sizeTableCand = candidates.size() * NHypothesesCand;
256+
rowsCommon.reserveTablesCandidates(sizeTableCand);
257+
reserveTable(rowCandidatePar, fillCandidatePar, sizeTableCand);
258+
reserveTable(rowCandidateParDplus, fillCandidateParDplus, sizeTableCand);
259+
reserveTable(rowCandidateParE, fillCandidateParE, sizeTableCand);
260+
reserveTable(rowCandidateSel, fillCandidateSel, sizeTableCand);
261+
reserveTable(rowCandidateMl, fillCandidateMl, sizeTableCand);
262+
reserveTable(rowCandidateMlDplus, fillCandidateMlDplus, sizeTableCand);
263+
reserveTable(rowCandidateId, fillCandidateId, sizeTableCand);
264+
if constexpr (IsMc) {
265+
reserveTable(rowCandidateMc, fillCandidateMc, sizeTableCand);
266+
}
254267
for (const auto& collision : collisions) {
255-
auto thisCollId = collision.globalIndex();
256-
auto candidatesThisColl = candidates->sliceByCached(aod::hf_cand::collisionId, thisCollId, cache); // FIXME
257-
auto sizeTableCand = candidatesThisColl.size();
258-
LOGF(debug, "Rec. collision %d has %d candidates", thisCollId, sizeTableCand);
268+
const auto thisCollId = collision.globalIndex();
269+
const auto candidatesThisColl = candidates->sliceByCached(aod::hf_cand::collisionId, thisCollId, cache); // FIXME
270+
const auto sizeTableCandThisColl = candidatesThisColl.size();
271+
LOGF(debug, "Rec. collision %d has %d candidates", thisCollId, sizeTableCandThisColl);
259272
// Skip collisions without HF candidates (and without HF particles in matched MC collisions if saving indices of reconstructed collisions matched to MC collisions)
260273
bool mcCollisionHasMcParticles{false};
261274
if constexpr (IsMc) {
262275
mcCollisionHasMcParticles = confDerData.fillMcRCollId && collision.has_mcCollision() && rowsCommon.hasMcParticles[collision.mcCollisionId()];
263276
LOGF(debug, "Rec. collision %d has MC collision %d with MC particles? %s", thisCollId, collision.mcCollisionId(), mcCollisionHasMcParticles ? "yes" : "no");
264277
}
265-
if (sizeTableCand == 0 && (!confDerData.fillMcRCollId || !mcCollisionHasMcParticles)) {
278+
if (sizeTableCandThisColl == 0 && (!confDerData.fillMcRCollId || !mcCollisionHasMcParticles)) {
266279
LOGF(debug, "Skipping rec. collision %d", thisCollId);
267280
continue;
268281
}
269282
LOGF(debug, "Filling rec. collision %d at derived index %d", thisCollId, rowsCommon.rowCollBase.lastIndex() + 1);
270283
rowsCommon.fillTablesCollision<IsMc>(collision);
271284

272285
// Fill candidate properties
273-
rowsCommon.reserveTablesCandidates(sizeTableCand);
274-
reserveTable(rowCandidatePar, fillCandidatePar, sizeTableCand);
275-
reserveTable(rowCandidateParDplus, fillCandidateParDplus, sizeTableCand);
276-
reserveTable(rowCandidateParE, fillCandidateParE, sizeTableCand);
277-
reserveTable(rowCandidateSel, fillCandidateSel, sizeTableCand);
278-
reserveTable(rowCandidateMl, fillCandidateMl, sizeTableCand);
279-
reserveTable(rowCandidateMlDplus, fillCandidateMlDplus, sizeTableCand);
280-
reserveTable(rowCandidateId, fillCandidateId, sizeTableCand);
281-
if constexpr (IsMc) {
282-
reserveTable(rowCandidateMc, fillCandidateMc, sizeTableCand);
283-
}
284286
int8_t flagMcRec = 0, origin = 0;
285287
for (const auto& candidate : candidatesThisColl) {
286288
if constexpr (IsMl) {

PWGHF/TableProducer/derivedDataCreatorBplusToD0Pi.cxx

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ struct HfDerivedDataCreatorBplusToD0Pi {
9797

9898
SliceCache cache;
9999
static constexpr double Mass{o2::constants::physics::MassBPlus};
100+
static constexpr int NHypothesesCand{1}; // Number of possible selection hypotheses per candidate.
100101

101102
using CollisionsWCentMult = soa::Join<aod::Collisions, aod::CentFV0As, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::PVMultZeqs>;
102103
using CollisionsWMcCentMult = soa::Join<aod::Collisions, aod::McCollisionLabels, aod::CentFV0As, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::PVMultZeqs>;
@@ -284,39 +285,40 @@ struct HfDerivedDataCreatorBplusToD0Pi {
284285
rowsCommon.matchedCollisions.clear();
285286
}
286287
}
287-
// auto sizeTableColl = collisions.size();
288+
// const auto sizeTableColl = collisions.size();
288289
// rowsCommon.reserveTablesColl(sizeTableColl);
290+
const auto sizeTableCand = candidates.size() * NHypothesesCand;
291+
rowsCommon.reserveTablesCandidates(sizeTableCand);
292+
reserveTable(rowCandidatePar, fillCandidatePar, sizeTableCand);
293+
reserveTable(rowCandidateParD0, fillCandidateParD0, sizeTableCand);
294+
reserveTable(rowCandidateParE, fillCandidateParE, sizeTableCand);
295+
reserveTable(rowCandidateParD0E, fillCandidateParD0E, sizeTableCand);
296+
reserveTable(rowCandidateSel, fillCandidateSel, sizeTableCand);
297+
reserveTable(rowCandidateMl, fillCandidateMl, sizeTableCand);
298+
reserveTable(rowCandidateMlD0, fillCandidateMlD0, sizeTableCand);
299+
reserveTable(rowCandidateId, fillCandidateId, sizeTableCand);
300+
if constexpr (IsMc) {
301+
reserveTable(rowCandidateMc, fillCandidateMc, sizeTableCand);
302+
}
289303
for (const auto& collision : collisions) {
290-
auto thisCollId = collision.globalIndex();
291-
auto candidatesThisColl = candidates->sliceByCached(aod::hf_cand::collisionId, thisCollId, cache); // FIXME
292-
auto sizeTableCand = candidatesThisColl.size();
293-
LOGF(debug, "Rec. collision %d has %d candidates", thisCollId, sizeTableCand);
304+
const auto thisCollId = collision.globalIndex();
305+
const auto candidatesThisColl = candidates->sliceByCached(aod::hf_cand::collisionId, thisCollId, cache); // FIXME
306+
const auto sizeTableCandThisColl = candidatesThisColl.size();
307+
LOGF(debug, "Rec. collision %d has %d candidates", thisCollId, sizeTableCandThisColl);
294308
// Skip collisions without HF candidates (and without HF particles in matched MC collisions if saving indices of reconstructed collisions matched to MC collisions)
295309
bool mcCollisionHasMcParticles{false};
296310
if constexpr (IsMc) {
297311
mcCollisionHasMcParticles = confDerData.fillMcRCollId && collision.has_mcCollision() && rowsCommon.hasMcParticles[collision.mcCollisionId()];
298312
LOGF(debug, "Rec. collision %d has MC collision %d with MC particles? %s", thisCollId, collision.mcCollisionId(), mcCollisionHasMcParticles ? "yes" : "no");
299313
}
300-
if (sizeTableCand == 0 && (!confDerData.fillMcRCollId || !mcCollisionHasMcParticles)) {
314+
if (sizeTableCandThisColl == 0 && (!confDerData.fillMcRCollId || !mcCollisionHasMcParticles)) {
301315
LOGF(debug, "Skipping rec. collision %d", thisCollId);
302316
continue;
303317
}
304318
LOGF(debug, "Filling rec. collision %d at derived index %d", thisCollId, rowsCommon.rowCollBase.lastIndex() + 1);
305319
rowsCommon.fillTablesCollision<IsMc>(collision);
306320

307321
// Fill candidate properties
308-
rowsCommon.reserveTablesCandidates(sizeTableCand);
309-
reserveTable(rowCandidatePar, fillCandidatePar, sizeTableCand);
310-
reserveTable(rowCandidateParD0, fillCandidateParD0, sizeTableCand);
311-
reserveTable(rowCandidateParE, fillCandidateParE, sizeTableCand);
312-
reserveTable(rowCandidateParD0E, fillCandidateParD0E, sizeTableCand);
313-
reserveTable(rowCandidateSel, fillCandidateSel, sizeTableCand);
314-
reserveTable(rowCandidateMl, fillCandidateMl, sizeTableCand);
315-
reserveTable(rowCandidateMlD0, fillCandidateMlD0, sizeTableCand);
316-
reserveTable(rowCandidateId, fillCandidateId, sizeTableCand);
317-
if constexpr (IsMc) {
318-
reserveTable(rowCandidateMc, fillCandidateMc, sizeTableCand);
319-
}
320322
int8_t flagMcRec = 0, origin = 0;
321323
for (const auto& candidate : candidatesThisColl) {
322324
if constexpr (IsMl) {

PWGHF/TableProducer/derivedDataCreatorD0ToKPi.cxx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -265,15 +265,15 @@ struct HfDerivedDataCreatorD0ToKPi {
265265
for (const auto& collision : collisions) {
266266
const auto thisCollId = collision.globalIndex();
267267
const auto candidatesThisColl = candidates->sliceByCached(aod::hf_cand::collisionId, thisCollId, cache); // FIXME
268-
const auto sizeTableCand = candidatesThisColl.size();
269-
LOGF(debug, "Rec. collision %d has %d candidates", thisCollId, sizeTableCand);
268+
const auto sizeTableCandThisColl = candidatesThisColl.size();
269+
LOGF(debug, "Rec. collision %d has %d candidates", thisCollId, sizeTableCandThisColl);
270270
// Skip collisions without HF candidates (and without HF particles in matched MC collisions if saving indices of reconstructed collisions matched to MC collisions)
271271
bool mcCollisionHasMcParticles{false};
272272
if constexpr (IsMc) {
273273
mcCollisionHasMcParticles = confDerData.fillMcRCollId && collision.has_mcCollision() && rowsCommon.hasMcParticles[collision.mcCollisionId()];
274274
LOGF(debug, "Rec. collision %d has MC collision %d with MC particles? %s", thisCollId, collision.mcCollisionId(), mcCollisionHasMcParticles ? "yes" : "no");
275275
}
276-
if (sizeTableCand == 0 && (!confDerData.fillMcRCollId || !mcCollisionHasMcParticles)) {
276+
if (sizeTableCandThisColl == 0 && (!confDerData.fillMcRCollId || !mcCollisionHasMcParticles)) {
277277
LOGF(debug, "Skipping rec. collision %d", thisCollId);
278278
continue;
279279
}

PWGHF/TableProducer/derivedDataCreatorDplusToPiKPi.cxx

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ struct HfDerivedDataCreatorDplusToPiKPi {
9090

9191
SliceCache cache;
9292
static constexpr double Mass{o2::constants::physics::MassDPlus};
93+
static constexpr int NHypothesesCand{1}; // Number of possible selection hypotheses per candidate.
9394

9495
using CollisionsWCentMult = soa::Join<aod::Collisions, aod::CentFV0As, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::PVMultZeqs>;
9596
using CollisionsWMcCentMult = soa::Join<aod::Collisions, aod::McCollisionLabels, aod::CentFV0As, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::PVMultZeqs>;
@@ -246,36 +247,37 @@ struct HfDerivedDataCreatorDplusToPiKPi {
246247
rowsCommon.matchedCollisions.clear();
247248
}
248249
}
249-
// auto sizeTableColl = collisions.size();
250+
// const auto sizeTableColl = collisions.size();
250251
// rowsCommon.reserveTablesColl(sizeTableColl);
252+
const auto sizeTableCand = candidates.size() * NHypothesesCand;
253+
rowsCommon.reserveTablesCandidates(sizeTableCand);
254+
reserveTable(rowCandidatePar, fillCandidatePar, sizeTableCand);
255+
reserveTable(rowCandidateParE, fillCandidateParE, sizeTableCand);
256+
reserveTable(rowCandidateSel, fillCandidateSel, sizeTableCand);
257+
reserveTable(rowCandidateMl, fillCandidateMl, sizeTableCand);
258+
reserveTable(rowCandidateId, fillCandidateId, sizeTableCand);
259+
if constexpr (IsMc) {
260+
reserveTable(rowCandidateMc, fillCandidateMc, sizeTableCand);
261+
}
251262
for (const auto& collision : collisions) {
252-
auto thisCollId = collision.globalIndex();
253-
auto candidatesThisColl = candidates->sliceByCached(aod::hf_cand::collisionId, thisCollId, cache); // FIXME
254-
auto sizeTableCand = candidatesThisColl.size();
255-
LOGF(debug, "Rec. collision %d has %d candidates", thisCollId, sizeTableCand);
263+
const auto thisCollId = collision.globalIndex();
264+
const auto candidatesThisColl = candidates->sliceByCached(aod::hf_cand::collisionId, thisCollId, cache); // FIXME
265+
const auto sizeTableCandThisColl = candidatesThisColl.size();
266+
LOGF(debug, "Rec. collision %d has %d candidates", thisCollId, sizeTableCandThisColl);
256267
// Skip collisions without HF candidates (and without HF particles in matched MC collisions if saving indices of reconstructed collisions matched to MC collisions)
257268
bool mcCollisionHasMcParticles{false};
258269
if constexpr (IsMc) {
259270
mcCollisionHasMcParticles = confDerData.fillMcRCollId && collision.has_mcCollision() && rowsCommon.hasMcParticles[collision.mcCollisionId()];
260271
LOGF(debug, "Rec. collision %d has MC collision %d with MC particles? %s", thisCollId, collision.mcCollisionId(), mcCollisionHasMcParticles ? "yes" : "no");
261272
}
262-
if (sizeTableCand == 0 && (!confDerData.fillMcRCollId || !mcCollisionHasMcParticles)) {
273+
if (sizeTableCandThisColl == 0 && (!confDerData.fillMcRCollId || !mcCollisionHasMcParticles)) {
263274
LOGF(debug, "Skipping rec. collision %d", thisCollId);
264275
continue;
265276
}
266277
LOGF(debug, "Filling rec. collision %d at derived index %d", thisCollId, rowsCommon.rowCollBase.lastIndex() + 1);
267278
rowsCommon.fillTablesCollision<IsMc>(collision);
268279

269280
// Fill candidate properties
270-
rowsCommon.reserveTablesCandidates(sizeTableCand);
271-
reserveTable(rowCandidatePar, fillCandidatePar, sizeTableCand);
272-
reserveTable(rowCandidateParE, fillCandidateParE, sizeTableCand);
273-
reserveTable(rowCandidateSel, fillCandidateSel, sizeTableCand);
274-
reserveTable(rowCandidateMl, fillCandidateMl, sizeTableCand);
275-
reserveTable(rowCandidateId, fillCandidateId, sizeTableCand);
276-
if constexpr (IsMc) {
277-
reserveTable(rowCandidateMc, fillCandidateMc, sizeTableCand);
278-
}
279281
int8_t flagMcRec = 0, origin = 0, swapping = 0, flagDecayChanRec = 0;
280282
for (const auto& candidate : candidatesThisColl) {
281283
if constexpr (IsMl) {

PWGHF/TableProducer/derivedDataCreatorDsToKKPi.cxx

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ struct HfDerivedDataCreatorDsToKKPi {
8888

8989
SliceCache cache;
9090
static constexpr double Mass{o2::constants::physics::MassDS};
91+
static constexpr int NHypothesesCand{1}; // Number of possible selection hypotheses per candidate.
9192

9293
using CollisionsWCentMult = soa::Join<aod::Collisions, aod::CentFV0As, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::PVMultZeqs>;
9394
using CollisionsWMcCentMult = soa::Join<aod::Collisions, aod::McCollisionLabels, aod::CentFV0As, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::PVMultZeqs>;
@@ -229,36 +230,37 @@ struct HfDerivedDataCreatorDsToKKPi {
229230
rowsCommon.matchedCollisions.clear();
230231
}
231232
}
232-
// auto sizeTableColl = collisions.size();
233+
// const auto sizeTableColl = collisions.size();
233234
// rowsCommon.reserveTablesColl(sizeTableColl);
235+
const auto sizeTableCand = candidates.size() * NHypothesesCand;
236+
rowsCommon.reserveTablesCandidates(sizeTableCand);
237+
reserveTable(rowCandidatePar, fillCandidatePar, sizeTableCand);
238+
reserveTable(rowCandidateParE, fillCandidateParE, sizeTableCand);
239+
reserveTable(rowCandidateSel, fillCandidateSel, sizeTableCand);
240+
reserveTable(rowCandidateMl, fillCandidateMl, sizeTableCand);
241+
reserveTable(rowCandidateId, fillCandidateId, sizeTableCand);
242+
if constexpr (IsMc) {
243+
reserveTable(rowCandidateMc, fillCandidateMc, sizeTableCand);
244+
}
234245
for (const auto& collision : collisions) {
235-
auto thisCollId = collision.globalIndex();
236-
auto candidatesThisColl = candidates->sliceByCached(aod::hf_cand::collisionId, thisCollId, cache); // FIXME
237-
auto sizeTableCand = candidatesThisColl.size();
238-
LOGF(debug, "Rec. collision %d has %d candidates", thisCollId, sizeTableCand);
246+
const auto thisCollId = collision.globalIndex();
247+
const auto candidatesThisColl = candidates->sliceByCached(aod::hf_cand::collisionId, thisCollId, cache); // FIXME
248+
const auto sizeTableCandThisColl = candidatesThisColl.size();
249+
LOGF(debug, "Rec. collision %d has %d candidates", thisCollId, sizeTableCandThisColl);
239250
// Skip collisions without HF candidates (and without HF particles in matched MC collisions if saving indices of reconstructed collisions matched to MC collisions)
240251
bool mcCollisionHasMcParticles{false};
241252
if constexpr (IsMc) {
242253
mcCollisionHasMcParticles = confDerData.fillMcRCollId && collision.has_mcCollision() && rowsCommon.hasMcParticles[collision.mcCollisionId()];
243254
LOGF(debug, "Rec. collision %d has MC collision %d with MC particles? %s", thisCollId, collision.mcCollisionId(), mcCollisionHasMcParticles ? "yes" : "no");
244255
}
245-
if (sizeTableCand == 0 && (!confDerData.fillMcRCollId || !mcCollisionHasMcParticles)) {
256+
if (sizeTableCandThisColl == 0 && (!confDerData.fillMcRCollId || !mcCollisionHasMcParticles)) {
246257
LOGF(debug, "Skipping rec. collision %d", thisCollId);
247258
continue;
248259
}
249260
LOGF(debug, "Filling rec. collision %d at derived index %d", thisCollId, rowsCommon.rowCollBase.lastIndex() + 1);
250261
rowsCommon.fillTablesCollision<IsMc>(collision);
251262

252263
// Fill candidate properties
253-
rowsCommon.reserveTablesCandidates(sizeTableCand);
254-
reserveTable(rowCandidatePar, fillCandidatePar, sizeTableCand);
255-
reserveTable(rowCandidateParE, fillCandidateParE, sizeTableCand);
256-
reserveTable(rowCandidateSel, fillCandidateSel, sizeTableCand);
257-
reserveTable(rowCandidateMl, fillCandidateMl, sizeTableCand);
258-
reserveTable(rowCandidateId, fillCandidateId, sizeTableCand);
259-
if constexpr (IsMc) {
260-
reserveTable(rowCandidateMc, fillCandidateMc, sizeTableCand);
261-
}
262264
int8_t flagMcRec = 0, origin = 0, swapping = 0, flagDecayChanRec = 0;
263265
for (const auto& candidate : candidatesThisColl) {
264266
if constexpr (IsMl) {

0 commit comments

Comments
 (0)