Project
Loading...
Searching...
No Matches
GPUWorkflowITS.cxx
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
14
16#include "Framework/WorkflowSpec.h" // o2::framework::mergeInputs
20
22
23#ifdef ENABLE_UPGRADES
25#endif
26
27namespace o2::gpu
28{
29
30int32_t GPURecoWorkflowSpec::runITSTracking(o2::framework::ProcessingContext& pc)
31{
32 mITSTimeFrame->setDevicePropagator(mGPUReco->GetDeviceO2Propagator());
33 LOGP(debug, "GPUChainITS is giving me device propagator: {}", (void*)mGPUReco->GetDeviceO2Propagator());
34 mITSTrackingInterface->run<true>(pc);
35 return 0;
36}
37
38void GPURecoWorkflowSpec::initFunctionITS(o2::framework::InitContext& ic)
39{
40 o2::its::VertexerTraits* vtxTraits = nullptr;
41 o2::its::TrackerTraits* trkTraits = nullptr;
42#ifdef ENABLE_UPGRADES
43 if (mSpecConfig.isITS3) {
44 mITSTrackingInterface = std::make_unique<o2::its3::ITS3TrackingInterface>(mSpecConfig.processMC,
45 mSpecConfig.itsTriggerType,
46 mSpecConfig.itsOverrBeamEst);
47 } else
48#endif
49 {
50 mITSTrackingInterface = std::make_unique<o2::its::ITSTrackingInterface>(mSpecConfig.processMC,
51 mSpecConfig.itsTriggerType,
52 mSpecConfig.itsOverrBeamEst);
53 }
54 mITSTrackingInterface = std::make_unique<o2::its::ITSTrackingInterface>(mSpecConfig.processMC,
55 mSpecConfig.itsTriggerType,
56 mSpecConfig.itsOverrBeamEst);
57 mGPUReco->GetITSTraits(trkTraits, vtxTraits, mITSTimeFrame);
58 mITSTrackingInterface->setTraitsFromProvider(vtxTraits, trkTraits, mITSTimeFrame);
59}
60
61void GPURecoWorkflowSpec::finaliseCCDBITS(o2::framework::ConcreteDataMatcher& matcher, void* obj)
62{
63 mITSTrackingInterface->finaliseCCDB(matcher, obj);
64}
65
66bool GPURecoWorkflowSpec::fetchCalibsCCDBITS(o2::framework::ProcessingContext& pc)
67{
68 mITSTrackingInterface->updateTimeDependentParams(pc);
69 return false;
70}
71} // namespace o2::gpu
std::ostringstream debug
virtual void setDevicePropagator(const o2::base::PropagatorImpl< float > *)
Definition TimeFrame.h:236