@@ -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