Skip to content

Commit 1621666

Browse files
committed
MID: remove input wildcards in MID workflows
1 parent d9bbbfc commit 1621666

File tree

9 files changed

+42
-17
lines changed

9 files changed

+42
-17
lines changed

Detectors/MUON/MID/Workflow/include/MIDWorkflow/ColumnDataSpecsUtils.h

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,23 @@ namespace mid
4242
namespace specs
4343
{
4444

45-
/// Returns the input specs for MID Column Data and corresponding ROFs and labels
45+
/// Returns the input specs for MID Column Data and corresponding ROFs and labels for EventType Standard
4646
/// \param dataBind Data binding name
4747
/// \param dataDesc Input data description
4848
/// \param useMC Builds output specs for labels
4949
/// \return Vector of input specs
50-
std::vector<framework::InputSpec> buildInputSpecs(std::string_view dataBind, std::string_view dataDesc, bool useMC);
50+
std::vector<framework::InputSpec> buildStandardInputSpecs(std::string_view dataBind, std::string_view dataDesc, bool useMC);
5151

52-
/// Returns the input specs for MID Column Data and corresponding ROFs and labels
52+
/// Returns the input specs for MID Column Data and corresponding ROFs and labels for EventType Standard
53+
/// \param dataBind Data binding name
54+
/// \param dataDesc Input data description
55+
/// \param rofDesc Input ROF record description
56+
/// \param labelsDesc Input MC labels description
57+
/// \param useMC Builds output specs for labels
58+
/// \return Vector of input specs
59+
std::vector<framework::InputSpec> buildStandardInputSpecs(std::string_view dataBind, std::string_view dataDesc, std::string_view rofDesc, std::string_view labelsDesc, bool useMC);
60+
61+
/// Returns the input specs for MID Column Data and corresponding ROFs and labels for all three EventTypes
5362
/// \param dataBind Data binding name
5463
/// \param dataDesc Input data description
5564
/// \param rofDesc Input ROF record description

Detectors/MUON/MID/Workflow/src/ClusterizerSpec.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ framework::DataProcessorSpec getClusterizerSpec(bool isMC, std::string_view inDa
132132
if (isMC) {
133133
outputSpecs.emplace_back(of::OutputSpec{header::gDataOriginMID, "CLUSTERSLABELS"});
134134
}
135-
auto inputSpecs = specs::buildInputSpecs("mid_cluster_in", inDataDesc, inRofDesc, inLabelsDesc, isMC);
135+
auto inputSpecs = specs::buildStandardInputSpecs("mid_cluster_in", inDataDesc, inRofDesc, inLabelsDesc, isMC);
136136

137137
return of::DataProcessorSpec{
138138
"MIDClusterizer",

Detectors/MUON/MID/Workflow/src/ColumnDataSpecsUtils.cxx

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,14 +83,26 @@ std::string buildSelectors(std::string_view dataBind, std::string_view dataDesc,
8383
return selector;
8484
}
8585

86-
std::vector<framework::InputSpec> buildInputSpecs(std::string_view dataBind, std::string_view dataDesc, bool useMC)
86+
std::vector<framework::InputSpec> buildInputSpecs(std::string_view dataBind, std::string_view dataDesc, std::string_view rofDesc, std::string_view labelsDesc, bool useMC)
87+
{
88+
std::string selector;
89+
for (size_t ievt = 0; ievt < NEvTypes; ++ievt) {
90+
if (!selector.empty()) {
91+
selector += ";";
92+
}
93+
selector += buildSelectors(dataBind, dataDesc, rofDesc, labelsDesc, useMC, ievt);
94+
}
95+
return framework::select(selector.c_str());
96+
}
97+
98+
std::vector<framework::InputSpec> buildStandardInputSpecs(std::string_view dataBind, std::string_view dataDesc, bool useMC)
8799
{
88-
return buildInputSpecs(dataBind, dataDesc, getROFDescription(dataDesc), getLabelsDescription(dataDesc), useMC);
100+
return buildStandardInputSpecs(dataBind, dataDesc, getROFDescription(dataDesc), getLabelsDescription(dataDesc), useMC);
89101
}
90102

91-
std::vector<framework::InputSpec> buildInputSpecs(std::string_view dataBind, std::string_view dataDesc, std::string_view rofDesc, std::string_view labelsDesc, bool useMC)
103+
std::vector<framework::InputSpec> buildStandardInputSpecs(std::string_view dataBind, std::string_view dataDesc, std::string_view rofDesc, std::string_view labelsDesc, bool useMC)
92104
{
93-
std::string selector = buildSelectors(dataBind, dataDesc, rofDesc, labelsDesc, useMC);
105+
std::string selector = buildSelectors(dataBind, dataDesc, rofDesc, labelsDesc, useMC, 0);
94106
return framework::select(selector.c_str());
95107
}
96108

Detectors/MUON/MID/Workflow/src/DecodedDataAggregatorSpec.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ class DecodedDataAggregatorDeviceDPL
5858
mAggregator.process(data, inROFRecords);
5959
mTimerAlgo += std::chrono::high_resolution_clock::now() - tAlgoStart;
6060

61-
for (o2::header::DataHeader::SubSpecificationType subSpec = 0; subSpec < 3; ++subSpec) {
61+
for (o2::header::DataHeader::SubSpecificationType subSpec = 0; subSpec < NEvTypes; ++subSpec) {
6262
EventType evtType = static_cast<EventType>(subSpec);
6363
pc.outputs().snapshot(of::Output{o2::header::gDataOriginMID, "DATA", subSpec}, mAggregator.getData(evtType));
6464
pc.outputs().snapshot(of::Output{o2::header::gDataOriginMID, "DATAROF", subSpec}, mAggregator.getROFRecords(evtType));
@@ -79,7 +79,7 @@ framework::DataProcessorSpec getDecodedDataAggregatorSpec()
7979
{
8080
std::vector<of::InputSpec> inputSpecs{of::InputSpec{"mid_decoded", header::gDataOriginMID, "DECODED"}, of::InputSpec{"mid_decoded_rof", header::gDataOriginMID, "DECODEDROF"}};
8181
std::vector<of::OutputSpec> outputSpecs;
82-
for (o2::header::DataHeader::SubSpecificationType subSpec = 0; subSpec < 3; ++subSpec) {
82+
for (o2::header::DataHeader::SubSpecificationType subSpec = 0; subSpec < NEvTypes; ++subSpec) {
8383
outputSpecs.emplace_back(of::OutputSpec{header::gDataOriginMID, "DATA", subSpec});
8484
outputSpecs.emplace_back(of::OutputSpec{header::gDataOriginMID, "DATAROF", subSpec});
8585
}

Detectors/MUON/MID/Workflow/src/EntropyEncoderSpec.cxx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,10 @@ void EntropyEncoderSpec::endOfStream(EndOfStreamContext& ec)
102102
DataProcessorSpec getEntropyEncoderSpec(bool selIR, const std::string& ctfdictOpt)
103103
{
104104
std::vector<InputSpec> inputs;
105-
inputs.emplace_back("rofs", ConcreteDataTypeMatcher(header::gDataOriginMID, "DATAROF"), Lifetime::Timeframe);
106-
inputs.emplace_back("cols", ConcreteDataTypeMatcher(header::gDataOriginMID, "DATA"), Lifetime::Timeframe);
105+
for (o2::header::DataHeader::SubSpecificationType subSpec = 0; subSpec < NEvTypes; ++subSpec) {
106+
inputs.emplace_back("cols", header::gDataOriginMID, "DATA", subSpec, Lifetime::Timeframe);
107+
inputs.emplace_back("rofs", header::gDataOriginMID, "DATAROF", subSpec, Lifetime::Timeframe);
108+
}
107109

108110
if (ctfdictOpt.empty() || ctfdictOpt == "ccdb") {
109111
inputs.emplace_back("ctfdict", header::gDataOriginMID, "CTFDICT", 0, Lifetime::Condition, ccdbParamSpec("MID/Calib/CTFDictionaryTree"));

Detectors/MUON/MID/Workflow/src/FilteringBCSpec.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ class FilteringBCDeviceDPL
100100
of::DataProcessorSpec getFilteringBCSpec(bool useMC, std::string_view inDesc)
101101
{
102102

103-
auto inputSpecs = specs::buildInputSpecs("mid_filter_BC_in", inDesc, useMC);
103+
auto inputSpecs = specs::buildStandardInputSpecs("mid_filter_BC_in", inDesc, useMC);
104104
auto ggRequest = std::make_shared<o2::base::GRPGeomRequest>(false, // orbitResetTime
105105
false, // GRPECS=true
106106
true, // GRPLHCIF

Detectors/MUON/MID/Workflow/src/FilteringSpec.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ class FilteringDeviceDPL
143143
of::DataProcessorSpec getFilteringSpec(bool useMC, std::string_view inDesc, std::string_view outDesc)
144144
{
145145

146-
auto inputSpecs = specs::buildInputSpecs("mid_filter_in", inDesc, useMC);
146+
auto inputSpecs = specs::buildStandardInputSpecs("mid_filter_in", inDesc, useMC);
147147
inputSpecs.emplace_back("mid_bad_channels", header::gDataOriginMID, "BAD_CHANNELS", 0, of::Lifetime::Condition, of::ccdbParamSpec("MID/Calib/BadChannels"));
148148
inputSpecs.emplace_back("mid_rejectlist", header::gDataOriginMID, "REJECTLIST", 0, of::Lifetime::Condition, of::ccdbParamSpec("MID/Calib/RejectList"));
149149

Detectors/MUON/MID/Workflow/src/MaskMakerSpec.cxx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,10 @@ class MaskMakerDeviceDPL
145145
framework::DataProcessorSpec getMaskMakerSpec(const FEEIdConfig& feeIdConfig, const CrateMasks& crateMasks)
146146
{
147147
std::vector<of::InputSpec> inputSpecs;
148-
inputSpecs.emplace_back("mid_data", of::ConcreteDataTypeMatcher(header::gDataOriginMID, "DATA"), of::Lifetime::Timeframe);
149-
inputSpecs.emplace_back("mid_data_rof", of::ConcreteDataTypeMatcher(header::gDataOriginMID, "DATAROF"), of::Lifetime::Timeframe);
148+
for (o2::header::DataHeader::SubSpecificationType subSpec = 1; subSpec < NEvTypes; ++subSpec) {
149+
inputSpecs.emplace_back("mid_data", o2::header::gDataOriginMID, "DATA", subSpec, of::Lifetime::Timeframe);
150+
inputSpecs.emplace_back("mid_data_rof", o2::header::gDataOriginMID, "DATAROF", subSpec, of::Lifetime::Timeframe);
151+
}
150152

151153
std::vector<of::OutputSpec> outputSpecs{
152154
of::OutputSpec{header::gDataOriginMID, "MASKS", 1},

Detectors/MUON/MID/Workflow/src/ZeroSuppressionSpec.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ class ZeroSuppressionDeviceDPL
103103

104104
framework::DataProcessorSpec getZeroSuppressionSpec(bool useMC, std::string_view dataDesc)
105105
{
106-
auto inputSpecs = specs::buildInputSpecs("mid_zs_in", dataDesc, useMC);
106+
auto inputSpecs = specs::buildStandardInputSpecs("mid_zs_in", dataDesc, useMC);
107107
auto outputSpecs = specs::buildStandardOutputSpecs("mid_zs_out", "DATA", useMC);
108108

109109
return of::DataProcessorSpec{

0 commit comments

Comments
 (0)