Skip to content

Commit d65b23e

Browse files
committed
demonstrate use of nested custom parameters in Late Tasks
1 parent c8e0eeb commit d65b23e

File tree

4 files changed

+28
-4
lines changed

4 files changed

+28
-4
lines changed

Framework/basic.json

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,16 @@
121121
"type": "Task",
122122
"name": "QcTask",
123123
"MOs": ["example"]
124-
}]
125-
124+
}],
125+
"extendedTaskParameters": {
126+
"default": {
127+
"default": {
128+
"plots" : {
129+
"nested": "value"
130+
}
131+
}
132+
}
133+
}
126134
}
127135
}
128136
},

Framework/include/QualityControl/LateTaskFactory.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ class LateTaskFactory
3535
auto* result = root_class_factory::create<LateTaskInterface>(taskConfig.moduleName, taskConfig.className);
3636
result->setName(taskConfig.taskName);
3737
result->setObjectsManager(objectsManager);
38-
// result->setCustomParameters(taskConfig.customParameters);
39-
// result->setCcdbUrl(taskConfig.ccdbUrl);
38+
result->setCustomParameters(taskConfig.customParameters);
39+
result->setCcdbUrl(taskConfig.ccdbUrl);
4040

4141
return result;
4242
}

Framework/src/InfrastructureSpecReader.cxx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -456,6 +456,15 @@ LateTaskSpec
456456
lts.updatePolicy = UpdatePolicyTypeUtils::FromString(policy.get());
457457
}
458458

459+
if (lateTaskTree.count("extendedTaskParameters") > 0) {
460+
lts.customParameters.populateCustomParameters(lateTaskTree.get_child("extendedTaskParameters"));
461+
} else if (lateTaskTree.count("taskParameters") > 0) {
462+
for (const auto& [key, value] : lateTaskTree.get_child("taskParameters")) {
463+
lts.customParameters.set(key, value.get_value<std::string>());
464+
}
465+
}
466+
467+
459468
// if (lateTaskTree.count("grpGeomRequest") > 0) {
460469
// lts.grpGeomRequestSpec = readSpecEntry<GRPGeomRequestSpec>(lts.taskName, lateTaskTree.get_child("grpGeomRequest"), wholeTree);
461470
// }

Modules/Skeleton/src/SkeletonLateTask.cxx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
#include "QualityControl/QCInputs.h"
2323
#include "QualityControl/QCInputsAdapters.h"
2424
#include "Skeleton/SkeletonLateTask.h"
25+
26+
#include <boost/property_tree/ptree.hpp>
2527
#include <Framework/InputRecordWalker.h>
2628
#include <Framework/DataRefUtils.h>
2729

@@ -46,6 +48,11 @@ void SkeletonLateTask::initialize(o2::framework::InitContext& /*ctx*/)
4648
mGraph->SetName("graph_example");
4749
mGraph->SetTitle("graph_example");
4850
getObjectsManager()->startPublishing(mGraph.get(), PublicationPolicy::Forever);
51+
52+
auto plots = mCustomParameters.getOptionalPtree("plots");
53+
if (plots.has_value()) {
54+
ILOG(Info, Support) << "nested param: " << plots.value().get<std::string>("nested") << ENDM;
55+
}
4956
}
5057

5158
void SkeletonLateTask::startOfActivity(const Activity& activity)

0 commit comments

Comments
 (0)