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