14#ifndef O2_TRD_GLOBALTRACKING
15#define O2_TRD_GLOBALTRACKING
19#include "TStopwatch.h"
54 TRDGlobalTracking(
bool useMC,
bool withPID,
PIDPolicy policy, std::shared_ptr<o2::globaltracking::DataRequest> dataRequest, std::shared_ptr<o2::base::GRPGeomRequest> gr,
55 o2::dataformats::GlobalTrackID::mask_t src,
bool trigRecFilterActive,
bool strict,
bool requestCTPLumi) : mUseMC(useMC), mWithPID(withPID), mDataRequest(dataRequest), mGGCCDBRequest(gr), mTrkMask(
src), mTrigRecFilter(trigRecFilterActive), mStrict(strict), mPolicy(policy), mRequestCTPLumi(requestCTPLumi) {}
59 void fillTrackTriggerRecord(
const std::vector<TrackTRD>& tracks, std::vector<TrackTriggerRecord>& trigRec,
const gsl::span<const o2::trd::TriggerRecord>& trackletTrigRec)
const;
73 std::unique_ptr<GeometryFlat> mFlatGeo{
nullptr};
76 float mTPCTBinMUS{.2f};
77 float mTPCTBinMUSInv{1.f / mTPCTBinMUS};
78 float mTPCVdrift{2.58f};
79 float mTPCTDriftOffset{0.f};
80 std::shared_ptr<o2::globaltracking::DataRequest> mDataRequest;
81 std::shared_ptr<o2::base::GRPGeomRequest> mGGCCDBRequest;
85 bool mTrigRecFilter{
false};
89 std::unique_ptr<o2::gpu::GPUO2InterfaceRefit> mTPCRefitter;
92 gsl::span<const Tracklet64> mTrackletsRaw;
93 gsl::span<const CalibratedTracklet> mTrackletsCalib;
94 gsl::span<const o2::tpc::TrackTPC> mTPCTracksArray;
95 gsl::span<const o2::its::TrackITS> mITSTracksArray;
96 gsl::span<const o2::itsmft::TrkClusRef> mITSABRefsArray;
97 gsl::span<const int> mITSTrackClusIdx;
98 gsl::span<const int> mITSABTrackClusIdx;
99 std::vector<o2::BaseCluster<float>> mITSClustersArray;
101#ifdef ENABLE_UPGRADES
104 std::array<float, 5> mCovDiagInner{};
105 std::array<float, 5> mCovDiagOuter{};
108 bool mRequestCTPLumi{
false};
109 std::unique_ptr<PIDBase> mBase;
A const (ready only) version of MCTruthContainer.
Definition of the BuildTopologyDictionary class for ITS3.
Online TRD tracker based on extrapolated TPC tracks.
Helper for geometry and GRP related CCDB requests.
Global index for barrel track: provides provenance (detectors combination), index in respective array...
This file provides the base interface for pid policies.
Definition of the ITS track.
Reference on ITS/MFT clusters set.
Helper class to extract VDrift from different sources.
void fillMCTruthInfo(const TrackTRD &trk, o2::MCCompLabel lblSeed, std::vector< o2::MCCompLabel > &lblContainerTrd, std::vector< o2::MCCompLabel > &lblContainerMatch, const o2::dataformats::MCTruthContainer< o2::MCCompLabel > *trkltLabels) const
void finaliseCCDB(o2::framework::ConcreteDataMatcher &matcher, void *obj) final
void endOfStream(o2::framework::EndOfStreamContext &ec) final
This is invoked whenever we have an EndOfStream event.
TRDGlobalTracking(bool useMC, bool withPID, PIDPolicy policy, std::shared_ptr< o2::globaltracking::DataRequest > dataRequest, std::shared_ptr< o2::base::GRPGeomRequest > gr, o2::dataformats::GlobalTrackID::mask_t src, bool trigRecFilterActive, bool strict, bool requestCTPLumi)
void run(o2::framework::ProcessingContext &pc) final
bool refitTRDTrack(TrackTRD &trk, float &chi2, bool inwards, bool tpcSA)
~TRDGlobalTracking() override=default
void init(o2::framework::InitContext &ic) final
bool refitITSTPCTRDTrack(TrackTRD &trk, float timeTRD, o2::globaltracking::RecoContainer *recoCont)
void fillTrackTriggerRecord(const std::vector< TrackTRD > &tracks, std::vector< TrackTriggerRecord > &trigRec, const gsl::span< const o2::trd::TriggerRecord > &trackletTrigRec) const
bool refitTPCTRDTrack(TrackTRD &trk, float timeTRD, o2::globaltracking::RecoContainer *recoCont)
framework::DataProcessorSpec getTRDGlobalTrackingSpec(bool useMC, o2::dataformats::GlobalTrackID::mask_t src, bool trigRecFilterActive, bool strict, bool withPID, PIDPolicy policy, bool requestCTPLumi)
create a processor spec
PIDPolicy
Option for available PID policies.
@ DEFAULT
The default option.
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...