38 TrackerDPL(std::shared_ptr<o2::base::GRPGeomRequest> gr,
bool useMC,
int nThreads = 1) : mGGCCDBRequest(gr), mUseMC(useMC), mNThreads(nThreads) {}
49 bool mMFTTriggered =
false;
52 void setMFTROFrameLengthMUS(
float fums);
54 void setMFTROFrameLengthInBC(
int nbc);
55 int mMFTROFrameLengthInBC = 0;
56 float mMFTROFrameLengthMUS = -1.;
57 float mMFTROFrameLengthMUSInv = -1.;
61 std::shared_ptr<o2::base::GRPGeomRequest> mGGCCDBRequest;
63 std::unique_ptr<o2::parameters::GRPObject> mGRP =
nullptr;
64 std::vector<std::unique_ptr<o2::mft::Tracker<TrackLTF>>> mTrackerVec;
65 std::vector<std::unique_ptr<o2::mft::Tracker<TrackLTFL>>> mTrackerLVec;
67 enum TimerIDs { SWTot,
73 static constexpr std::string_view TimerName[] = {
"TotalProcessing",
78 TStopwatch mTimer[NStopWatches];
80 ROFFilter createIRFrameFilter(gsl::span<const o2::dataformats::IRFrame> irframes)
82 return [
this, irframes](
const ROFRecord& rof) {
84 InteractionRecord rofEnd = rofStart + mMFTROFrameLengthInBC - 1;
85 IRFrame
ref(rofStart, rofEnd);
86 for (
const auto&
ir : irframes) {
88 auto overlap =
ref.getOverlap(
ir);
89 if (overlap.isValid()) {