Skip to content

Commit 1c9a314

Browse files
mhartung71alibuild
andauthored
[PWGLF] Fix unbound indices in KF hypernuclei code (AliceO2Group#8803)
Co-authored-by: ALICE Action Bot <[email protected]>
1 parent fdf97f7 commit 1c9a314

File tree

3 files changed

+40
-40
lines changed

3 files changed

+40
-40
lines changed

PWGLF/DataModel/LFHypernucleiKfTables.h

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,17 @@ namespace hykfmcColl
2424
{
2525
DECLARE_SOA_COLUMN(PassedEvSel, passedEvSel, bool); //!
2626
}
27-
DECLARE_SOA_TABLE(HypKfMcCollisions, "AOD", "HYPKFMCCOLL",
27+
DECLARE_SOA_TABLE(HypKfMcColls, "AOD", "HYPKFMCCOLL",
2828
o2::soa::Index<>,
2929
hykfmcColl::PassedEvSel,
3030
mccollision::PosX,
3131
mccollision::PosY,
3232
mccollision::PosZ);
33-
using HypKfMcCollision = HypKfMcCollisions::iterator;
33+
using HypKfMcColl = HypKfMcColls::iterator;
3434

3535
namespace hykfmc
3636
{
37-
DECLARE_SOA_INDEX_COLUMN(HypKfMcCollision, hypKfMcCollision);
37+
DECLARE_SOA_INDEX_COLUMN(HypKfMcColl, hypKfMcColl);
3838
DECLARE_SOA_COLUMN(Species, species, int8_t); //!
3939
DECLARE_SOA_COLUMN(IsPhysicalPrimary, isPhysicalPrimary, bool); //!
4040
DECLARE_SOA_COLUMN(Svx, svx, float); //!
@@ -46,9 +46,9 @@ DECLARE_SOA_DYNAMIC_COLUMN(Mass, mass, [](float E, float px, float py, float pz)
4646
DECLARE_SOA_DYNAMIC_COLUMN(IsMatter, isMatter, [](int pdgCode) { return pdgCode > 0; });
4747
} // namespace hykfmc
4848

49-
DECLARE_SOA_TABLE(HypKfMcParticles, "AOD", "HYPKFMCPART",
49+
DECLARE_SOA_TABLE(HypKfMcParts, "AOD", "HYPKFMCPART",
5050
o2::soa::Index<>,
51-
hykfmc::HypKfMcCollisionId,
51+
hykfmc::HypKfMcCollId,
5252
hykfmc::Species,
5353
mcparticle::PdgCode,
5454
hykfmc::IsPhysicalPrimary,
@@ -63,23 +63,23 @@ DECLARE_SOA_TABLE(HypKfMcParticles, "AOD", "HYPKFMCPART",
6363
hykfmc::Y<mcparticle::E, mcparticle::Pz>,
6464
hykfmc::Mass<mcparticle::E, mcparticle::Px, mcparticle::Py, mcparticle::Pz>,
6565
hykfmc::IsMatter<mcparticle::PdgCode>);
66-
using HypKfMcParticle = HypKfMcParticles::iterator;
66+
using HypKfMcPart = HypKfMcParts::iterator;
6767

68-
DECLARE_SOA_TABLE(HypKfCollisions, "AOD", "HYPKFCOLL",
68+
DECLARE_SOA_TABLE(HypKfColls, "AOD", "HYPKFCOLL",
6969
o2::soa::Index<>,
7070
hykfmcColl::PassedEvSel,
71-
hykfmc::HypKfMcCollisionId,
71+
hykfmc::HypKfMcCollId,
7272
collision::PosX,
7373
collision::PosY,
7474
collision::PosZ,
7575
cent::CentFT0A,
7676
cent::CentFT0C,
7777
cent::CentFT0M);
78-
using HypKfCollision = HypKfCollisions::iterator;
78+
using HypKfColl = HypKfColls::iterator;
7979

8080
namespace hykftrk
8181
{
82-
DECLARE_SOA_INDEX_COLUMN(HypKfCollision, hypKfCollision);
82+
DECLARE_SOA_INDEX_COLUMN(HypKfColl, hypKfColl);
8383
DECLARE_SOA_COLUMN(Rigidity, rigidity, float); //!
8484
DECLARE_SOA_COLUMN(TPCnCluster, tpcNcluster, float); //!
8585
DECLARE_SOA_COLUMN(TPCnSigma, tpcNsigma, float); //!
@@ -149,29 +149,29 @@ DECLARE_SOA_TABLE(HypKfTracks, "AOD", "HYPKFTRACK",
149149
hykftrk::ITSmeanClsSize<track::ITSClusterSizes>);
150150
using HypKfTrack = HypKfTracks::iterator;
151151

152-
DECLARE_SOA_TABLE(HypKfSubDaughters, "AOD", "HYPKFSUBD",
152+
DECLARE_SOA_TABLE(HypKfSubDs, "AOD", "HYPKFSUBD",
153153
o2::soa::Index<>,
154154
hykftrk::SubMass);
155-
using HypKfSubDaughter = HypKfSubDaughters::iterator;
155+
using HypKfSubD = HypKfSubDs::iterator;
156156

157-
DECLARE_SOA_TABLE(HypKfDaughterAddons, "AOD", "HYPKFDADD",
157+
DECLARE_SOA_TABLE(HypKfDaughtAdds, "AOD", "HYPKFDAUGHTADD",
158158
o2::soa::Index<>,
159159
track::X,
160160
track::Y,
161161
track::Z,
162162
mcparticle::Px,
163163
mcparticle::Py,
164164
mcparticle::Pz);
165-
using HypKfDaughterAddon = HypKfDaughterAddons::iterator;
165+
using HypKfDaughtAdd = HypKfDaughtAdds::iterator;
166166

167167
namespace hykfhyp
168168
{
169-
DECLARE_SOA_INDEX_COLUMN(HypKfCollision, hypKfCollision);
170-
DECLARE_SOA_INDEX_COLUMN(HypKfMcParticle, hypKfMcParticle);
171-
DECLARE_SOA_ARRAY_INDEX_COLUMN(HypKfDaughterAddon, addons);
169+
DECLARE_SOA_INDEX_COLUMN(HypKfColl, hypKfColl);
170+
DECLARE_SOA_INDEX_COLUMN(HypKfMcPart, hypKfMcPart);
171+
DECLARE_SOA_ARRAY_INDEX_COLUMN(HypKfDaughtAdd, addons);
172172
DECLARE_SOA_ARRAY_INDEX_COLUMN(HypKfTrack, daughterTracks);
173-
DECLARE_SOA_SELF_INDEX_COLUMN(HypDaughter, hypDaughter);
174-
DECLARE_SOA_ARRAY_INDEX_COLUMN(HypKfSubDaughter, subDaughters);
173+
DECLARE_SOA_SELF_INDEX_COLUMN_FULL(HypDaughter, hypDaughter, int, "HypKfHypNucs");
174+
DECLARE_SOA_ARRAY_INDEX_COLUMN(HypKfSubD, subDaughters);
175175
DECLARE_SOA_COLUMN(Primary, primary, bool); //!
176176
DECLARE_SOA_COLUMN(Mass, mass, float); //!
177177
DECLARE_SOA_COLUMN(Px, px, float); //!
@@ -188,19 +188,19 @@ DECLARE_SOA_DYNAMIC_COLUMN(Eta, eta, [](float px, float py, float pz) { return R
188188
DECLARE_SOA_DYNAMIC_COLUMN(Phi, phi, [](float px, float py) { return RecoDecay::phi(std::array{px, py}); });
189189
DECLARE_SOA_DYNAMIC_COLUMN(P, p, [](float px, float py, float pz) { return RecoDecay::p(px, py, pz); }); //
190190
DECLARE_SOA_DYNAMIC_COLUMN(Y, y, [](float px, float py, float pz, float mass) { return RecoDecay::y(std::array{px, py, pz}, mass); });
191-
DECLARE_SOA_DYNAMIC_COLUMN(McTrue, mcTrue, [](int hypKfMcParticleId) { return hypKfMcParticleId > 0; });
191+
DECLARE_SOA_DYNAMIC_COLUMN(McTrue, mcTrue, [](int hypKfMcPartId) { return hypKfMcPartId > 0; });
192192
DECLARE_SOA_DYNAMIC_COLUMN(IsMatter, isMatter, [](int8_t species) { return species > 0; });
193193
DECLARE_SOA_DYNAMIC_COLUMN(Cascade, cascade, [](int hypDaughter) { return hypDaughter > 0; });
194194
} // namespace hykfhyp
195195

196196
DECLARE_SOA_TABLE(HypKfHypNucs, "AOD", "HYPKFHYPNUC",
197197
o2::soa::Index<>,
198-
hykfhyp::HypKfMcParticleId,
199-
hykfhyp::HypKfCollisionId,
198+
hykfhyp::HypKfMcPartId,
199+
hykfhyp::HypKfCollId,
200200
hykfhyp::HypKfTrackIds,
201-
hykfhyp::HypKfDaughterAddonIds,
201+
hykfhyp::HypKfDaughtAddIds,
202202
hykfhyp::HypDaughterId,
203-
hykfhyp::HypKfSubDaughterIds,
203+
hykfhyp::HypKfSubDIds,
204204
hykfmc::Species,
205205
hykfhyp::Primary,
206206
hykfhyp::Mass,
@@ -221,7 +221,7 @@ DECLARE_SOA_TABLE(HypKfHypNucs, "AOD", "HYPKFHYPNUC",
221221
hykfhyp::Eta<hykfhyp::Px, hykfhyp::Py, hykfhyp::Pz>,
222222
hykfhyp::Phi<hykfhyp::Px, hykfhyp::Py>,
223223
hykfhyp::P<hykfhyp::Px, hykfhyp::Py, hykfhyp::Pz>,
224-
hykfhyp::McTrue<hykfhyp::HypKfMcParticleId>,
224+
hykfhyp::McTrue<hykfhyp::HypKfMcPartId>,
225225
hykfhyp::IsMatter<hykfmc::Species>,
226226
hykfhyp::Cascade<hykfhyp::HypDaughterId>);
227227
using HypKfHypNuc = HypKfHypNucs::iterator;

PWGLF/TableProducer/Nuspex/hypKfRecoTask.cxx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -405,12 +405,12 @@ std::vector<std::shared_ptr<TH1>> hInvMass;
405405
//----------------------------------------------------------------------------------------------------------------
406406
struct hypKfRecoTask {
407407

408-
Produces<aod::HypKfMcCollisions> outputMcCollisionTable;
409-
Produces<aod::HypKfMcParticles> outputMcParticleTable;
410-
Produces<aod::HypKfCollisions> outputCollisionTable;
408+
Produces<aod::HypKfMcColls> outputMcCollisionTable;
409+
Produces<aod::HypKfMcParts> outputMcParticleTable;
410+
Produces<aod::HypKfColls> outputCollisionTable;
411411
Produces<aod::HypKfTracks> outputTrackTable;
412-
Produces<aod::HypKfDaughterAddons> outputDaughterAddonTable;
413-
Produces<aod::HypKfSubDaughters> outputSubDaughterTable;
412+
Produces<aod::HypKfDaughtAdds> outputDaughterAddonTable;
413+
Produces<aod::HypKfSubDs> outputSubDaughterTable;
414414
Produces<aod::HypKfHypNucs> outputHypNucTable;
415415

416416
Preslice<aod::TrackAssoc> perCollision = aod::track_association::collisionId;

PWGLF/TableProducer/Nuspex/hypKfTreeCreator.cxx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ struct hypKfTreeCreator {
329329
Produces<aod::HypKfMcCascadeTwoThreeCandidates> outputTableMcTwoThree;
330330
Produces<aod::HypKfCascadeThreeTwoCandidates> outputTableThreeTwo;
331331
Produces<aod::HypKfMcCascadeThreeTwoCandidates> outputTableMcThreeTwo;
332-
PresliceUnsorted<aod::HypKfHypNucs> perMcParticle = aod::hykfhyp::hypKfMcParticleId;
332+
PresliceUnsorted<aod::HypKfHypNucs> perMcParticle = aod::hykfhyp::hypKfMcPartId;
333333

334334
Configurable<int> cfgSpecies{"cfgSpecies", 0, "Select species"};
335335
Configurable<int> cfgNprimDaughters{"cfgNprimDaughters", 0, "Number of primary daughters"};
@@ -354,7 +354,7 @@ struct hypKfTreeCreator {
354354
}
355355
//___________________________________________________________________________________________________________________________________________________________
356356

357-
void processData(aod::HypKfHypNucs const& hypNucs, aod::HypKfCollisions const& hypKfColls, aod::HypKfTracks const& hypKfTrks, aod::HypKfDaughterAddons const& hypKfDAdd, aod::HypKfSubDaughters const& hypKfDSub)
357+
void processData(aod::HypKfHypNucs const& hypNucs, aod::HypKfColls const& hypKfColls, aod::HypKfTracks const& hypKfTrks, aod::HypKfDaughtAdds const& hypKfDAdd, aod::HypKfSubDs const& hypKfDSub)
358358
{
359359
for (auto& hypNuc : hypNucs) {
360360
if (std::abs(hypNuc.species()) != cfgSpecies)
@@ -514,12 +514,12 @@ struct hypKfTreeCreator {
514514
}
515515
//___________________________________________________________________________________________________________________________________________________________
516516

517-
void fillCandidate(hyperNucleus& cand, hyperNucleus& hypDaughter, aod::HypKfHypNuc const& hypNuc, aod::HypKfHypNucs const&, aod::HypKfCollisions const&, aod::HypKfTracks const&, aod::HypKfDaughterAddons const&, aod::HypKfSubDaughters const&)
517+
void fillCandidate(hyperNucleus& cand, hyperNucleus& hypDaughter, aod::HypKfHypNuc const& hypNuc, aod::HypKfHypNucs const&, aod::HypKfColls const&, aod::HypKfTracks const&, aod::HypKfDaughtAdds const&, aod::HypKfSubDs const&)
518518
{
519519
cand.daughterTracks.clear();
520520
cand.subDaughterMassVec.clear();
521-
auto coll = hypNuc.hypKfCollision();
522-
auto addOns = hypNuc.addons_as<aod::HypKfDaughterAddons>();
521+
auto coll = hypNuc.hypKfColl();
522+
auto addOns = hypNuc.addons_as<aod::HypKfDaughtAdds>();
523523
auto posVec = posVector(addOns);
524524
cand.Species = std::abs(hypNuc.species());
525525
cand.IsMatter = hypNuc.isMatter();
@@ -584,20 +584,20 @@ struct hypKfTreeCreator {
584584
return;
585585

586586
trackCount = 0;
587-
auto subDaughters = hypNuc.subDaughters_as<aod::HypKfSubDaughters>();
587+
auto subDaughters = hypNuc.subDaughters_as<aod::HypKfSubDs>();
588588
for (auto& subDaughter : subDaughters) {
589589
cand.daughterTracks.at(trackCount++).SubMass = subDaughter.subMass();
590590
}
591591
}
592592
//___________________________________________________________________________________________________________________________________________________________
593593

594-
void processMC(aod::HypKfMcParticles const& mcHypNucs, aod::HypKfHypNucs const& hypNucs, aod::HypKfMcCollisions const&, aod::HypKfCollisions const& hypKfColls, aod::HypKfTracks const& hypKfTrks, aod::HypKfDaughterAddons const& hypKfDAdd, aod::HypKfSubDaughters const& hypKfDSub)
594+
void processMC(aod::HypKfMcParts const& mcHypNucs, aod::HypKfHypNucs const& hypNucs, aod::HypKfMcColls const&, aod::HypKfColls const& hypKfColls, aod::HypKfTracks const& hypKfTrks, aod::HypKfDaughtAdds const& hypKfDAdd, aod::HypKfSubDs const& hypKfDSub)
595595
{
596596
isMC = true;
597597
for (auto& mcHypNuc : mcHypNucs) {
598598
if (std::abs(mcHypNuc.species()) != cfgSpecies)
599599
continue;
600-
auto mcColl = mcHypNuc.hypKfMcCollision();
600+
auto mcColl = mcHypNuc.hypKfMcColl();
601601
const auto mcParticleIdx = mcHypNuc.globalIndex();
602602
auto hypNucsByMc = hypNucs.sliceBy(perMcParticle, mcParticleIdx);
603603
hyperNucleus candidate, hypDaughter, dummy;
@@ -620,8 +620,8 @@ struct hypKfTreeCreator {
620620
candidate.SvyGen = mcHypNuc.svy();
621621
candidate.SvzGen = mcHypNuc.svz();
622622
for (auto& hypNuc : hypNucsByMc) {
623-
auto coll = hypNuc.hypKfCollision();
624-
if (coll.hypKfMcCollisionId() == mcHypNuc.hypKfMcCollisionId()) {
623+
auto coll = hypNuc.hypKfColl();
624+
if (coll.hypKfMcCollId() == mcHypNuc.hypKfMcCollId()) {
625625
candidate.CollisionMcTrue = true;
626626
}
627627
candidate.IsReconstructed++;

0 commit comments

Comments
 (0)