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