Skip to content

Commit fad8881

Browse files
f3schdavidrohr
authored andcommitted
GPU: Add ITS3 to workflow
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
1 parent 4952cee commit fad8881

File tree

4 files changed

+26
-4
lines changed

4 files changed

+26
-4
lines changed

GPU/Workflow/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ o2_add_library(GPUWorkflow
2727
O2::DataFormatsGlobalTracking
2828
O2::DataFormatsTRD
2929
PRIVATE_LINK_LIBRARIES O2::GPUTracking
30-
O2::ITSTrackingInterface)
30+
O2::ITSTrackingInterface
31+
$<$<BOOL:${ENABLE_UPGRADES}>:O2::ITS3TrackingInterface>)
3132

3233
o2_add_executable(reco-workflow
3334
COMPONENT_NAME gpu

GPU/Workflow/include/GPUWorkflow/GPUWorkflowSpec.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ class GPURecoWorkflowSpec : public o2::framework::Task
130130
bool runITSTracking = false;
131131
bool itsOverrBeamEst = false;
132132
bool tpcTriggerHandling = false;
133+
bool isITS3 = false;
133134
};
134135

135136
GPURecoWorkflowSpec(CompletionPolicyData* policyData, Config const& specconfig, std::vector<int32_t> const& tpcsectors, uint64_t tpcSectorMask, std::shared_ptr<o2::base::GRPGeomRequest>& ggr, std::function<bool(o2::framework::DataProcessingHeader::StartTime)>** gPolicyOrder = nullptr);

GPU/Workflow/src/GPUWorkflowITS.cxx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@
2020

2121
#include "ITStracking/TrackingInterface.h"
2222

23+
#ifdef ENABLE_UPGRADES
24+
#include "ITS3Reconstruction/TrackingInterface.h"
25+
#endif
26+
2327
namespace o2::gpu
2428
{
2529

@@ -35,6 +39,18 @@ void GPURecoWorkflowSpec::initFunctionITS(o2::framework::InitContext& ic)
3539
{
3640
o2::its::VertexerTraits* vtxTraits = nullptr;
3741
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+
}
3854
mITSTrackingInterface = std::make_unique<o2::its::ITSTrackingInterface>(mSpecConfig.processMC,
3955
mSpecConfig.itsTriggerType,
4056
mSpecConfig.itsOverrBeamEst);

GPU/Workflow/src/GPUWorkflowSpec.cxx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1174,9 +1174,13 @@ Inputs GPURecoWorkflowSpec::inputs()
11741174
} else if (mSpecConfig.itsTriggerType == 2) {
11751175
inputs.emplace_back("phystrig", "TRD", "TRKTRGRD", 0, Lifetime::Timeframe);
11761176
}
1177-
inputs.emplace_back("itscldict", "ITS", "CLUSDICT", 0, Lifetime::Condition, ccdbParamSpec("ITS/Calib/ClusterDictionary"));
1178-
inputs.emplace_back("itsalppar", "ITS", "ALPIDEPARAM", 0, Lifetime::Condition, ccdbParamSpec("ITS/Config/AlpideParam"));
1179-
1177+
if (mSpecConfig.isITS3) {
1178+
inputs.emplace_back("cldict", "IT3", "CLUSDICT", 0, Lifetime::Condition, ccdbParamSpec("IT3/Calib/ClusterDictionary"));
1179+
inputs.emplace_back("alppar", "ITS", "ALPIDEPARAM", 0, Lifetime::Condition, ccdbParamSpec("ITS/Config/AlpideParam"));
1180+
} else {
1181+
inputs.emplace_back("itscldict", "ITS", "CLUSDICT", 0, Lifetime::Condition, ccdbParamSpec("ITS/Calib/ClusterDictionary"));
1182+
inputs.emplace_back("itsalppar", "ITS", "ALPIDEPARAM", 0, Lifetime::Condition, ccdbParamSpec("ITS/Config/AlpideParam"));
1183+
}
11801184
if (mSpecConfig.itsOverrBeamEst) {
11811185
inputs.emplace_back("meanvtx", "GLO", "MEANVERTEX", 0, Lifetime::Condition, ccdbParamSpec("GLO/Calib/MeanVertex", {}, 1));
11821186
}

0 commit comments

Comments
 (0)