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