@@ -38,7 +38,7 @@ using namespace o2::dataformats;
3838using namespace o2 ::gpu;
3939using CompletionPolicyData = std::vector<InputSpec>;
4040static CompletionPolicyData gPolicyData ;
41- static constexpr unsigned long gTpcSectorMask = 0xFFFFFFFFF ;
41+ static constexpr uint64_t gTpcSectorMask = 0xFFFFFFFFF ;
4242static std::function<bool (o2::framework::DataProcessingHeader::StartTime)>* gPolicyOrderCheck ;
4343static std::shared_ptr<GPURecoWorkflowSpec> gTask ;
4444
@@ -51,8 +51,8 @@ void customize(std::vector<ConfigParamSpec>& workflowOptions)
5151{
5252
5353 std::vector<ConfigParamSpec> options{
54- {" input-type" , VariantType::String, " digits" , {" digitizer, digits, zsraw, zsonthefly, clustersnative , compressed-clusters-root, compressed-clusters-ctf , trd-tracklets" }},
55- {" output-type" , VariantType::String, " tracks" , {" clustersnative , tracks, compressed-clusters-ctf, qa, no-shared-cluster-map, send-clusters-per-sector, trd-tracks, error-qa, tpc-triggers " }},
54+ {" input-type" , VariantType::String, " digits" , {" digits, zsraw, zsonthefly, clusters , compressed-clusters-root, compressed-clusters-flat , trd-tracklets, its-clusters, its-mean-vertex " }},
55+ {" output-type" , VariantType::String, " tracks" , {" cluster , tracks, compressed-clusters-root, compressed-clusters-flat, qa, error-qa, no-shared-cluster-map, send-clusters-per-sector, trd-tracks, tpc-triggers, its-tracks " }},
5656 {" corrmap-lumi-mode" , VariantType::Int, 0 , {" scaling mode: (default) 0 = static + scale * full; 1 = full + scale * derivative" }},
5757 {" disable-root-input" , VariantType::Bool, true , {" disable root-files input reader" }},
5858 {" disable-mc" , VariantType::Bool, false , {" disable sending of MC information" }},
@@ -62,6 +62,7 @@ void customize(std::vector<ConfigParamSpec>& workflowOptions)
6262 {" enableDoublePipeline" , VariantType::Bool, false , {" enable GPU double pipeline mode" }},
6363 {" tpc-deadMap-sources" , VariantType::Int, -1 , {" Sources to consider for TPC dead channel map creation; -1=all, 0=deactivated" }},
6464 {" tpc-mc-time-gain" , VariantType::Bool, false , {" use time gain calibration for MC (true) or for data (false)" }},
65+ {" filtered-output-specs" , VariantType::Bool, false , {" use filtered output specs for output DataDescriptions" }},
6566 };
6667 o2::tpc::CorrectionMapsLoader::addGlobalOptions (options);
6768 o2::raw::HBFUtilsInitializer::addConfigOption (options);
@@ -98,7 +99,7 @@ enum struct ioType { Digits,
9899 ZSRaw,
99100 ZSRawOTF,
100101 CompClustROOT,
101- CompClustCTF ,
102+ CompClustFlat ,
102103 Tracks,
103104 QA,
104105 ErrorQA,
@@ -108,6 +109,7 @@ enum struct ioType { Digits,
108109 SendClustersPerSector,
109110 ITSClusters,
110111 ITSTracks,
112+ MeanVertex,
111113 TPCTriggers };
112114
113115static const std::unordered_map<std::string, ioType> InputMap{
@@ -116,14 +118,17 @@ static const std::unordered_map<std::string, ioType> InputMap{
116118 {" zsraw" , ioType::ZSRaw},
117119 {" zsonthefly" , ioType::ZSRawOTF},
118120 {" compressed-clusters-root" , ioType::CompClustROOT},
119- {" compressed-clusters-ctf " , ioType::CompClustCTF },
121+ {" compressed-clusters-flat " , ioType::CompClustFlat },
120122 {" trd-tracklets" , ioType::TRDTracklets},
121- {" its-clusters" , ioType::ITSClusters}};
123+ {" its-clusters" , ioType::ITSClusters},
124+ {" its-mean-vertex" , ioType::MeanVertex},
125+ };
122126
123127static const std::unordered_map<std::string, ioType> OutputMap{
124128 {" clusters" , ioType::Clusters},
125129 {" tracks" , ioType::Tracks},
126- {" compressed-clusters-ctf" , ioType::CompClustCTF},
130+ {" compressed-clusters-flat" , ioType::CompClustFlat},
131+ {" compressed-clusters-root" , ioType::CompClustROOT},
127132 {" qa" , ioType::QA},
128133 {" error-qa" , ioType::ErrorQA},
129134 {" no-shared-cluster-map" , ioType::NoSharedMap},
@@ -135,7 +140,7 @@ static const std::unordered_map<std::string, ioType> OutputMap{
135140WorkflowSpec defineDataProcessing (ConfigContext const & cfgc)
136141{
137142 WorkflowSpec specs;
138- std::vector<int > tpcSectors (o2::tpc::Sector::MAXSECTOR);
143+ std::vector<int32_t > tpcSectors (o2::tpc::Sector::MAXSECTOR);
139144 std::iota (tpcSectors.begin (), tpcSectors.end (), 0 );
140145
141146 auto inputType = cfgc.options ().get <std::string>(" input-type" );
@@ -163,14 +168,14 @@ WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
163168 cfg.lumiScaleMode = sclOpt.lumiMode ;
164169 cfg.enableMShape = sclOpt.enableMShapeCorrection ;
165170 cfg.enableCTPLumi = sclOpt.requestCTPLumi ;
166- cfg.decompressTPC = isEnabled (inputTypes, ioType::CompClustCTF);
167171 cfg.decompressTPCFromROOT = isEnabled (inputTypes, ioType::CompClustROOT);
172+ cfg.decompressTPC = isEnabled (inputTypes, ioType::CompClustFlat) || cfg.decompressTPCFromROOT ;
168173 cfg.zsDecoder = isEnabled (inputTypes, ioType::ZSRaw);
169174 cfg.zsOnTheFly = isEnabled (inputTypes, ioType::ZSRawOTF);
170175 cfg.caClusterer = cfg.zsDecoder || cfg.zsOnTheFly || isEnabled (inputTypes, ioType::Digits);
171176 cfg.outputTracks = isEnabled (outputTypes, ioType::Tracks);
172- cfg.outputCompClusters = isEnabled (outputTypes, ioType::CompClustROOT);
173- cfg.outputCompClustersFlat = isEnabled (outputTypes, ioType::CompClustCTF );
177+ cfg.outputCompClustersRoot = isEnabled (outputTypes, ioType::CompClustROOT);
178+ cfg.outputCompClustersFlat = isEnabled (outputTypes, ioType::CompClustFlat );
174179 cfg.outputCAClusters = isEnabled (outputTypes, ioType::Clusters);
175180 cfg.outputQA = isEnabled (outputTypes, ioType::QA);
176181 cfg.outputErrorQA = isEnabled (outputTypes, ioType::ErrorQA);
@@ -186,6 +191,7 @@ WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
186191 cfg.tpcUseMCTimeGain = cfgc.options ().get <bool >(" tpc-mc-time-gain" );
187192 cfg.runITSTracking = isEnabled (outputTypes, ioType::ITSTracks);
188193 cfg.itsOverrBeamEst = isEnabled (inputTypes, ioType::MeanVertex);
194+ cfg.useFilteredOutputSpecs = cfgc.options ().get <bool >(" filtered-output-specs" );
189195
190196 Inputs ggInputs;
191197 auto ggRequest = std::make_shared<o2::base::GRPGeomRequest>(false , true , false , true , true , o2::base::GRPGeomRequest::Aligned, ggInputs, true );
@@ -217,12 +223,6 @@ WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
217223 taskPrepare->options ()});
218224 }
219225
220- if (!cfgc.options ().get <bool >(" ignore-dist-stf" )) {
221- GlobalTrackID::mask_t srcTrk = GlobalTrackID::getSourcesMask (" none" );
222- GlobalTrackID::mask_t srcCl = GlobalTrackID::getSourcesMask (" TPC" );
223- o2::globaltracking::InputHelper::addInputSpecs (cfgc, specs, srcCl, srcTrk, srcTrk, doMC);
224- }
225-
226226 // configure dpl timer to inject correct firstTForbit: start from the 1st orbit of TF containing 1st sampled orbit
227227 o2::raw::HBFUtilsInitializer hbfIni (cfgc, specs);
228228
0 commit comments