14#ifndef O2_TRD_GLOBALTRACKING
15#define O2_TRD_GLOBALTRACKING
19#include "TStopwatch.h"
57 TRDGlobalTracking(
bool useMC,
bool withPID,
PIDPolicy policy, std::shared_ptr<o2::globaltracking::DataRequest> dataRequest, std::shared_ptr<o2::base::GRPGeomRequest> gr,
58 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) {}
62 void fillTrackTriggerRecord(
const std::vector<TrackTRD>&
tracks, std::vector<TrackTriggerRecord>& trigRec,
const gsl::span<const o2::trd::TriggerRecord>& trackletTrigRec)
const;
77 std::unique_ptr<GeometryFlat> mFlatGeo{
nullptr};
80 float mTPCTBinMUS{.2f};
81 float mTPCTBinMUSInv{1.f / mTPCTBinMUS};
82 float mTPCVdrift{2.58f};
83 float mTPCTDriftOffset{0.f};
84 int32_t mTCorrPileUp{0};
85 float mTErrPileUp2{0.f};
86 std::shared_ptr<o2::globaltracking::DataRequest> mDataRequest;
87 std::shared_ptr<o2::base::GRPGeomRequest> mGGCCDBRequest;
91 bool mTrigRecFilter{
false};
95 std::unique_ptr<o2::gpu::GPUO2InterfaceRefit> mTPCRefitter;
98 gsl::span<const Tracklet64> mTrackletsRaw;
99 gsl::span<const CalibratedTracklet> mTrackletsCalib;
100 gsl::span<const o2::tpc::TrackTPC> mTPCTracksArray;
101 gsl::span<const o2::its::TrackITS> mITSTracksArray;
102 gsl::span<const o2::itsmft::TrkClusRef> mITSABRefsArray;
103 gsl::span<const int> mITSTrackClusIdx;
104 gsl::span<const int> mITSABTrackClusIdx;
107#ifdef ENABLE_UPGRADES
110 std::array<float, 5> mCovDiagInner{};
111 std::array<float, 5> mCovDiagOuter{};
112 std::vector<int> mTriggeredBCFT0;
115 bool mRequestCTPLumi{
false};
116 std::unique_ptr<PIDBase> mBase;
Container of the ITS/MFT clusters addressed by the composed (layer,index) ID.
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...
std::vector< o2::its::TrackITS > tracks
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
o2::itsmft::ClustersPerLayer< o2::BaseCluster< float > > ITSClusters
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, bool itsStag)
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 ...