Skip to content

Commit 147a200

Browse files
authored
More equivalency declarations (#10694)
This is a suggested change following a conversation also with @aalkin These equivalency declarations have an important role for avoiding that track pre-selection and MC pre-selection depend unnecessarily on the track propagation workflow and on the data being analysed being from Run 2 or Run 3. By declaring TracksExtra and McTrackLabels to be equivalent to the base Track tables, one can de-reference an index to the base Track tables straight to the TracksExtra or McTrackLabels tables. As an example use case, this will greatly simplify the V0 and cascade candidate pre-selectors as these can loop over the TracksExtra properties belonging to the Tracks that are indexed in the array pairs or triplets without ever resolving the main Track table, which is only needed when using the actual track parameters. Without this equivalency, the existing four process functions would have to be duplicated into 8 process functions.
1 parent b626704 commit 147a200

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

Framework/Core/include/Framework/AnalysisDataModel.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1029,6 +1029,8 @@ namespace soa
10291029
DECLARE_EQUIVALENT_FOR_INDEX(aod::Collisions_000, aod::Collisions_001);
10301030
DECLARE_EQUIVALENT_FOR_INDEX(aod::StoredMcParticles_000, aod::StoredMcParticles_001);
10311031
DECLARE_EQUIVALENT_FOR_INDEX(aod::StoredTracks, aod::StoredTracksIU);
1032+
DECLARE_EQUIVALENT_FOR_INDEX(aod::StoredTracks, aod::StoredTracksExtra);
1033+
DECLARE_EQUIVALENT_FOR_INDEX(aod::StoredTracksIU, aod::StoredTracksExtra);
10321034
} // namespace soa
10331035

10341036
namespace aod
@@ -1200,6 +1202,8 @@ DECLARE_SOA_INDEX_TABLE(Run2MatchedToBCSparse, BCs, "MA_RN2_BC_SP", //!
12001202
} // namespace aod
12011203
namespace soa
12021204
{
1205+
DECLARE_EQUIVALENT_FOR_INDEX(aod::StoredTracks, aod::McTrackLabels);
1206+
DECLARE_EQUIVALENT_FOR_INDEX(aod::StoredTracksIU, aod::McTrackLabels);
12031207
extern template struct Join<aod::Collisions, aod::Run2MatchedSparse>;
12041208
extern template struct Join<aod::Collisions, aod::Run3MatchedSparse>;
12051209
} // namespace soa

0 commit comments

Comments
 (0)