@@ -80,16 +80,17 @@ const std::unordered_map<std::string, InputType> InputMap{
8080 {"clustershardware", InputType::ClustersHardware},
8181 {"clusters", InputType::Clusters},
8282 {"zsraw", InputType::ZSRaw},
83- {"compressed-clusters", InputType::CompClusters },
84- {"compressed-clusters-ctf ", InputType::CompClustersCTF },
85- {"compressed-clusters-flat", InputType::CompClustersFlat }};
83+ {"compressed-clusters-root ", InputType::CompClustersRoot },
84+ {"compressed-clusters-flat ", InputType::CompClustersFlat },
85+ {"compressed-clusters-flat-for-encode ", InputType::CompClustersFlatForEncode }};
8686
8787const std::unordered_map<std::string, OutputType> OutputMap{
8888 {"digits", OutputType::Digits},
8989 {"clustershardware", OutputType::ClustersHardware},
9090 {"clusters", OutputType::Clusters},
9191 {"tracks", OutputType::Tracks},
92- {"compressed-clusters", OutputType::CompClusters},
92+ {"compressed-clusters-root", OutputType::CompClustersRoot},
93+ {"compressed-clusters-flat", OutputType::CompClustersFlat},
9394 {"encoded-clusters", OutputType::EncodedClusters},
9495 {"disable-writer", OutputType::DisableWriter},
9596 {"send-clusters-per-sector", OutputType::SendClustersPerSector},
@@ -122,14 +123,19 @@ framework::WorkflowSpec getWorkflow(CompletionPolicyData* policyData, std::vecto
122123 throw std::invalid_argument("filtered-input option must be provided only with pass-through input and clusters,tracks,send-clusters-per-sector output");
123124 }
124125
125- bool decompressTPC = inputType == InputType::CompClustersCTF || inputType == InputType::CompClusters ;
126+ bool decompressTPC = inputType == InputType::CompClustersFlat || inputType == InputType::CompClustersRoot ;
126127 // Disable not applicable settings depending on TPC input, no need to disable manually
127128 if (decompressTPC && (isEnabled(OutputType::Clusters) || isEnabled(OutputType::Tracks))) {
128129 caClusterer = false;
129130 zsOnTheFly = false;
130131 propagateMC = false;
131132 }
132- if (inputType == InputType::ZSRaw || inputType == InputType::CompClustersFlat) {
133+ if (inputType == InputType::CompClustersFlatForEncode || inputType == InputType::CompClustersRoot || inputType == InputType::CompClustersFlat) {
134+ caClusterer = false;
135+ zsOnTheFly = false;
136+ propagateMC = false;
137+ }
138+ if (inputType == InputType::ZSRaw) {
133139 caClusterer = true;
134140 zsOnTheFly = false;
135141 propagateMC = false;
@@ -225,7 +231,7 @@ framework::WorkflowSpec getWorkflow(CompletionPolicyData* policyData, std::vecto
225231 if (sclOpts.requestCTPLumi) { // need CTP digits (lumi) reader
226232 specs.emplace_back(o2::ctp::getDigitsReaderSpec(false));
227233 }
228- } else if (inputType == InputType::CompClusters ) {
234+ } else if (inputType == InputType::CompClustersRoot ) {
229235 // TODO: need to check if we want to store the MC labels alongside with compressed clusters
230236 // for the moment reading of labels is disabled (last parameter is false)
231237 // TODO: make a different publisher spec for only one output spec, for now using the
@@ -248,8 +254,9 @@ framework::WorkflowSpec getWorkflow(CompletionPolicyData* policyData, std::vecto
248254 // output matrix
249255 // Note: the ClusterHardware format is probably a deprecated legacy format and also the
250256 // ClusterDecoderRawSpec
251- bool produceCompClusters = isEnabled(OutputType::CompClusters);
252- bool runGPUReco = (produceTracks || produceCompClusters || (isEnabled(OutputType::Clusters) && caClusterer) || inputType == InputType::CompClustersCTF) && inputType != InputType::CompClustersFlat;
257+ bool produceCompClustersRoot = isEnabled(OutputType::CompClustersRoot);
258+ bool produceCompClustersFlat = isEnabled(OutputType::CompClustersFlat);
259+ bool runGPUReco = (produceTracks || produceCompClustersRoot || produceCompClustersFlat || (isEnabled(OutputType::Clusters) && caClusterer) || inputType == InputType::CompClustersFlat) && inputType != InputType::CompClustersFlatForEncode;
253260 bool runHWDecoder = !caClusterer && (runGPUReco || isEnabled(OutputType::Clusters));
254261 bool runClusterer = !caClusterer && (runHWDecoder || isEnabled(OutputType::ClustersHardware));
255262 bool zsDecoder = inputType == InputType::ZSRaw;
@@ -460,13 +467,13 @@ framework::WorkflowSpec getWorkflow(CompletionPolicyData* policyData, std::vecto
460467 cfg.enableMShape = sclOpts.enableMShapeCorrection;
461468 cfg.enableCTPLumi = sclOpts.requestCTPLumi;
462469 cfg.decompressTPC = decompressTPC;
463- cfg.decompressTPCFromROOT = decompressTPC && inputType == InputType::CompClusters ;
470+ cfg.decompressTPCFromROOT = decompressTPC && inputType == InputType::CompClustersRoot ;
464471 cfg.caClusterer = caClusterer;
465472 cfg.zsDecoder = zsDecoder;
466473 cfg.zsOnTheFly = zsOnTheFly;
467474 cfg.outputTracks = produceTracks;
468- cfg.outputCompClusters = produceCompClusters ;
469- cfg.outputCompClustersFlat = runClusterEncoder;
475+ cfg.outputCompClustersRoot = produceCompClustersRoot ;
476+ cfg.outputCompClustersFlat = produceCompClustersFlat || runClusterEncoder;
470477 cfg.outputCAClusters = isEnabled(OutputType::Clusters) && (caClusterer || decompressTPC);
471478 cfg.outputQA = isEnabled(OutputType::QA);
472479 cfg.outputSharedClusterMap = (isEnabled(OutputType::Clusters) || inputType == InputType::Clusters) && isEnabled(OutputType::Tracks) && !isEnabled(OutputType::NoSharedClusterMap);
@@ -500,7 +507,7 @@ framework::WorkflowSpec getWorkflow(CompletionPolicyData* policyData, std::vecto
500507 //
501508 // selected by output type 'encoded-clusters'
502509 if (runClusterEncoder) {
503- specs.emplace_back(o2::tpc::getEntropyEncoderSpec(!runGPUReco && inputType != InputType::CompClustersFlat , selIR));
510+ specs.emplace_back(o2::tpc::getEntropyEncoderSpec(!runGPUReco && inputType != InputType::CompClustersFlatForEncode , selIR));
504511 }
505512
506513 //////////////////////////////////////////////////////////////////////////////////////////////
@@ -547,7 +554,7 @@ framework::WorkflowSpec getWorkflow(CompletionPolicyData* policyData, std::vecto
547554 // a writer process for compressed clusters container
548555 //
549556 // selected by output type 'compressed-clusters'
550- if (produceCompClusters && !isEnabled(OutputType::DisableWriter)) {
557+ if (produceCompClustersRoot && !isEnabled(OutputType::DisableWriter)) {
551558 // defining the track writer process using the generic RootTreeWriter and generator tool
552559 //
553560 // defaults
0 commit comments