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