16#ifndef ALICEO2_RECO_CONTAINER
17#define ALICEO2_RECO_CONTAINER
50class CalibratedTracklet;
52class TrackTriggerRecord;
54struct RecoInputContainer;
59class ProcessingContext;
110class ChannelDataFloat;
116class ChannelDataFloat;
129class ChannelDataFloat;
187namespace globaltracking
192 std::vector<o2::framework::InputSpec>
inputs;
251#ifdef ENABLE_UPGRADES
252 void requestIT3Clusters(
bool mc);
334 std::unique_ptr<const o2::dataformats::MCTruthContainer<o2::MCCompLabel>>
mcITSClusters;
335 std::unique_ptr<const o2::dataformats::MCTruthContainer<o2::MCCompLabel>>
mcTOFClusters;
336 std::unique_ptr<const o2::dataformats::MCTruthContainer<o2::MCCompLabel>>
mcHMPClusters;
337 std::unique_ptr<const o2::dataformats::MCTruthContainer<o2::MCCompLabel>>
mcCPVClusters;
338 std::unique_ptr<const o2::dataformats::MCTruthContainer<o2::MCCompLabel>>
mcMCHClusters;
339 std::unique_ptr<const o2::dataformats::MCTruthContainer<o2::phos::MCLabel>>
mcPHSCells;
340 std::unique_ptr<const o2::dataformats::MCTruthContainer<o2::emcal::MCLabel>>
mcEMCCells;
341 std::unique_ptr<const o2::dataformats::MCTruthContainer<o2::mid::MCClusterLabel>>
mcMIDTrackClusters;
342 std::unique_ptr<const o2::dataformats::MCTruthContainer<o2::mid::MCClusterLabel>>
mcMIDClusters;
356 void fillTrackMCLabels(
const gsl::span<GTrackID> gids, std::vector<o2::MCCompLabel>& mcinfo)
const;
409#ifdef ENABLE_UPGRADES
434 template <
typename U>
441 template <
typename U>
446 template <
typename U>
449 return getObject<U>(gid.getSource(), gid.getIndex(), slotID);
455 template <
typename U>
461 template <
typename U>
467 template <
typename U>
470 return getObject<U>(gid,
TRACKS);
573 return getTrack<U>(
id);
593 return getTrack<U>(
id);
Accessor for objects of the same base class located in different containers.
A const (ready only) version of MCTruthContainer.
Accessor for TrackParCov derived objects from multiple containers.
Global index for barrel track: provides provenance (detectors combination), index in respective array...
Definition of a container to keep Monte Carlo truth external to simulation objects.
Defintions for the inter-detector matching type.
Class to refer to the 1st entry and N elements of some group in the continuous container.
TO BE DONE: extend to generic N body vertex.
HMPID cluster implementation.
HMPID Trigger declaration.
MCH track external format.
This class defines the MID track.
GLsizei GLsizei GLchar * source
Defining PrimaryVertex explicitly as messageable.
o2::dataformats::StrangeTrack StrangeTrack
Global TPC definitions and constants.
o2::dataformats::Decay3BodyIndex Decay3BodyIndex
o2::dataformats::CascadeIndex CascadeIndex
o2::dataformats::V0Index V0Index
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
void requestITSTPCTRDTracks(bool mc)
void requestEMCALCells(bool mc)
void requestTRDTracklets(bool mc)
void addInput(const o2::framework::InputSpec &&isp)
void requestMIDClusters(bool mc)
void requestMFTMCHMatches(bool mc)
void requestTOFMatches(o2::dataformats::GlobalTrackID::mask_t src, bool mc)
void requestITSTracks(bool mc)
std::unordered_map< std::string, bool > requestMap
void requestMIDTracks(bool mc)
void requestPrimaryVertices(bool mc)
void requestZDCRecEvents(bool mc)
void requestGlobalFwdTracks(bool mc)
void requestITSClusters(bool mc)
void requestTPCTOFTracks(bool mc)
void requestMCHTracks(bool mc)
void requestFT0RecPoints(bool mc)
void requestCPVClusters(bool mc)
void requestMFTClusters(bool mc)
void requestHMPClusters(bool mc)
void requestMCHMIDMatches(bool mc)
void requestMCHClusters(bool mc)
void requestTPCClusters(bool mc)
void requestTracks(o2::dataformats::GlobalTrackID::mask_t src, bool mc)
void requestIRFramesITS()
void requestTPCTRDTracks(bool mc)
void requestFDDRecPoints(bool mc)
void requestFV0RecPoints(bool mc)
void requestClusters(o2::dataformats::GlobalTrackID::mask_t src, bool useMC, o2::detectors::DetID::mask_t skipDetClusters={})
void setMatchingInputFull()
MatchingType matchingInputType
void requestTPCTracks(bool mc)
void setMatchingInputStandard()
void requestCoscmicTracks(bool mc)
void requestHMPMatches(bool mc)
std::vector< o2::framework::InputSpec > inputs
void requestITSTPCTracks(bool mc)
void requestTPCTriggers()
void requestMFTTracks(bool mc)
void setMatchingInputStrict()
void requestSecondaryVertices(bool mc)
void requestStrangeTracks(bool mc)
void requestCTPDigits(bool mc)
void requestPrimaryVerticesTMP(bool mc)
void requestPHOSCells(bool mc)
uint32_t getMatchingInputSubSpec() const
bool isRequested(const std::string &t) const
auto getMatchingInputType() const
void requestTOFClusters(bool mc)
void addFDDRecPoints(o2::framework::ProcessingContext &pc, bool mc)
auto getZDCTDCData() const
auto getStrangeTracks() const
auto getFDDRecPoints() const
auto getITSTracks() const
void addGlobalFwdTracks(o2::framework::ProcessingContext &pc, bool mc)
void addTOFMatchesITSTPCTRD(o2::framework::ProcessingContext &pc, bool mc)
GTrackID getITSContributorGID(GTrackID source) const
const o2::dataformats::MatchInfoTOF & getTPCTOFMatch(GTrackID id) const
auto getMCHMIDMatches() const
void addITSTracks(o2::framework::ProcessingContext &pc, bool mc)
void addHMPMatches(o2::framework::ProcessingContext &pc, bool mc)
const U & getTrack(int src, int id) const
bool isTrackSourceLoaded(int src) const
void addTPCTOFTracks(o2::framework::ProcessingContext &pc, bool mc)
auto getStrangeTracksMCLabels() const
auto getMFTClustersPatterns() const
o2::InteractionRecord startIR
GlobalIDSet getSingleDetectorRefs(GTrackID gidx) const
auto getDecays3BodyIdx() const
std::unique_ptr< const o2::dataformats::MCTruthContainer< o2::MCCompLabel > > mcTOFClusters
auto getMIDTracksMCLabels() const
const o2::dataformats::MCTruthContainer< o2::phos::MCLabel > * getPHOSCellsMCLabels() const
const o2::tpc::TrackTPC & getTPCTrack(GTrackID id) const
std::array< AccSlots, GTrackID::NSources > commonPool
void addFT0RecPoints(o2::framework::ProcessingContext &pc, bool mc)
auto getGlobalFwdTracks() const
auto getMIDTracks() const
auto getMCHClusterROFRecords() const
auto getMCHClustersMCLabels() const
gsl::span< const o2::trd::CalibratedTracklet > getTRDCalibratedTracklets() const
const o2::dataformats::TrackMCHMID & getMCHMIDMatch(GTrackID gid) const
const U & getObject(GTrackID gid, int slotID) const
void addTPCTriggers(o2::framework::ProcessingContext &pc)
const o2::mch::TrackMCH & getMCHTrack(GTrackID gid) const
void addCosmicTracks(o2::framework::ProcessingContext &pc, bool mc)
std::unique_ptr< const std::vector< o2::MCCompLabel > > mcMIDTracks
auto getMIDClusters() const
auto getTPCTRDTriggers() const
auto getITSClustersMCLabels() const
auto getITSTPCTOFMatches() const
auto getHMPClustersMCLabels() const
auto getITSTPCTRDTracksMCLabels() const
auto getITSTracksClusterRefs() const
auto getIRFramesITS() const
void addStrangeTracks(o2::framework::ProcessingContext &pc, bool mc)
std::unique_ptr< const o2::dataformats::MCTruthContainer< o2::mid::MCClusterLabel > > mcMIDTrackClusters
auto getTPCTRDTOFMatches() const
bool isMatchSourceLoaded(int src) const
auto getPrimaryVertices() const
void addMCHClusters(o2::framework::ProcessingContext &pc, bool mc)
void addPVerticesTMP(o2::framework::ProcessingContext &pc, bool mc)
void addITSTPCTracks(o2::framework::ProcessingContext &pc, bool mc)
auto getITSTPCTRDSATracksMCLabels() const
auto getTPCTRDTrack(GTrackID id) const
auto getTPCTRDTrackMCLabel(GTrackID id) const
auto getTPCITSTrackMCLabel(GTrackID id) const
auto getPrimaryVertexMatchedTracks() const
const o2::tpc::ClusterNativeAccess & getTPCClusters() const
auto getTPCITSTracks() const
void addMCHTracks(o2::framework::ProcessingContext &pc, bool mc)
auto getMCHTrackClusters() const
auto getMCHTracksROFRecords() const
void getTrackTimeTPCTRD(GTrackID gid, float &t, float &tErr) const
void createTracksVariadic(T creator, GTrackID::mask_t srcSel=GTrackID::getSourcesMask("all")) const
void addTPCClusters(o2::framework::ProcessingContext &pc, bool mc, bool shmap, bool occmap)
void addEMCALCells(o2::framework::ProcessingContext &pc, bool mc)
void addMIDTracks(o2::framework::ProcessingContext &pc, bool mc)
void addMFTTracks(o2::framework::ProcessingContext &pc, bool mc)
auto getTPCTRDTracksMCLabels() const
void getTrackTimeITSTPCTRDTOF(GTrackID gid, float &t, float &tErr) const
auto getITSABRefs() const
auto getCTPDigits() const
void getTrackTimeITSTPCTOF(GTrackID gid, float &t, float &tErr) const
auto getMIDTracksROFRecords() const
void getTrackTimeTPC(GTrackID gid, float &t, float &tErr) const
auto getCPVClustersMCLabels() const
auto getTPCTOFTracks() const
void addZDCRecEvents(o2::framework::ProcessingContext &pc, bool mc)
auto getCascadesIdx() const
auto getTPCTracksClusterRefs() const
auto getPrimaryVertexMatchedTrackRefs() const
const o2::dataformats::V0Index & getV0Idx(int i) const
const o2::itsmft::TrkClusRef & getITSABRef(GTrackID gid) const
void addMCHMIDMatches(o2::framework::ProcessingContext &pc, bool mc)
auto getTPCTOFTrackMCLabel(GTrackID id) const
auto getITSClustersPatterns() const
gsl::span< const o2::trd::TriggerRecord > getTRDTriggerRecords() const
auto getMFTMCHMatches() const
auto getCPVClusters() const
auto getMCHClusters() const
const o2::dataformats::MCTruthContainer< o2::MCCompLabel > * getTRDTrackletsMCLabels() const
void addPVertices(o2::framework::ProcessingContext &pc, bool mc)
void getTrackTimeTPCTRDTOF(GTrackID gid, float &t, float &tErr) const
void getTrackTimeITS(GTrackID gid, float &t, float &tErr) const
o2::ctp::LumiInfo mCTPLumi
void addTOFMatchesITSTPC(o2::framework::ProcessingContext &pc, bool mc)
void addIRFramesITS(o2::framework::ProcessingContext &pc)
const o2::dataformats::TrackTPCITS & getITSTPCTOFTrack(GTrackID id) const
const o2::dataformats::TrackTPCTOF & getTPCTOFTrack(GTrackID gid) const
auto getTPCTrackMCLabel(GTrackID id) const
const o2::mid::Track & getMIDTrack(GTrackID gid) const
void addTOFClusters(o2::framework::ProcessingContext &pc, bool mc)
const o2::dataformats::CascadeIndex & getCascadeIdx(int i) const
o2::MCCompLabel getTrackMCLabel(GTrackID id) const
GTrackID getTPCContributorGID(GTrackID source) const
auto getTOFClustersMCLabels() const
auto getMIDTrackClustersROFRecords() const
std::unique_ptr< o2::trd::RecoInputContainer > inputsTRD
const o2::dataformats::MCTruthContainer< o2::mid::MCClusterLabel > * getMIDClustersMCLabels() const
auto getITSClustersROFRecords() const
const o2::track::TrackParCov & getTrackParam(GTrackID gidx) const
std::unique_ptr< const o2::dataformats::MCTruthContainer< o2::MCCompLabel > > mcITSClusters
void getTrackTimeITSTPCTRD(GTrackID gid, float &t, float &tErr) const
void addMFTClusters(o2::framework::ProcessingContext &pc, bool mc)
void addMIDClusters(o2::framework::ProcessingContext &pc, bool mc)
auto getFV0ChannelsData() const
auto getTPCTOFTracksMCLabels() const
auto getMFTTracksROFRecords() const
auto getITSTPCTOFMatchesMCLabels() const
void addTPCTRDTracks(o2::framework::ProcessingContext &pc, bool mc)
const o2::dataformats::ConstMCTruthContainerView< o2::MCCompLabel > * getTPCClustersMCLabels() const
auto getTOFClusters() const
std::unique_ptr< const o2::dataformats::MCTruthContainer< o2::MCCompLabel > > mcMCHClusters
gsl::span< const unsigned char > clusterShMapTPC
externally set TPC clusters sharing map
const o2::MCEventLabel & getPrimaryVertexMCLabel(int i) const
void addTRDTracklets(o2::framework::ProcessingContext &pc, bool mc)
auto getMIDTrackClusters() const
auto getPrimaryVertexContributors() const
void getTrackTimeITSTPC(GTrackID gid, float &t, float &tErr) const
auto getCPVTriggers() const
const o2::dataformats::TrackTPCITS & getTPCITSTrack(GTrackID gid) const
void collectData(o2::framework::ProcessingContext &pc, const DataRequest &request)
void addPHOSCells(o2::framework::ProcessingContext &pc, bool mc)
auto getHMPClusterTriggers() const
std::unique_ptr< const o2::dataformats::MCTruthContainer< o2::phos::MCLabel > > mcPHSCells
auto getTPCTracksMCLabels() const
auto getMFTTracksClusterRefs() const
const o2::mft::TrackMFT & getMFTTrack(GTrackID gid) const
void addCPVClusters(o2::framework::ProcessingContext &pc, bool mc)
void addITSTPCTRDTracks(o2::framework::ProcessingContext &pc, bool mc)
const o2::track::TrackParCov & getTrackParamOut(GTrackID gidx) const
void fillTrackMCLabels(const gsl::span< GTrackID > gids, std::vector< o2::MCCompLabel > &mcinfo) const
auto getPrimaryVertexMCLabels() const
const o2::dataformats::Cascade & getCascade(int i) const
auto getZDCEnergy() const
auto getTPCTRDTracks() const
void addMFTMCHMatches(o2::framework::ProcessingContext &pc, bool mc)
auto getPV2Decays3BodyRefs()
void getTrackTimeTPCTOF(GTrackID gid, float &t, float &tErr) const
const o2::dataformats::PrimaryVertex & getPrimaryVertex(int i) const
void addTOFMatchesTPCTRD(o2::framework::ProcessingContext &pc, bool mc)
auto getITSTPCTRDTOFMatchesMCLabels() const
const o2::its::TrackITS & getITSTrack(GTrackID gid) const
const U & getObject(int src, int index, int slotID) const
std::unique_ptr< const o2::dataformats::MCTruthContainer< o2::mid::MCClusterLabel > > mcMIDClusters
std::unique_ptr< const o2::dataformats::MCTruthContainer< o2::emcal::MCLabel > > mcEMCCells
auto getFT0RecPoints() const
std::unique_ptr< o2::tpc::internal::getWorkflowTPCInput_ret > inputsTPCclusters
auto getITSTracksROFRecords() const
auto getMCHTracks() const
void addCTPDigits(o2::framework::ProcessingContext &pc, bool mc)
void addTPCTracks(o2::framework::ProcessingContext &pc, bool mc)
const o2::dataformats::TrackCosmics & getCosmicTrack(int i) const
std::unique_ptr< const o2::dataformats::MCTruthContainer< o2::MCCompLabel > > mcCPVClusters
auto getFV0RecPoints() const
void addFV0RecPoints(o2::framework::ProcessingContext &pc, bool mc)
auto getMFTClustersROFRecords() const
auto getHMPMatches() const
auto getEMCALCells() const
auto getITSTPCTRDTriggers() const
auto getITSABMCLabels() const
gsl::span< const U > getTracks(int src) const
auto getPrimaryVertexContributorsRefs() const
auto getTPCTracks() const
void createTracks(std::function< bool(const o2::track::TrackParCov &, GTrackID)> const &creator) const
void getTrackTime(GTrackID gid, float &t, float &tErr) const
auto getTPCTRDSATracksMCLabels() const
void addSVertices(o2::framework::ProcessingContext &pc, bool)
auto getITSTPCTRDTracks() const
auto getFT0ChannelsData() const
auto getMFTTracksMCLabels() const
const U & getTrack(GTrackID gid) const
auto getMCHMIDMatchesMCLabels() const
auto getITSTPCTRDTrack(GTrackID id) const
void addITSClusters(o2::framework::ProcessingContext &pc, bool mc)
auto getITSTPCTRDTrackMCLabel(GTrackID id) const
void addHMPClusters(o2::framework::ProcessingContext &pc, bool mc)
const o2::ctp::LumiInfo & getCTPLumi() const
gsl::span< const unsigned int > occupancyMapTPC
externally set TPC clusters occupancy map
auto getITSTPCTRDSATrackMCLabel(GTrackID id) const
auto getMIDClusterROFRecords() const
auto getHMPClusters() const
auto getFDDChannelsData() const
auto getITSTPCTRDTOFMatches() const
auto getZDCBCRecData() const
auto getPV2CascadesRefs()
auto getGlobalFwdTracksMCLabels() const
auto getEMCALTriggers() const
std::unique_ptr< const o2::dataformats::MCTruthContainer< o2::MCCompLabel > > mcHMPClusters
auto getITSABClusterRefs() const
const o2::dataformats::V0 & getV0(int i) const
auto getCosmicTracks() const
std::array< GTrackID, GTrackID::NSources > GlobalIDSet
auto getTPCTRDSATrackMCLabel(GTrackID id) const
auto getCosmicTrackMCLabel(int i) const
auto getITSTracksMCLabels() const
static constexpr float PS2MUS
auto getITSClusters() const
const o2::dataformats::StrangeTrack & getStrangeTrack(int i) const
auto getPHOSCells() const
auto getTPCITSTracksMCLabels() const
auto getTPCTriggers() const
auto getHMPMatchesMCLabels() const
auto getTPCTRDTOFTracksMCLabels() const
auto getMFTTracks() const
gsl::span< const o2::trd::Tracklet64 > getTRDTracklets() const
const o2::dataformats::MCTruthContainer< o2::emcal::MCLabel > * getEMCALCellsMCLabels() const
auto getPHOSTriggers() const
auto getDecays3Body() const
auto getCosmicTrackMCLabels() const
const o2::dataformats::MatchInfoTOF & getTOFMatch(GTrackID id) const
auto getMCHTracksMCLabels() const
gsl::span< const U > getSpan(int src, int slotID) const
const o2::dataformats::MCTruthContainer< o2::mid::MCClusterLabel > * getMIDTracksClusterMCLabels() const
const o2::dataformats::GlobalFwdTrack & getGlobalFwdTrack(GTrackID gid) const
auto getMFTClusters() const
auto getTPCTOFMatches() const
Trigger info including the orbit.