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 "GPUO2Interface.h"
17#include "Framework/WorkflowSpec.h" // o2::framework::mergeInputs
21
23
24#ifdef ENABLE_UPGRADES
26#endif
27
28namespace o2::gpu
29{
30
31int32_t GPURecoWorkflowSpec::runITSTracking(o2::framework::ProcessingContext& pc)
32{
33 mITSTimeFrame->setDevicePropagator(mGPUReco->GetDeviceO2Propagator());
34 LOGP(debug, "GPUChainITS is giving me device propagator: {}", (void*)mGPUReco->GetDeviceO2Propagator());
35 mITSTrackingInterface->run(pc);
36 return 0;
37}
38
39void GPURecoWorkflowSpec::initFunctionITS(o2::framework::InitContext& ic)
40{
41 o2::its::VertexerTraits<7>* vtxTraits = nullptr;
42 o2::its::TrackerTraits<7>* trkTraits = nullptr;
43#ifdef ENABLE_UPGRADES
44 if (mSpecConfig.isITS3) {
45 mITSTrackingInterface = std::make_unique<o2::its3::ITS3TrackingInterface>(mSpecConfig.processMC,
46 mSpecConfig.itsTriggerType,
47 mSpecConfig.itsOverrBeamEst);
48 } else
49#endif
50 {
51 mITSTrackingInterface = std::make_unique<o2::its::ITSTrackingInterface>(mSpecConfig.processMC,
52 mSpecConfig.itsTriggerType,
53 mSpecConfig.itsOverrBeamEst);
54 }
55 mITSTrackingInterface = std::make_unique<o2::its::ITSTrackingInterface>(mSpecConfig.processMC,
56 mSpecConfig.itsTriggerType,
57 mSpecConfig.itsOverrBeamEst);
58 mGPUReco->GetITSTraits(trkTraits, vtxTraits, mITSTimeFrame);
59 mITSTrackingInterface->setTraitsFromProvider(vtxTraits, trkTraits, mITSTimeFrame);
60}
61
62void GPURecoWorkflowSpec::finaliseCCDBITS(o2::framework::ConcreteDataMatcher& matcher, void* obj)
63{
64 mITSTrackingInterface->finaliseCCDB(matcher, obj);
65}
66
67bool GPURecoWorkflowSpec::fetchCalibsCCDBITS(o2::framework::ProcessingContext& pc)
68{
69 mITSTrackingInterface->updateTimeDependentParams(pc);
70 return false;
71}
72} // namespace o2::gpu
std::ostringstream debug
virtual void setDevicePropagator(const o2::base::PropagatorImpl< float > *)
Definition TimeFrame.h:247