158 struct calibObjectStruct {
159 std::vector<char> mUpdatedTransformBuffer;
160 std::unique_ptr<TPCPadGainCalib> mTPCPadGainCalib;
161 std::unique_ptr<o2::tpc::CalibdEdxContainer> mdEdxCalibContainer;
162 float mInstLumiCTP{-1};
177 void cleanOldCalibsTPCPtrs(calibObjectStruct& oldCalibObjects);
181 void doTrackTuneTPC(GPUTrackingInOutPointers& ptrs,
char* buffout);
183 template <
class D,
class E,
class F,
class G,
class H,
class I,
class J,
class K>
186 int32_t runMain(
o2::framework::ProcessingContext* pc, GPUTrackingInOutPointers* ptrs, GPUInterfaceOutputs* outputRegions, int32_t threadIndex = 0, GPUInterfaceInputUpdate* inputUpdateCallback =
nullptr);
190 void RunReceiveThread();
191 void RunWorkerThread(int32_t
id);
194 void handlePipelineStop();
196 void enqueuePipelinedJob(GPUTrackingInOutPointers* ptrs, GPUInterfaceOutputs* outputRegions, gpurecoworkflow_internals::GPURecoWorkflow_QueueObject* context,
bool inputFinal);
197 void finalizeInputPipelinedJob(GPUTrackingInOutPointers* ptrs, GPUInterfaceOutputs* outputRegions, gpurecoworkflow_internals::GPURecoWorkflow_QueueObject* context);
198 void receiveFMQStateCallback(fair::mq::State);
202 std::unique_ptr<GPUO2Interface> mGPUReco;
203 std::unique_ptr<GPUDisplayFrontendInterface> mDisplayFrontend;
205 calibObjectStruct mCalibObjects;
206 std::unique_ptr<o2::tpc::DeadChannelMapCreator> mTPCDeadChannelMapCreator;
207 std::unique_ptr<o2::tpc::CalibdEdxContainer> mdEdxCalibContainerBufferNew;
208 std::unique_ptr<TPCPadGainCalib> mTPCPadGainCalibBufferNew;
209 std::queue<calibObjectStruct> mOldCalibObjects;
210 std::unique_ptr<TPCZSLinkMapping> mTPCZSLinkMapping;
211 std::unique_ptr<o2::tpc::VDriftHelper> mTPCVDriftHelper;
212 std::unique_ptr<o2::trd::GeometryFlat> mTRDGeometry;
213 std::unique_ptr<GPUTRDRecoParam> mTRDRecoParam;
214 std::unique_ptr<GPUO2InterfaceConfiguration> mConfig;
215 std::unique_ptr<GPUSettingsO2> mConfParam;
216 std::unique_ptr<TStopwatch> mTimer;
217 std::vector<std::array<uint32_t, 4>> mErrorQA;
218 int32_t mQATaskMask = 0;
219 std::unique_ptr<GPUO2InterfaceQA> mQA;
220 std::vector<int32_t> mClusterOutputIds;
221 std::vector<int32_t> mTPCSectors;
222 std::unique_ptr<o2::its::ITSTrackingInterface> mITSTrackingInterface;
223 std::unique_ptr<gpurecoworkflow_internals::GPURecoWorkflowSpec_PipelineInternals> mPipeline;
225 std::vector<fair::mq::RegionInfo> mRegionInfos;
228 uint64_t mTPCSectorMask = 0;
229 int64_t mCreationForCalib = -1;
230 int32_t mVerbosity = 0;
232 uint32_t mNTFDumps = 0;
233 uint32_t mNDebugDumps = 0;
234 uint32_t mNextThreadIndex = 0;
235 bool mUpdateGainMapCCDB =
true;
236 std::unique_ptr<o2::gpu::GPUSettingsTF> mTFSettings;
237 std::map<std::string, std::string> nnCCDBSettings;
240 std::shared_ptr<o2::base::GRPGeomRequest> mGGR;
241 bool mGRPGeomUpdated =
false;
242 bool mAutoContinuousMaxTimeBin =
false;
243 bool mAutoSolenoidBz =
false;
244 bool mMatLUTCreated =
false;
245 bool mITSGeometryCreated =
false;
246 bool mTRDGeometryCreated =
false;
247 bool mTRDRecoParamCreated =
false;
248 bool mPropagatorInstanceCreated =
false;
249 int32_t mTPCCutAtTimeBin = -1;