diff --git a/Detectors/ITSMFT/MFT/workflow/CMakeLists.txt b/Detectors/ITSMFT/MFT/workflow/CMakeLists.txt index 5f904c24011fb..30e7f5a42ca08 100644 --- a/Detectors/ITSMFT/MFT/workflow/CMakeLists.txt +++ b/Detectors/ITSMFT/MFT/workflow/CMakeLists.txt @@ -47,6 +47,11 @@ o2_add_executable(assessment-workflow COMPONENT_NAME mft PUBLIC_LINK_LIBRARIES O2::MFTWorkflow) +o2_add_executable(track-writer-workflow + SOURCES src/mft-track-writer-workflow.cxx + COMPONENT_NAME mft + PUBLIC_LINK_LIBRARIES O2::ITSMFTCAWriter) + o2_add_executable(cluster-writer-workflow SOURCES src/mft-cluster-writer-workflow.cxx COMPONENT_NAME mft diff --git a/Detectors/ITSMFT/MFT/workflow/src/mft-track-writer-workflow.cxx b/Detectors/ITSMFT/MFT/workflow/src/mft-track-writer-workflow.cxx new file mode 100644 index 0000000000000..973026ebf8f19 --- /dev/null +++ b/Detectors/ITSMFT/MFT/workflow/src/mft-track-writer-workflow.cxx @@ -0,0 +1,35 @@ +// Copyright 2019-2026 CERN and copyright holders of ALICE O2. +// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders. +// All rights not expressly granted are reserved. +// +// This software is distributed under the terms of the GNU General Public +// License v3 (GPL Version 3), copied verbatim in the file "COPYING". +// +// In applying this license CERN does not waive the privileges and immunities +// granted to it by virtue of its status as an Intergovernmental Organization +// or submit itself to any jurisdiction. + +#include "ITSMFTCAWriter/MFTCATrackWriterSpec.h" +#include "Framework/ConfigParamSpec.h" +#include "Framework/CompletionPolicyHelpers.h" + +using namespace o2::framework; + +void customize(std::vector& policies) +{ + // ordered policies for the writers + policies.push_back(CompletionPolicyHelpers::consumeWhenAllOrdered(".*(?:MFT|mft).*[W,w]riter.*")); +} + +void customize(std::vector& workflowOptions) +{ + workflowOptions.push_back(ConfigParamSpec{"disable-mc", o2::framework::VariantType::Bool, false, {"disable MC propagation even if available"}}); +} + +#include "Framework/runDataProcessing.h" + +WorkflowSpec defineDataProcessing(ConfigContext const& configcontext) +{ + auto useMC = !configcontext.options().get("disable-mc"); + return WorkflowSpec{o2::mft::getTrackWriterSpec(useMC)}; +}