32 auto retVal = std::make_shared<tmpDataContainer>();
37 if (clusITS.size() && ITSClusterROFRec.size()) {
40 auto pattIt = patterns.begin();
41 retVal->ITSClustersArray.reserve(clusITS.size());
59 if (ITSTracksArray.size() && ITSTrackROFRec.size()) {
76 if (trkITSTPC.size()) {
85 if (tofClusters.size()) {
94 if (itstpctofMatches.size()) {
103 if (itstpctrdtofMatches.size()) {
112 if (tpctofMatches.size()) {
121 if (tpctrdtofMatches.size()) {
129 recoCont.
inputsTRD->fillGPUIOPtr(&ioPtr);
135 if (trdTracks.size()) {
144 if (trdTracks.size()) {
182 auto creator = [maskTrk, &ioPtr, &recoCont, &
retVal](
auto& trk,
GID gid,
float time, float) {
187 if (
retVal->tpcLinkTOF.size()) {
188 retVal->tpcLinkTOF[trkItsTPC.getRefTPC().getIndex()] =
match.getTOFClIndex();
190 if (
retVal->tpcLinkITS.size()) {
191 retVal->tpcLinkITS[trkItsTPC.getRefTPC().getIndex()] = trkItsTPC.getRefITS().getIndex();
194 }
else if constexpr (isTPCTrack<decltype(trk)>()) {
195 time = trk.getTime0();
196 }
else if constexpr (isTPCITSTrack<decltype(trk)>()) {
198 retVal->tpcLinkITS[trk.getRefTPC().getIndex()] = trk.getRefITS().getIndex();
200 }
else if constexpr (isTPCTOFTrack<decltype(trk)>()) {
207 retVal->globalTracks.emplace_back(&trk);
Wrapper container for different reconstructed object types.
Helper class to obtain TPC clusters / digits / labels from DPL.
static std::shared_ptr< const tmpDataContainer > fillIOPtr(GPUTrackingInOutPointers &ioPtr, const o2::globaltracking::RecoContainer &recoCont, bool useMC, const GPUCalibObjectsConst *calib=nullptr, GID::mask_t maskCl=GID::MASK_ALL, GID::mask_t maskTrk=GID::MASK_ALL, GID::mask_t maskMatch=GID::MASK_ALL)
bool match(const std::vector< std::string > &queries, const char *pattern)
void convertCompactClusters(gsl::span< const itsmft::CompClusterExt > clusters, gsl::span< const unsigned char >::iterator &pattIt, std::vector< o2::BaseCluster< float > > &output, const itsmft::TopologyDictionary *dict)
convert compact clusters to 3D spacepoints
std::vector< int32_t > tpcLinkTRD
std::vector< o2::BaseCluster< float > > ITSClustersArray
std::vector< int32_t > tpcLinkITS
std::vector< const o2::track::TrackParCov * > globalTracks
std::vector< float > globalTrackTimes
std::vector< int32_t > tpcLinkTOF
auto getITSTracks() const
auto getITSTPCTOFMatches() const
auto getITSTracksClusterRefs() const
auto getTPCTRDTOFMatches() const
const o2::tpc::ClusterNativeAccess & getTPCClusters() const
auto getTPCITSTracks() const
void createTracksVariadic(T creator, GTrackID::mask_t srcSel=GTrackID::getSourcesMask("all")) const
auto getTPCTracksClusterRefs() const
auto getITSClustersPatterns() const
std::unique_ptr< o2::trd::RecoInputContainer > inputsTRD
auto getITSClustersROFRecords() const
std::unique_ptr< const o2::dataformats::MCTruthContainer< o2::MCCompLabel > > mcITSClusters
auto getTOFClusters() const
auto getTPCTracksMCLabels() const
auto getTPCTRDTracks() const
auto getITSTracksROFRecords() const
auto getTPCTracks() const
auto getITSTPCTRDTracks() const
auto getITSTPCTRDTOFMatches() const
auto getITSTracksMCLabels() const
auto getITSClusters() const
const o2::dataformats::MatchInfoTOF & getTOFMatch(GTrackID id) const
auto getTPCTOFMatches() const
S< o2::itsmft::TopologyDictionary >::type * itsPatternDict
const o2::itsmft::CompClusterExt * itsCompClusters
const o2::tpc::ClusterNativeAccess * clustersNative
const o2::dataformats::MCTruthContainer< o2::MCCompLabel > * itsClusterMC
const o2::dataformats::MatchInfoTOF * tpctofMatches
const o2::dataformats::MatchInfoTOF * tpctrdtofMatches
const o2::MCCompLabel * itsTrackMC
const o2::dataformats::MatchInfoTOF * itstpctrdtofMatches
const GPUTRDTrack * trdTracksTPCTRD
const uint32_t * outputClusRefsTPCO2
uint32_t nITSTPCTRDTOFMatches
const o2::tof::Cluster * tofClusters
const int32_t * itsTrackClusIdx
const o2::BaseCluster< float > * itsClusters
const o2::itsmft::ROFRecord * itsClusterROF
const o2::dataformats::MatchInfoTOF * itstpctofMatches
uint32_t nTRDTracksTPCTRD
const o2::its::TrackITS * itsTracks
const o2::dataformats::TrackTPCITS * tracksTPCITSO2
const o2::MCCompLabel * outputTracksTPCO2MC
const o2::itsmft::ROFRecord * itsTrackROF
uint32_t nOutputTracksTPCO2
uint32_t nOutputClusRefsTPCO2
const o2::tpc::TrackTPC * outputTracksTPCO2
const GPUTRDTrack * trdTracksITSTPCTRD
uint32_t nTRDTracksITSTPCTRD
uint32_t nITSTPCTOFMatches
const o2::track::TrackParCov ** globalTracks
uint32_t nTPCTRDTOFMatches