From 7a97a7c50b65dca74334b50c9860929402e9177a Mon Sep 17 00:00:00 2001 From: Matthias Kleiner Date: Thu, 3 Sep 2026 12:59:39 +0200 Subject: [PATCH 1/2] TPC: move disable-IDC-scalers to CorrectionMapsOptions --- Detectors/TPC/calibration/src/CorrectionMapsOptions.cxx | 2 ++ Detectors/TPC/workflow/src/tpc-refitter-workflow.cxx | 6 +----- Detectors/TPC/workflow/src/tpc-scaler.cxx | 8 ++------ GPU/TPCFastTransformation/CorrectionMapsTypes.h | 1 + 4 files changed, 6 insertions(+), 11 deletions(-) diff --git a/Detectors/TPC/calibration/src/CorrectionMapsOptions.cxx b/Detectors/TPC/calibration/src/CorrectionMapsOptions.cxx index 6982aba4471cf..04616cbd4b014 100644 --- a/Detectors/TPC/calibration/src/CorrectionMapsOptions.cxx +++ b/Detectors/TPC/calibration/src/CorrectionMapsOptions.cxx @@ -34,6 +34,7 @@ CorrectionMapsGloOpts CorrectionMapsOptions::parseGlobalOptions(const o2::framew tpcopt.enableMShapeCorrection = opts.get("enable-M-shape-correction"); tpcopt.enableSecEdgeFlucCorrection = !opts.get("disable-sec-edge-fluc-correction"); + tpcopt.enableIDCScalers = !opts.get("disable-IDC-scalers"); tpcopt.requestCTPLumi = !opts.get("disable-ctp-lumi-request"); tpcopt.checkCTPIDCconsistency = !opts.get("disable-lumi-type-consistency-check"); if (!tpcopt.requestCTPLumi && tpcopt.lumiType == LumiScaleType::CTPLumi) { @@ -51,6 +52,7 @@ void CorrectionMapsOptions::addGlobalOptions(std::vector& optio addOption(options, ConfigParamSpec{"disable-ctp-lumi-request", o2::framework::VariantType::Bool, false, {"do not request CTP lumi (regardless what is used for corrections)"}}); addOption(options, ConfigParamSpec{"disable-lumi-type-consistency-check", o2::framework::VariantType::Bool, false, {"disable check of selected CTP or IDC scaling source being consistent with the map"}}); addOption(options, ConfigParamSpec{"disable-sec-edge-fluc-correction", o2::framework::VariantType::Bool, false, {"Disable sector edge fluctuation correction"}}); + addOption(options, ConfigParamSpec{"disable-IDC-scalers", o2::framework::VariantType::Bool, false, {"Disable TPC scalers for space-charge distortion fluctuation correction"}}); } void CorrectionMapsOptions::addOption(std::vector& options, ConfigParamSpec&& osp) diff --git a/Detectors/TPC/workflow/src/tpc-refitter-workflow.cxx b/Detectors/TPC/workflow/src/tpc-refitter-workflow.cxx index 567d9caf14bc6..1167ffe9adfd2 100644 --- a/Detectors/TPC/workflow/src/tpc-refitter-workflow.cxx +++ b/Detectors/TPC/workflow/src/tpc-refitter-workflow.cxx @@ -44,8 +44,6 @@ void customize(std::vector& workflowOptions) {"track-sources", VariantType::String, std::string{GID::ALL}, {"comma-separated list of track sources to use"}}, {"cluster-sources", VariantType::String, std::string{GID::ALL}, {"comma-separated list of cluster sources to use"}}, {"disable-root-input", VariantType::Bool, false, {"disable root-files input reader"}}, - {"enable-M-shape-correction", VariantType::Bool, false, {"Enable M-shape distortion correction"}}, - {"disable-IDC-scalers", VariantType::Bool, false, {"Disable TPC scalers for space-charge distortion fluctuation correction"}}, {"configKeyValues", VariantType::String, "", {"Semicolon separated key=value strings ..."}}}; o2::tpc::CorrectionMapsOptions::addGlobalOptions(options); o2::raw::HBFUtilsInitializer::addConfigOption(options); @@ -76,9 +74,7 @@ WorkflowSpec defineDataProcessing(ConfigContext const& configcontext) srcCls = srcCls | GID::getSourcesMask("CTP"); } - const auto enableMShape = configcontext.options().get("enable-M-shape-correction"); - const auto enableIDCs = !configcontext.options().get("disable-IDC-scalers"); - specs.emplace_back(o2::tpc::getTPCScalerSpec(enableIDCs, enableMShape, sclOpt)); + specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt.enableIDCScalers, sclOpt.enableMShapeCorrection, sclOpt)); o2::globaltracking::InputHelper::addInputSpecs(configcontext, specs, srcCls, srcTrc, srcTrc, useMC); o2::globaltracking::InputHelper::addInputSpecsPVertex(configcontext, specs, useMC); // P-vertex is always needed diff --git a/Detectors/TPC/workflow/src/tpc-scaler.cxx b/Detectors/TPC/workflow/src/tpc-scaler.cxx index d3893c0eafe84..5086861739e18 100644 --- a/Detectors/TPC/workflow/src/tpc-scaler.cxx +++ b/Detectors/TPC/workflow/src/tpc-scaler.cxx @@ -23,9 +23,7 @@ void customize(std::vector& workflowOptions) { // option allowing to set parameters std::vector options{ - ConfigParamSpec{"configKeyValues", VariantType::String, "", {"Semicolon separated key=value strings"}}, - {"enable-M-shape-correction", VariantType::Bool, false, {"Enable M-shape distortion correction"}}, - {"disable-IDC-scalers", VariantType::Bool, false, {"Disable TPC scalers for space-charge distortion fluctuation correction"}}}; + ConfigParamSpec{"configKeyValues", VariantType::String, "", {"Semicolon separated key=value strings"}}}; o2::tpc::CorrectionMapsOptions::addGlobalOptions(options); std::swap(workflowOptions, options); } @@ -36,9 +34,7 @@ WorkflowSpec defineDataProcessing(ConfigContext const& config) { WorkflowSpec workflow; o2::conf::ConfigurableParam::updateFromString(config.options().get("configKeyValues")); - const auto enableMShape = config.options().get("enable-M-shape-correction"); - const auto enableIDCs = !config.options().get("disable-IDC-scalers"); auto sclOpt = o2::tpc::CorrectionMapsOptions::parseGlobalOptions(config.options()); - workflow.emplace_back(o2::tpc::getTPCScalerSpec(enableIDCs, enableMShape, sclOpt)); + workflow.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt.enableIDCScalers, sclOpt.enableMShapeCorrection, sclOpt)); return workflow; } diff --git a/GPU/TPCFastTransformation/CorrectionMapsTypes.h b/GPU/TPCFastTransformation/CorrectionMapsTypes.h index 94ea96c5ac7e5..f50307a0f4707 100644 --- a/GPU/TPCFastTransformation/CorrectionMapsTypes.h +++ b/GPU/TPCFastTransformation/CorrectionMapsTypes.h @@ -43,6 +43,7 @@ struct CorrectionMapsGloOpts { bool requestCTPLumi = true; ///< request CTP Lumi regardless of what is used for corrections scaling bool checkCTPIDCconsistency = true; ///< check the selected CTP or IDC scaling source being consistent with mean scaler of the map bool enableSecEdgeFlucCorrection = true; ///< enable correction of sector edge fluctuations + bool enableIDCScalers = true; ///< enable TPC scalers for space-charge distortion fluctuation correction }; } // namespace o2::tpc #endif From cd73febaa97ff959af88e2c015364fb265c3de6c Mon Sep 17 00:00:00 2001 From: Matthias Kleiner Date: Thu, 3 Sep 2026 13:55:47 +0200 Subject: [PATCH 2/2] TPC: derive enableIDCs from lumiType==TPCScaler in getTPCScalerSpec Unify getTPCScalerSpec() across all 13 call sites to take just CorrectionMapsGloOpts and derive enableIDCs/enableMShape internally, instead of passing them as separate bools. This removes the disable-IDC-scalers CLI flag and enableIDCScalers field added in the previous commit: tpc-scaler.cxx/tpc-refitter-workflow.cxx now derive enableIDCs the same way as every other caller already did (sclOpts.lumiType == LumiScaleType::TPCScaler), instead of a separate manual override. dpl-workflow.sh's parse_TPC_CORR_SCALING() previously hand-replicated this exact lumiType==TPCScaler logic externally (IGNOREIDC) just to synthesize --disable-IDC-scalers for o2-tpc-scaler-workflow; that workaround is now unnecessary and removed. --- Detectors/Align/Workflow/src/barrel-alignment-workflow.cxx | 2 +- .../GlobalTrackingWorkflow/src/cosmics-match-workflow.cxx | 2 +- .../src/secondary-vertexing-workflow.cxx | 2 +- .../GlobalTrackingWorkflow/src/tof-matcher-workflow.cxx | 2 +- .../GlobalTrackingWorkflow/src/tpcits-match-workflow.cxx | 2 +- .../study/src/tpc-track-study-workflow.cxx | 2 +- .../study/src/trackMCStudy-workflow.cxx | 2 +- .../study/src/tracking-study-workflow.cxx | 2 +- Detectors/TPC/calibration/src/CorrectionMapsOptions.cxx | 2 -- Detectors/TPC/workflow/include/TPCWorkflow/TPCScalerSpec.h | 2 +- Detectors/TPC/workflow/src/RecoWorkflow.cxx | 4 ++-- Detectors/TPC/workflow/src/TPCScalerSpec.cxx | 4 +++- Detectors/TPC/workflow/src/tpc-calib-gainmap-tracks.cxx | 2 +- Detectors/TPC/workflow/src/tpc-refitter-workflow.cxx | 2 +- Detectors/TPC/workflow/src/tpc-scaler.cxx | 2 +- Detectors/TRD/workflow/src/trd-tracking-workflow.cxx | 2 +- GPU/TPCFastTransformation/CorrectionMapsTypes.h | 1 - prodtests/full-system-test/dpl-workflow.sh | 6 ++---- 18 files changed, 20 insertions(+), 23 deletions(-) diff --git a/Detectors/Align/Workflow/src/barrel-alignment-workflow.cxx b/Detectors/Align/Workflow/src/barrel-alignment-workflow.cxx index 07224702b1be1..276c7a4e82601 100644 --- a/Detectors/Align/Workflow/src/barrel-alignment-workflow.cxx +++ b/Detectors/Align/Workflow/src/barrel-alignment-workflow.cxx @@ -151,7 +151,7 @@ WorkflowSpec defineDataProcessing(ConfigContext const& configcontext) } if (!configcontext.options().get("disable-root-input")) { - specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt.lumiType == o2::tpc::LumiScaleType::TPCScaler, sclOpt.enableMShapeCorrection, sclOpt)); + specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt)); } specs.emplace_back(o2::align::getBarrelAlignmentSpec(srcMP, src, dets, skipDetClusters, enableCosmic, postprocess, useMC)); diff --git a/Detectors/GlobalTrackingWorkflow/src/cosmics-match-workflow.cxx b/Detectors/GlobalTrackingWorkflow/src/cosmics-match-workflow.cxx index 6148894fcbb8a..46cfd641b3165 100644 --- a/Detectors/GlobalTrackingWorkflow/src/cosmics-match-workflow.cxx +++ b/Detectors/GlobalTrackingWorkflow/src/cosmics-match-workflow.cxx @@ -107,7 +107,7 @@ WorkflowSpec defineDataProcessing(ConfigContext const& configcontext) GID::mask_t srcCl = src; GID::mask_t dummy; if (!configcontext.options().get("disable-root-input")) { - specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt.lumiType == o2::tpc::LumiScaleType::TPCScaler, sclOpt.enableMShapeCorrection, sclOpt)); + specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt)); } bool usePV = configcontext.options().get("use-pv-info"); specs.emplace_back(o2::globaltracking::getCosmicsMatchingSpec(src, usePV, useMC)); diff --git a/Detectors/GlobalTrackingWorkflow/src/secondary-vertexing-workflow.cxx b/Detectors/GlobalTrackingWorkflow/src/secondary-vertexing-workflow.cxx index e630a8dad72dd..937c995626ef5 100644 --- a/Detectors/GlobalTrackingWorkflow/src/secondary-vertexing-workflow.cxx +++ b/Detectors/GlobalTrackingWorkflow/src/secondary-vertexing-workflow.cxx @@ -102,7 +102,7 @@ WorkflowSpec defineDataProcessing(ConfigContext const& configcontext) } WorkflowSpec specs; if (!configcontext.options().get("disable-root-input")) { - specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt.lumiType == o2::tpc::LumiScaleType::TPCScaler, sclOpt.enableMShapeCorrection, sclOpt)); + specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt)); } specs.emplace_back(o2::vertexing::getSecondaryVertexingSpec(src, enableCasc, enable3body, enableStrTr, enableCCDBParams, useMC, useGeom)); diff --git a/Detectors/GlobalTrackingWorkflow/src/tof-matcher-workflow.cxx b/Detectors/GlobalTrackingWorkflow/src/tof-matcher-workflow.cxx index 96d7c783022c3..b34a7441a918d 100644 --- a/Detectors/GlobalTrackingWorkflow/src/tof-matcher-workflow.cxx +++ b/Detectors/GlobalTrackingWorkflow/src/tof-matcher-workflow.cxx @@ -169,7 +169,7 @@ WorkflowSpec defineDataProcessing(ConfigContext const& configcontext) } } if (!configcontext.options().get("disable-root-input")) { - specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt.lumiType == o2::tpc::LumiScaleType::TPCScaler, sclOpt.enableMShapeCorrection, sclOpt)); + specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt)); } 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?) diff --git a/Detectors/GlobalTrackingWorkflow/src/tpcits-match-workflow.cxx b/Detectors/GlobalTrackingWorkflow/src/tpcits-match-workflow.cxx index 78e5db9e4b391..79ca13430ccd9 100644 --- a/Detectors/GlobalTrackingWorkflow/src/tpcits-match-workflow.cxx +++ b/Detectors/GlobalTrackingWorkflow/src/tpcits-match-workflow.cxx @@ -94,7 +94,7 @@ WorkflowSpec defineDataProcessing(o2::framework::ConfigContext const& configcont o2::framework::WorkflowSpec specs; if (!configcontext.options().get("disable-root-input")) { - specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt.lumiType == o2::tpc::LumiScaleType::TPCScaler, sclOpt.enableMShapeCorrection, sclOpt)); + specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt)); } specs.emplace_back(o2::globaltracking::getTPCITSMatchingSpec(srcL, useFT0, calib, !GID::includesSource(GID::TPC, src), useGeom, useMC, sclOpt.requestCTPLumi)); diff --git a/Detectors/GlobalTrackingWorkflow/study/src/tpc-track-study-workflow.cxx b/Detectors/GlobalTrackingWorkflow/study/src/tpc-track-study-workflow.cxx index e255295d7665f..929035dfab4fd 100644 --- a/Detectors/GlobalTrackingWorkflow/study/src/tpc-track-study-workflow.cxx +++ b/Detectors/GlobalTrackingWorkflow/study/src/tpc-track-study-workflow.cxx @@ -72,7 +72,7 @@ WorkflowSpec defineDataProcessing(ConfigContext const& configcontext) o2::globaltracking::InputHelper::addInputSpecs(configcontext, specs, srcCls, srcTrc, srcTrc, useMC); o2::globaltracking::InputHelper::addInputSpecsPVertex(configcontext, specs, useMC); // P-vertex is always needed if (!configcontext.options().get("disable-root-input")) { - specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt.lumiType == o2::tpc::LumiScaleType::TPCScaler, sclOpt.enableMShapeCorrection, sclOpt)); + specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt)); } specs.emplace_back(o2::trackstudy::getTPCTrackStudySpec(srcTrc, srcCls, useMC)); diff --git a/Detectors/GlobalTrackingWorkflow/study/src/trackMCStudy-workflow.cxx b/Detectors/GlobalTrackingWorkflow/study/src/trackMCStudy-workflow.cxx index 50cc768bdc98d..07eb271f66580 100644 --- a/Detectors/GlobalTrackingWorkflow/study/src/trackMCStudy-workflow.cxx +++ b/Detectors/GlobalTrackingWorkflow/study/src/trackMCStudy-workflow.cxx @@ -83,7 +83,7 @@ WorkflowSpec defineDataProcessing(ConfigContext const& configcontext) o2::globaltracking::InputHelper::addInputSpecsSVertex(configcontext, specs); } if (!configcontext.options().get("disable-root-input")) { - specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt.lumiType == o2::tpc::LumiScaleType::TPCScaler, sclOpt.enableMShapeCorrection, sclOpt)); + specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt)); } specs.emplace_back(o2::trackstudy::getTrackMCStudySpec(srcTrc, srcCls, checkSV)); diff --git a/Detectors/GlobalTrackingWorkflow/study/src/tracking-study-workflow.cxx b/Detectors/GlobalTrackingWorkflow/study/src/tracking-study-workflow.cxx index fa69d9f2808e0..97fefe6dd818c 100644 --- a/Detectors/GlobalTrackingWorkflow/study/src/tracking-study-workflow.cxx +++ b/Detectors/GlobalTrackingWorkflow/study/src/tracking-study-workflow.cxx @@ -72,7 +72,7 @@ WorkflowSpec defineDataProcessing(ConfigContext const& configcontext) srcCls = srcCls | GID::getSourcesMask("CTP"); } if (!configcontext.options().get("disable-root-input")) { - specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt.lumiType == o2::tpc::LumiScaleType::TPCScaler, sclOpt.enableMShapeCorrection, sclOpt)); + specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt)); } o2::globaltracking::InputHelper::addInputSpecs(configcontext, specs, srcCls, srcTrc, srcTrc, useMC); o2::globaltracking::InputHelper::addInputSpecsPVertex(configcontext, specs, useMC); // P-vertex is always needed diff --git a/Detectors/TPC/calibration/src/CorrectionMapsOptions.cxx b/Detectors/TPC/calibration/src/CorrectionMapsOptions.cxx index 04616cbd4b014..6982aba4471cf 100644 --- a/Detectors/TPC/calibration/src/CorrectionMapsOptions.cxx +++ b/Detectors/TPC/calibration/src/CorrectionMapsOptions.cxx @@ -34,7 +34,6 @@ CorrectionMapsGloOpts CorrectionMapsOptions::parseGlobalOptions(const o2::framew tpcopt.enableMShapeCorrection = opts.get("enable-M-shape-correction"); tpcopt.enableSecEdgeFlucCorrection = !opts.get("disable-sec-edge-fluc-correction"); - tpcopt.enableIDCScalers = !opts.get("disable-IDC-scalers"); tpcopt.requestCTPLumi = !opts.get("disable-ctp-lumi-request"); tpcopt.checkCTPIDCconsistency = !opts.get("disable-lumi-type-consistency-check"); if (!tpcopt.requestCTPLumi && tpcopt.lumiType == LumiScaleType::CTPLumi) { @@ -52,7 +51,6 @@ void CorrectionMapsOptions::addGlobalOptions(std::vector& optio addOption(options, ConfigParamSpec{"disable-ctp-lumi-request", o2::framework::VariantType::Bool, false, {"do not request CTP lumi (regardless what is used for corrections)"}}); addOption(options, ConfigParamSpec{"disable-lumi-type-consistency-check", o2::framework::VariantType::Bool, false, {"disable check of selected CTP or IDC scaling source being consistent with the map"}}); addOption(options, ConfigParamSpec{"disable-sec-edge-fluc-correction", o2::framework::VariantType::Bool, false, {"Disable sector edge fluctuation correction"}}); - addOption(options, ConfigParamSpec{"disable-IDC-scalers", o2::framework::VariantType::Bool, false, {"Disable TPC scalers for space-charge distortion fluctuation correction"}}); } void CorrectionMapsOptions::addOption(std::vector& options, ConfigParamSpec&& osp) diff --git a/Detectors/TPC/workflow/include/TPCWorkflow/TPCScalerSpec.h b/Detectors/TPC/workflow/include/TPCWorkflow/TPCScalerSpec.h index 1208ae4cd2144..a2f972bfaea06 100644 --- a/Detectors/TPC/workflow/include/TPCWorkflow/TPCScalerSpec.h +++ b/Detectors/TPC/workflow/include/TPCWorkflow/TPCScalerSpec.h @@ -20,7 +20,7 @@ namespace o2 namespace tpc { -o2::framework::DataProcessorSpec getTPCScalerSpec(bool enableIDCs, bool enableMShape, const o2::tpc::CorrectionMapsGloOpts& sclOpts); +o2::framework::DataProcessorSpec getTPCScalerSpec(const o2::tpc::CorrectionMapsGloOpts& sclOpts); } // end namespace tpc } // end namespace o2 diff --git a/Detectors/TPC/workflow/src/RecoWorkflow.cxx b/Detectors/TPC/workflow/src/RecoWorkflow.cxx index 355bd0cb290f7..8173a8338ef59 100644 --- a/Detectors/TPC/workflow/src/RecoWorkflow.cxx +++ b/Detectors/TPC/workflow/src/RecoWorkflow.cxx @@ -201,7 +201,7 @@ framework::WorkflowSpec getWorkflow(CompletionPolicyData* policyData, std::vecto laneConfiguration, &hook}, propagateMC)); - specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpts.lumiType == o2::tpc::LumiScaleType::TPCScaler, sclOpts.enableMShapeCorrection, sclOpts)); + specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpts)); if (produceTracks && sclOpts.requestCTPLumi) { // need CTP digits (lumi) reader specs.emplace_back(o2::ctp::getDigitsReaderSpec(false)); } @@ -223,7 +223,7 @@ framework::WorkflowSpec getWorkflow(CompletionPolicyData* policyData, std::vecto if (!getenv("DPL_DISABLE_TPC_TRIGGER_READER") || atoi(getenv("DPL_DISABLE_TPC_TRIGGER_READER")) != 1) { specs.emplace_back(o2::tpc::getTPCTriggerReaderSpec()); } - specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpts.lumiType == o2::tpc::LumiScaleType::TPCScaler, sclOpts.enableMShapeCorrection, sclOpts)); + specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpts)); if (sclOpts.requestCTPLumi) { // need CTP digits (lumi) reader specs.emplace_back(o2::ctp::getDigitsReaderSpec(false)); } diff --git a/Detectors/TPC/workflow/src/TPCScalerSpec.cxx b/Detectors/TPC/workflow/src/TPCScalerSpec.cxx index 9ca483531fbcd..1c631255d1166 100644 --- a/Detectors/TPC/workflow/src/TPCScalerSpec.cxx +++ b/Detectors/TPC/workflow/src/TPCScalerSpec.cxx @@ -329,8 +329,10 @@ class TPCScalerSpec : public Task } }; -o2::framework::DataProcessorSpec getTPCScalerSpec(bool enableIDCs, bool enableMShape, const o2::tpc::CorrectionMapsGloOpts& sclOpts) +o2::framework::DataProcessorSpec getTPCScalerSpec(const o2::tpc::CorrectionMapsGloOpts& sclOpts) { + const bool enableIDCs = sclOpts.lumiType == o2::tpc::LumiScaleType::TPCScaler; + const bool enableMShape = sclOpts.enableMShapeCorrection; std::vector inputs; if (enableIDCs) { LOGP(info, "Publishing IDC scalers for space-charge distortion fluctuation correction"); diff --git a/Detectors/TPC/workflow/src/tpc-calib-gainmap-tracks.cxx b/Detectors/TPC/workflow/src/tpc-calib-gainmap-tracks.cxx index 138968cd6b517..00c4e35d88924 100644 --- a/Detectors/TPC/workflow/src/tpc-calib-gainmap-tracks.cxx +++ b/Detectors/TPC/workflow/src/tpc-calib-gainmap-tracks.cxx @@ -65,7 +65,7 @@ WorkflowSpec defineDataProcessing(ConfigContext const& config) const auto disablePolynomialsCCDB = config.options().get("disablePolynomialsCCDB"); const auto sclOpt = o2::tpc::CorrectionMapsOptions::parseGlobalOptions(config.options()); WorkflowSpec workflow; - workflow.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt.lumiType == o2::tpc::LumiScaleType::TPCScaler, sclOpt.enableMShapeCorrection, sclOpt)); + workflow.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt)); workflow.emplace_back(o2::tpc::getTPCCalibPadGainTracksSpec(publishAfterTFs, debug, useLastExtractedMapAsReference, polynomialsFile, disablePolynomialsCCDB)); return workflow; } diff --git a/Detectors/TPC/workflow/src/tpc-refitter-workflow.cxx b/Detectors/TPC/workflow/src/tpc-refitter-workflow.cxx index 1167ffe9adfd2..f7b49ce9fcf94 100644 --- a/Detectors/TPC/workflow/src/tpc-refitter-workflow.cxx +++ b/Detectors/TPC/workflow/src/tpc-refitter-workflow.cxx @@ -74,7 +74,7 @@ WorkflowSpec defineDataProcessing(ConfigContext const& configcontext) srcCls = srcCls | GID::getSourcesMask("CTP"); } - specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt.enableIDCScalers, sclOpt.enableMShapeCorrection, sclOpt)); + specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt)); o2::globaltracking::InputHelper::addInputSpecs(configcontext, specs, srcCls, srcTrc, srcTrc, useMC); o2::globaltracking::InputHelper::addInputSpecsPVertex(configcontext, specs, useMC); // P-vertex is always needed diff --git a/Detectors/TPC/workflow/src/tpc-scaler.cxx b/Detectors/TPC/workflow/src/tpc-scaler.cxx index 5086861739e18..1e149f65da6c9 100644 --- a/Detectors/TPC/workflow/src/tpc-scaler.cxx +++ b/Detectors/TPC/workflow/src/tpc-scaler.cxx @@ -35,6 +35,6 @@ WorkflowSpec defineDataProcessing(ConfigContext const& config) WorkflowSpec workflow; o2::conf::ConfigurableParam::updateFromString(config.options().get("configKeyValues")); auto sclOpt = o2::tpc::CorrectionMapsOptions::parseGlobalOptions(config.options()); - workflow.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt.enableIDCScalers, sclOpt.enableMShapeCorrection, sclOpt)); + workflow.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt)); return workflow; } diff --git a/Detectors/TRD/workflow/src/trd-tracking-workflow.cxx b/Detectors/TRD/workflow/src/trd-tracking-workflow.cxx index a3e57e67dbf8f..bc0da73c09dd5 100644 --- a/Detectors/TRD/workflow/src/trd-tracking-workflow.cxx +++ b/Detectors/TRD/workflow/src/trd-tracking-workflow.cxx @@ -116,7 +116,7 @@ WorkflowSpec defineDataProcessing(ConfigContext const& configcontext) // processing devices o2::framework::WorkflowSpec specs; if (!configcontext.options().get("disable-root-input")) { - specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt.lumiType == o2::tpc::LumiScaleType::TPCScaler, sclOpt.enableMShapeCorrection, sclOpt)); + specs.emplace_back(o2::tpc::getTPCScalerSpec(sclOpt)); } specs.emplace_back(o2::trd::getTRDGlobalTrackingSpec(useMC, srcTRD, trigRecFilterActive, strict, pid, policy, sclOpt.requestCTPLumi)); if (vdexb || gain) { diff --git a/GPU/TPCFastTransformation/CorrectionMapsTypes.h b/GPU/TPCFastTransformation/CorrectionMapsTypes.h index f50307a0f4707..94ea96c5ac7e5 100644 --- a/GPU/TPCFastTransformation/CorrectionMapsTypes.h +++ b/GPU/TPCFastTransformation/CorrectionMapsTypes.h @@ -43,7 +43,6 @@ struct CorrectionMapsGloOpts { bool requestCTPLumi = true; ///< request CTP Lumi regardless of what is used for corrections scaling bool checkCTPIDCconsistency = true; ///< check the selected CTP or IDC scaling source being consistent with mean scaler of the map bool enableSecEdgeFlucCorrection = true; ///< enable correction of sector edge fluctuations - bool enableIDCScalers = true; ///< enable TPC scalers for space-charge distortion fluctuation correction }; } // namespace o2::tpc #endif diff --git a/prodtests/full-system-test/dpl-workflow.sh b/prodtests/full-system-test/dpl-workflow.sh index 69ffcaf9ff378..66d66fc76cd10 100755 --- a/prodtests/full-system-test/dpl-workflow.sh +++ b/prodtests/full-system-test/dpl-workflow.sh @@ -372,12 +372,11 @@ GPU_CONFIG_SELF="--severity $SEVERITY_TPC" parse_TPC_CORR_SCALING() { -local IGNOREIDC=1 local CTPLUMY_DISABLED=0 while [[ $# -gt 0 ]]; do case "$1" in - --lumi-type=*) TPC_CORR_OPT+=" --lumi-type ${1#*=}"; [[ ${1#*=} == "2" ]] && { IGNOREIDC=0; }; shift 1;; - --lumi-type) TPC_CORR_OPT+=" --lumi-type ${2}"; [[ ${2} == "2" ]] && { IGNOREIDC=0; }; shift 2;; + --lumi-type=*) TPC_CORR_OPT+=" --lumi-type ${1#*=}"; shift 1;; + --lumi-type) TPC_CORR_OPT+=" --lumi-type ${2}"; shift 2;; --enable-M-shape-correction) TPC_CORR_OPT+=" --enable-M-shape-correction"; shift 1;; --corrmap-lumi-mode=*) TPC_CORR_OPT+=" --corrmap-lumi-mode ${1#*=}"; shift 1;; --corrmap-lumi-mode) TPC_CORR_OPT+=" --corrmap-lumi-mode ${2}"; shift 2;; @@ -385,7 +384,6 @@ while [[ $# -gt 0 ]]; do *) TPC_CORR_KEY+="$1;"; shift 1;; esac done -[[ $IGNOREIDC == 1 ]] && TPC_SCALERS_CONF+=" --disable-IDC-scalers" ! has_detector CTP && [[ ${CTPLUMY_DISABLED:-} != 1 ]] && TPC_CORR_OPT+=" --disable-ctp-lumi-request" TPC_SCALERS_CONF+=" ${TPC_CORR_OPT}" }