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
15
#include "
GPUWorkflow/GPUWorkflowSpec.h
"
16
#include "
GPUO2Interface.h
"
17
#include "
Framework/WorkflowSpec.h
"
// o2::framework::mergeInputs
18
#include "
Framework/ControlService.h
"
19
#include "
Framework/ConfigParamRegistry.h
"
20
#include "
Framework/CCDBParamSpec.h
"
21
#include "
Framework/DeviceSpec.h
"
22
#include "
CommonUtils/ConfigurableParam.h
"
23
#include "
CommonUtils/NameConf.h
"
24
#include "
ITStracking/TrackingInterface.h
"
25
#include "
ITStracking/TrackingConfigParam.h
"
26
27
#ifdef ENABLE_UPGRADES
28
#include "
ITS3Reconstruction/TrackingInterface.h
"
29
#endif
30
31
namespace
o2::gpu
32
{
33
34
int32_t GPURecoWorkflowSpec::runITSTracking(
o2::framework::ProcessingContext
& pc)
35
{
36
mITSTimeFrame->
setDevicePropagator
(mGPUReco->GetDeviceO2Propagator());
37
LOGP(
debug
,
"GPUChainITS is giving me device propagator: {}"
, (
void
*)mGPUReco->GetDeviceO2Propagator());
38
mITSTrackingInterface->run(pc);
39
static
bool
first
=
true
;
40
if
(mNTFs == 1 && pc.
services
().
get
<
const
o2::framework::DeviceSpec
>().
inputTimesliceId
== 0) {
41
o2::conf::ConfigurableParam::write
(
o2::base::NameConf::getConfigOutputFileName
(pc.
services
().
get
<
const
o2::framework::DeviceSpec
>().
name
,
o2::its::VertexerParamConfig::Instance
().getName()),
o2::its::VertexerParamConfig::Instance
().getName());
42
o2::conf::ConfigurableParam::write
(
o2::base::NameConf::getConfigOutputFileName
(pc.
services
().
get
<
const
o2::framework::DeviceSpec
>().
name
,
o2::its::TrackerParamConfig::Instance
().getName()),
o2::its::TrackerParamConfig::Instance
().getName());
43
o2::conf::ConfigurableParam::write
(
o2::base::NameConf::getConfigOutputFileName
(pc.
services
().
get
<
const
o2::framework::DeviceSpec
>().
name
,
o2::its::ITSGpuTrackingParamConfig::Instance
().getName()),
o2::its::ITSGpuTrackingParamConfig::Instance
().getName());
44
}
45
return
0;
46
}
47
48
void
GPURecoWorkflowSpec::initFunctionITS(
o2::framework::InitContext
& ic)
49
{
50
o2::its::VertexerTraits<7>
* vtxTraits =
nullptr
;
51
o2::its::TrackerTraits<7>
* trkTraits =
nullptr
;
52
#ifdef ENABLE_UPGRADES
53
if
(mSpecConfig.
isITS3
) {
54
mITSTrackingInterface = std::make_unique<o2::its3::ITS3TrackingInterface>(mSpecConfig.
processMC
,
55
mSpecConfig.
itsTriggerType
,
56
mSpecConfig.
itsOverrBeamEst
);
57
}
else
58
#endif
59
{
60
mITSTrackingInterface = std::make_unique<o2::its::ITSTrackingInterface>(mSpecConfig.
processMC
,
61
mSpecConfig.
itsTriggerType
,
62
mSpecConfig.
itsOverrBeamEst
);
63
}
64
mITSTrackingInterface = std::make_unique<o2::its::ITSTrackingInterface>(mSpecConfig.
processMC
,
65
mSpecConfig.
itsTriggerType
,
66
mSpecConfig.
itsOverrBeamEst
);
67
mGPUReco->GetITSTraits(trkTraits, vtxTraits, mITSTimeFrame);
68
mITSTrackingInterface->setTraitsFromProvider(vtxTraits, trkTraits, mITSTimeFrame);
69
}
70
71
void
GPURecoWorkflowSpec::finaliseCCDBITS(
o2::framework::ConcreteDataMatcher
& matcher,
void
* obj)
72
{
73
mITSTrackingInterface->finaliseCCDB(matcher, obj);
74
}
75
76
bool
GPURecoWorkflowSpec::fetchCalibsCCDBITS(
o2::framework::ProcessingContext
& pc)
77
{
78
mITSTrackingInterface->updateTimeDependentParams(pc);
79
return
false
;
80
}
81
}
// namespace o2::gpu
CCDBParamSpec.h
ConfigParamRegistry.h
ConfigurableParam.h
ControlService.h
DeviceSpec.h
debug
std::ostringstream debug
Definition
ExpressionJSONHelpers.cxx:83
GPUO2Interface.h
GPUWorkflowSpec.h
TrackingInterface.h
NameConf.h
Definition of the Names Generator class.
TrackingConfigParam.h
TrackingInterface.h
WorkflowSpec.h
int
o2::base::NameConf::getConfigOutputFileName
static std::string getConfigOutputFileName(const std::string &procName, const std::string &confName="", bool json=true)
Definition
NameConf.cxx:115
o2::conf::ConfigurableParamHelper< VertexerParamConfig >::Instance
static const VertexerParamConfig & Instance()
Definition
ConfigurableParamHelper.h:81
o2::conf::ConfigurableParam::write
static void write(std::string const &filename, std::string const &keyOnly="")
Definition
ConfigurableParam.cxx:195
o2::framework::InitContext
Definition
InitContext.h:25
o2::framework::ProcessingContext
Definition
ProcessingContext.h:27
o2::framework::ProcessingContext::services
ServiceRegistryRef services()
The services registry associated with this processing context.
Definition
ProcessingContext.h:39
o2::framework::ServiceRegistryRef::get
T & get() const
Definition
ServiceRegistryRef.h:85
o2::its::TrackerTraits
Definition
TrackerTraits.h:43
o2::its::VertexerTraits
Definition
VertexerTraits.h:48
o2::gpu
Definition
TrackTRD.h:35
o2::framework::ConcreteDataMatcher
Definition
ConcreteDataMatcher.h:54
o2::framework::DeviceSpec
Definition
DeviceSpec.h:48
o2::framework::DeviceSpec::name
std::string name
The name of the associated DataProcessorSpec.
Definition
DeviceSpec.h:50
o2::framework::DeviceSpec::inputTimesliceId
size_t inputTimesliceId
The time pipelining id of this particular device.
Definition
DeviceSpec.h:68
o2::gpu::GPURecoWorkflowSpec::Config::isITS3
bool isITS3
Definition
GPUWorkflowSpec.h:137
o2::gpu::GPURecoWorkflowSpec::Config::itsTriggerType
int32_t itsTriggerType
Definition
GPUWorkflowSpec.h:107
o2::gpu::GPURecoWorkflowSpec::Config::itsOverrBeamEst
bool itsOverrBeamEst
Definition
GPUWorkflowSpec.h:135
o2::gpu::GPURecoWorkflowSpec::Config::processMC
bool processMC
Definition
GPUWorkflowSpec.h:126
o2::its::TimeFrame::setDevicePropagator
virtual void setDevicePropagator(const o2::base::PropagatorImpl< float > *)
Definition
TimeFrame.h:247
GPU
Workflow
src
GPUWorkflowITS.cxx
Generated on Tue Mar 17 2026 23:25:14 for Project by
1.9.8