Skip to content

Commit 5d4d956

Browse files
matthias-kleinerdavidrohr
authored andcommitted
handle disable-ctp-lumi-request properly in all workflows
1 parent a0e5947 commit 5d4d956

File tree

16 files changed

+62
-44
lines changed

16 files changed

+62
-44
lines changed

Detectors/Align/Workflow/include/AlignmentWorkflow/BarrelAlignmentSpec.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,6 @@ using namespace o2::framework;
2121

2222
namespace o2
2323
{
24-
namespace tpc
25-
{
26-
struct CorrectionMapsLoaderGloOpts;
27-
}
2824

2925
namespace align
3026
{

Detectors/GlobalTrackingWorkflow/include/GlobalTrackingWorkflow/TOFMatcherSpec.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ namespace globaltracking
2525
{
2626

2727
/// create a processor spec
28-
framework::DataProcessorSpec getTOFMatcherSpec(o2::dataformats::GlobalTrackID::mask_t src, bool useMC, bool useFIT, bool tpcRefit, bool strict, float extratolerancetrd, bool pushMatchable, int nlanes = 1);
28+
framework::DataProcessorSpec getTOFMatcherSpec(o2::dataformats::GlobalTrackID::mask_t src, bool useMC, bool useFIT, bool tpcRefit, bool strict, float extratolerancetrd, bool pushMatchable, bool requestCTPLumi, int nlanes = 1);
2929

3030
} // namespace globaltracking
3131
} // namespace o2

Detectors/GlobalTrackingWorkflow/include/GlobalTrackingWorkflow/TPCITSMatchingSpec.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ namespace o2
2323
namespace globaltracking
2424
{
2525
/// create a processor spec
26-
framework::DataProcessorSpec getTPCITSMatchingSpec(o2::dataformats::GlobalTrackID::mask_t src, bool useFT0, bool calib, bool skipTPCOnly, bool useGeom, bool useMC);
26+
framework::DataProcessorSpec getTPCITSMatchingSpec(o2::dataformats::GlobalTrackID::mask_t src, bool useFT0, bool calib, bool skipTPCOnly, bool useGeom, bool useMC, bool requestCTPLumi);
2727

2828
} // namespace globaltracking
2929
} // namespace o2

Detectors/GlobalTrackingWorkflow/src/TOFMatcherSpec.cxx

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ namespace globaltracking
5959
class TOFMatcherSpec : public Task
6060
{
6161
public:
62-
TOFMatcherSpec(std::shared_ptr<DataRequest> dr, std::shared_ptr<o2::base::GRPGeomRequest> gr, bool useMC, bool useFIT, bool tpcRefit, bool strict, bool pushMatchable, int lanes = 1) : mDataRequest(dr), mGGCCDBRequest(gr), mUseMC(useMC), mUseFIT(useFIT), mDoTPCRefit(tpcRefit), mStrict(strict), mPushMatchable(pushMatchable), mNlanes(lanes) {}
62+
TOFMatcherSpec(std::shared_ptr<DataRequest> dr, std::shared_ptr<o2::base::GRPGeomRequest> gr, bool useMC, bool useFIT, bool tpcRefit, bool strict, bool pushMatchable, int lanes = 1, bool requestCTPLumi = false) : mDataRequest(dr), mGGCCDBRequest(gr), mUseMC(useMC), mUseFIT(useFIT), mDoTPCRefit(tpcRefit), mStrict(strict), mPushMatchable(pushMatchable), mNlanes(lanes), mRequestCTPLumi(requestCTPLumi) {}
6363
~TOFMatcherSpec() override = default;
6464
void init(InitContext& ic) final;
6565
void run(ProcessingContext& pc) final;
@@ -79,6 +79,7 @@ class TOFMatcherSpec : public Task
7979
bool mPushMatchable = false;
8080
float mExtraTolTRD = 0.;
8181
int mNlanes = 1;
82+
bool mRequestCTPLumi = false;
8283
MatchTOF mMatcher; ///< Cluster finder
8384
TStopwatch mTimer;
8485
};
@@ -102,7 +103,7 @@ void TOFMatcherSpec::updateTimeDependentParams(ProcessingContext& pc)
102103
mTPCVDriftHelper.extractCCDBInputs(pc);
103104
auto const& raw = pc.inputs().get<const char*>("corrMap");
104105
mTPCCorrMaps = &o2::gpu::TPCFastTransformPOD::get(raw);
105-
float lumiCTP = pc.inputs().get<float>("lumiCTP");
106+
float lumiCTP = mRequestCTPLumi ? pc.inputs().get<float>("lumiCTP") : 0;
106107
static bool initOnceDone = false;
107108
if (!initOnceDone) { // this params need to be queried only once
108109
const auto bcs = o2::base::GRPGeomHelper::instance().getGRPLHCIF()->getBunchFilling().getFilledBCs();
@@ -230,7 +231,7 @@ void TOFMatcherSpec::endOfStream(EndOfStreamContext& ec)
230231
mTimer.CpuTime(), mTimer.RealTime(), mTimer.Counter() - 1);
231232
}
232233

233-
DataProcessorSpec getTOFMatcherSpec(GID::mask_t src, bool useMC, bool useFIT, bool tpcRefit, bool strict, float extratolerancetrd, bool pushMatchable, int nlanes)
234+
DataProcessorSpec getTOFMatcherSpec(GID::mask_t src, bool useMC, bool useFIT, bool tpcRefit, bool strict, float extratolerancetrd, bool pushMatchable, bool requestCTPLumi, int nlanes)
234235
{
235236
uint32_t ss = o2::globaltracking::getSubSpec(strict ? o2::globaltracking::MatchingType::Strict : o2::globaltracking::MatchingType::Standard);
236237
Options opts;
@@ -257,7 +258,9 @@ DataProcessorSpec getTOFMatcherSpec(GID::mask_t src, bool useMC, bool useFIT, bo
257258
true);
258259
o2::tpc::VDriftHelper::requestCCDBInputs(dataRequest->inputs);
259260
dataRequest->inputs.emplace_back("corrMap", o2::header::gDataOriginTPC, "TPCCORRMAP", 0, Lifetime::Timeframe);
260-
dataRequest->inputs.emplace_back("lumiCTP", o2::header::gDataOriginCTP, "LUMICTP", 0, Lifetime::Timeframe);
261+
if (requestCTPLumi) {
262+
dataRequest->inputs.emplace_back("lumiCTP", o2::header::gDataOriginCTP, "LUMICTP", 0, Lifetime::Timeframe);
263+
}
261264
std::vector<OutputSpec> outputs;
262265
if (GID::includesSource(GID::TPC, src)) {
263266
outputs.emplace_back(o2::header::gDataOriginTOF, "MTC_TPC", ss, Lifetime::Timeframe);
@@ -311,7 +314,7 @@ DataProcessorSpec getTOFMatcherSpec(GID::mask_t src, bool useMC, bool useFIT, bo
311314
"tof-matcher",
312315
dataRequest->inputs,
313316
outputs,
314-
AlgorithmSpec{adaptFromTask<TOFMatcherSpec>(dataRequest, ggRequest, useMC, useFIT, tpcRefit, strict, pushMatchable, nlanes)},
317+
AlgorithmSpec{adaptFromTask<TOFMatcherSpec>(dataRequest, ggRequest, useMC, useFIT, tpcRefit, strict, pushMatchable, nlanes, requestCTPLumi)},
315318
opts};
316319
}
317320

Detectors/GlobalTrackingWorkflow/src/TPCITSMatchingSpec.cxx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ class TPCITSMatchingDPL : public Task
7070
{
7171
public:
7272
TPCITSMatchingDPL(std::shared_ptr<DataRequest> dr, std::shared_ptr<o2::base::GRPGeomRequest> gr,
73-
bool useFT0, bool calib, bool skipTPCOnly, bool useMC)
74-
: mDataRequest(dr), mGGCCDBRequest(gr), mUseFT0(useFT0), mCalibMode(calib), mSkipTPCOnly(skipTPCOnly), mUseMC(useMC) {}
73+
bool useFT0, bool calib, bool skipTPCOnly, bool useMC, bool requestCTPLumi)
74+
: mDataRequest(dr), mGGCCDBRequest(gr), mUseFT0(useFT0), mCalibMode(calib), mSkipTPCOnly(skipTPCOnly), mUseMC(useMC), mRequestCTPLumi(requestCTPLumi) {}
7575
~TPCITSMatchingDPL() override = default;
7676
void init(InitContext& ic) final;
7777
void run(ProcessingContext& pc) final;
@@ -89,6 +89,7 @@ class TPCITSMatchingDPL : public Task
8989
bool mCalibMode = false;
9090
bool mSkipTPCOnly = false; // to use only externally constrained tracks (for test only)
9191
bool mUseMC = true;
92+
bool mRequestCTPLumi = false;
9293
TStopwatch mTimer;
9394
};
9495

@@ -186,7 +187,7 @@ void TPCITSMatchingDPL::updateTimeDependentParams(ProcessingContext& pc)
186187
mTPCVDriftHelper.extractCCDBInputs(pc);
187188
auto const& raw = pc.inputs().get<const char*>("corrMap");
188189
mTPCCorrMaps = &o2::gpu::TPCFastTransformPOD::get(raw);
189-
float lumiCTP = pc.inputs().get<float>("lumiCTP");
190+
float lumiCTP = mRequestCTPLumi ? pc.inputs().get<float>("lumiCTP") : 0;
190191

191192
static bool initOnceDone = false;
192193
if (!initOnceDone) { // this params need to be queried only once
@@ -234,7 +235,7 @@ void TPCITSMatchingDPL::updateTimeDependentParams(ProcessingContext& pc)
234235
}
235236
}
236237

237-
DataProcessorSpec getTPCITSMatchingSpec(GTrackID::mask_t src, bool useFT0, bool calib, bool skipTPCOnly, bool useGeom, bool useMC)
238+
DataProcessorSpec getTPCITSMatchingSpec(GTrackID::mask_t src, bool useFT0, bool calib, bool skipTPCOnly, bool useGeom, bool useMC, bool requestCTPLumi)
238239
{
239240
std::vector<OutputSpec> outputs;
240241
auto dataRequest = std::make_shared<DataRequest>();
@@ -291,12 +292,14 @@ DataProcessorSpec getTPCITSMatchingSpec(GTrackID::mask_t src, bool useFT0, bool
291292

292293
o2::tpc::VDriftHelper::requestCCDBInputs(dataRequest->inputs);
293294
dataRequest->inputs.emplace_back("corrMap", o2::header::gDataOriginTPC, "TPCCORRMAP", 0, Lifetime::Timeframe);
294-
dataRequest->inputs.emplace_back("lumiCTP", o2::header::gDataOriginCTP, "LUMICTP", 0, Lifetime::Timeframe);
295+
if (requestCTPLumi) {
296+
dataRequest->inputs.emplace_back("lumiCTP", o2::header::gDataOriginCTP, "LUMICTP", 0, Lifetime::Timeframe);
297+
}
295298
return DataProcessorSpec{
296299
"itstpc-track-matcher",
297300
dataRequest->inputs,
298301
outputs,
299-
AlgorithmSpec{adaptFromTask<TPCITSMatchingDPL>(dataRequest, ggRequest, useFT0, calib, skipTPCOnly, useMC)},
302+
AlgorithmSpec{adaptFromTask<TPCITSMatchingDPL>(dataRequest, ggRequest, useFT0, calib, skipTPCOnly, useMC, requestCTPLumi)},
300303
opts};
301304
}
302305

Detectors/GlobalTrackingWorkflow/src/tof-matcher-workflow.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ WorkflowSpec defineDataProcessing(ConfigContext const& configcontext)
171171
if (!configcontext.options().get<bool>("disable-root-input")) {
172172
specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt.lumiType == o2::tpc::LumiScaleType::TPCScaler, sclOpt.enableMShapeCorrection, sclOpt));
173173
}
174-
specs.emplace_back(o2::globaltracking::getTOFMatcherSpec(src, useMC, useFIT, refitTPCTOF, strict, extratolerancetrd, writeMatchable, nLanes)); // doTPCrefit not yet supported (need to load TPC clusters?)
174+
specs.emplace_back(o2::globaltracking::getTOFMatcherSpec(src, useMC, useFIT, refitTPCTOF, strict, extratolerancetrd, writeMatchable, sclOpt.requestCTPLumi, nLanes)); // doTPCrefit not yet supported (need to load TPC clusters?)
175175

176176
if (!disableRootOut) {
177177
std::vector<DataProcessorSpec> writers;

Detectors/GlobalTrackingWorkflow/src/tpcits-match-workflow.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ WorkflowSpec defineDataProcessing(o2::framework::ConfigContext const& configcont
9393
if (!configcontext.options().get<bool>("disable-root-input")) {
9494
specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt.lumiType == o2::tpc::LumiScaleType::TPCScaler, sclOpt.enableMShapeCorrection, sclOpt));
9595
}
96-
specs.emplace_back(o2::globaltracking::getTPCITSMatchingSpec(srcL, useFT0, calib, !GID::includesSource(GID::TPC, src), useGeom, useMC));
96+
specs.emplace_back(o2::globaltracking::getTPCITSMatchingSpec(srcL, useFT0, calib, !GID::includesSource(GID::TPC, src), useGeom, useMC, sclOpt.requestCTPLumi));
9797

9898
if (!configcontext.options().get<bool>("disable-root-output")) {
9999
specs.emplace_back(o2::globaltracking::getTrackWriterTPCITSSpec(useMC));

Detectors/TPC/workflow/src/TPCScalerSpec.cxx

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -171,10 +171,12 @@ class TPCScalerSpec : public Task
171171
// check for Maps update
172172
mTPCCorrMapsLoader.extractCCDBInputs(pc, tpcScaler);
173173

174-
const float lumiCTP = mTPCCorrMapsLoader.getInstLumiCTP();
175-
// if CTP lumi was notrequest - defualt of 0 is published, otherwise the value is scaled with the provided factor
176-
LOGP(info, "Publishing CTP Lumi: {} for timestamp: {}, firstTFOrbit: {}", lumiCTP, timestamp, firstTFOrbit);
177-
pc.outputs().snapshot(Output{header::gDataOriginCTP, "LUMICTP"}, lumiCTP);
174+
if (mGlobOpts.requestCTPLumi) {
175+
const float lumiCTP = mTPCCorrMapsLoader.getInstLumiCTP();
176+
// if CTP lumi was notrequest - defualt of 0 is published, otherwise the value is scaled with the provided factor
177+
LOGP(info, "Publishing CTP Lumi: {} for timestamp: {}, firstTFOrbit: {}", lumiCTP, timestamp, firstTFOrbit);
178+
pc.outputs().snapshot(Output{header::gDataOriginCTP, "LUMICTP"}, lumiCTP);
179+
}
178180

179181
buildMap(pc);
180182
}
@@ -323,7 +325,9 @@ o2::framework::DataProcessorSpec getTPCScalerSpec(bool enableIDCs, bool enableMS
323325

324326
std::vector<OutputSpec> outputs;
325327
outputs.emplace_back(o2::header::gDataOriginTPC, "TPCCORRMAP", 0, Lifetime::Timeframe);
326-
outputs.emplace_back(o2::header::gDataOriginCTP, "LUMICTP", 0, Lifetime::Timeframe);
328+
if (sclOpts.requestCTPLumi) {
329+
outputs.emplace_back(o2::header::gDataOriginCTP, "LUMICTP", 0, Lifetime::Timeframe);
330+
}
327331
o2::tpc::VDriftHelper::requestCCDBInputs(inputs);
328332
o2::tpc::CorrectionMapsLoader::requestCCDBInputs(inputs, sclOpts);
329333

Detectors/TRD/workflow/include/TRDWorkflow/TRDGlobalTrackingSpec.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class TRDGlobalTracking : public o2::framework::Task
5252
{
5353
public:
5454
TRDGlobalTracking(bool useMC, bool withPID, PIDPolicy policy, std::shared_ptr<o2::globaltracking::DataRequest> dataRequest, std::shared_ptr<o2::base::GRPGeomRequest> gr,
55-
o2::dataformats::GlobalTrackID::mask_t src, bool trigRecFilterActive, bool strict) : mUseMC(useMC), mWithPID(withPID), mDataRequest(dataRequest), mGGCCDBRequest(gr), mTrkMask(src), mTrigRecFilter(trigRecFilterActive), mStrict(strict), mPolicy(policy) {}
55+
o2::dataformats::GlobalTrackID::mask_t src, bool trigRecFilterActive, bool strict, bool requestCTPLumi) : mUseMC(useMC), mWithPID(withPID), mDataRequest(dataRequest), mGGCCDBRequest(gr), mTrkMask(src), mTrigRecFilter(trigRecFilterActive), mStrict(strict), mPolicy(policy), mRequestCTPLumi(requestCTPLumi) {}
5656
~TRDGlobalTracking() override = default;
5757
void init(o2::framework::InitContext& ic) final;
5858
void fillMCTruthInfo(const TrackTRD& trk, o2::MCCompLabel lblSeed, std::vector<o2::MCCompLabel>& lblContainerTrd, std::vector<o2::MCCompLabel>& lblContainerMatch, const o2::dataformats::MCTruthContainer<o2::MCCompLabel>* trkltLabels) const;
@@ -105,11 +105,12 @@ class TRDGlobalTracking : public o2::framework::Task
105105
std::array<float, 5> mCovDiagOuter{}; ///< total cov.matrix extra diagonal error from TrackTuneParams
106106
// PID
107107
PIDPolicy mPolicy{PIDPolicy::DEFAULT}; ///< Model to load an evaluate
108+
bool mRequestCTPLumi{false}; ///< whether to request CTP lumi
108109
std::unique_ptr<PIDBase> mBase; ///< PID engine
109110
};
110111

111112
/// create a processor spec
112-
framework::DataProcessorSpec getTRDGlobalTrackingSpec(bool useMC, o2::dataformats::GlobalTrackID::mask_t src, bool trigRecFilterActive, bool strict /* = false*/, bool withPID /* = false*/, PIDPolicy policy /* = PIDPolicy::DEFAULT*/);
113+
framework::DataProcessorSpec getTRDGlobalTrackingSpec(bool useMC, o2::dataformats::GlobalTrackID::mask_t src, bool trigRecFilterActive, bool strict /* = false*/, bool withPID /* = false*/, PIDPolicy policy /* = PIDPolicy::DEFAULT*/, bool requestCTPLumi);
113114

114115
} // namespace trd
115116
} // namespace o2

Detectors/TRD/workflow/src/TRDGlobalTrackingSpec.cxx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ void TRDGlobalTracking::updateTimeDependentParams(ProcessingContext& pc)
9393

9494
auto const& raw = pc.inputs().get<const char*>("corrMap");
9595
mTPCCorrMaps = &o2::gpu::TPCFastTransformPOD::get(raw);
96-
float lumiCTP = pc.inputs().get<float>("lumiCTP");
96+
float lumiCTP = mRequestCTPLumi ? pc.inputs().get<float>("lumiCTP") : 0;
9797

9898
// pc.inputs().get<TopologyDictionary*>("cldict"); // called by the RecoContainer to trigger finaliseCCDB
9999
static bool initOnceDone = false;
@@ -853,7 +853,7 @@ void TRDGlobalTracking::endOfStream(EndOfStreamContext& ec)
853853
mTimer.CpuTime(), mTimer.RealTime(), mTimer.Counter() - 1);
854854
}
855855

856-
DataProcessorSpec getTRDGlobalTrackingSpec(bool useMC, GTrackID::mask_t src, bool trigRecFilterActive, bool strict, bool withPID, PIDPolicy policy)
856+
DataProcessorSpec getTRDGlobalTrackingSpec(bool useMC, GTrackID::mask_t src, bool trigRecFilterActive, bool strict, bool withPID, PIDPolicy policy, bool requestCTPLumi)
857857
{
858858
std::vector<OutputSpec> outputs;
859859
uint32_t ss = o2::globaltracking::getSubSpec(strict ? o2::globaltracking::MatchingType::Strict : o2::globaltracking::MatchingType::Standard);
@@ -892,7 +892,10 @@ DataProcessorSpec getTRDGlobalTrackingSpec(bool useMC, GTrackID::mask_t src, boo
892892
Options opts;
893893

894894
dataRequest->inputs.emplace_back("corrMap", o2::header::gDataOriginTPC, "TPCCORRMAP", 0, Lifetime::Timeframe);
895-
dataRequest->inputs.emplace_back("lumiCTP", o2::header::gDataOriginCTP, "LUMICTP", 0, Lifetime::Timeframe);
895+
896+
if (requestCTPLumi) {
897+
dataRequest->inputs.emplace_back("lumiCTP", o2::header::gDataOriginCTP, "LUMICTP", 0, Lifetime::Timeframe);
898+
}
896899

897900
// Request PID policy data
898901
if (withPID) {
@@ -955,7 +958,7 @@ DataProcessorSpec getTRDGlobalTrackingSpec(bool useMC, GTrackID::mask_t src, boo
955958
processorName,
956959
inputs,
957960
outputs,
958-
AlgorithmSpec{adaptFromTask<TRDGlobalTracking>(useMC, withPID, policy, dataRequest, ggRequest, src, trigRecFilterActive, strict)},
961+
AlgorithmSpec{adaptFromTask<TRDGlobalTracking>(useMC, withPID, policy, dataRequest, ggRequest, src, trigRecFilterActive, strict, requestCTPLumi)},
959962
opts};
960963
}
961964

0 commit comments

Comments
 (0)