Skip to content

DPL: add wildcards when creating matchers via DataDescriptorQueryBuilder::parse#5413

Merged
ktf merged 1 commit intoAliceO2Group:devfrom
ktf:feat-concrete-data-orgin-wildcard
Feb 25, 2021
Merged

DPL: add wildcards when creating matchers via DataDescriptorQueryBuilder::parse#5413
ktf merged 1 commit intoAliceO2Group:devfrom
ktf:feat-concrete-data-orgin-wildcard

Conversation

@ktf
Copy link
Copy Markdown
Member

@ktf ktf commented Feb 9, 2021

No description provided.

@ktf ktf requested a review from a team as a code owner February 9, 2021 00:22
@ktf
Copy link
Copy Markdown
Member Author

ktf commented Feb 9, 2021

@shahor02 @chiarazampolli this is at least part of the puzzle. It will allow you to create InputSpecs which match description and subspec simultaneously via something like:

inputs = {
  {DataDescriptorQueryBuilder::parse("header:CALH")},
  {DataDescriptorQueryBuilder::parse("payload:CALP")}
}

it still requires WorkflowSerialization.cxx to handle it correctly, but I should be able to get it later this evening (I need to take the day off).

@shahor02
Copy link
Copy Markdown
Collaborator

shahor02 commented Feb 9, 2021

thanks, can you make it work also for outputs?

@chiarazampolli
Copy link
Copy Markdown
Collaborator

So this will take any pairs that have the data origin "CALH" and "CALP", and then same description and subSpec, right?

@ktf
Copy link
Copy Markdown
Member Author

ktf commented Feb 9, 2021

Yes.

@ktf
Copy link
Copy Markdown
Member Author

ktf commented Feb 10, 2021

@shahor02 this should work also for outputs, what do you get?

@shahor02
Copy link
Copy Markdown
Collaborator

will check later this evening

@ktf
Copy link
Copy Markdown
Member Author

ktf commented Feb 10, 2021

The correct syntax is actually:

DataDescriptorSpec{
{
  Inputs{DataDescriptorQueryBuilder::parse("header:CALH;payload:CALP")},
  ...
}
}

It however needs some fix in workflowSerialization.cxx, as I said. Looking into it.

@shahor02
Copy link
Copy Markdown
Collaborator

@ktf : It fails

Invalid workflow: No matching output found for <matcher query: (and origin::CLW (and description:$1 (and subSpec:$2 (just startTime:$0 ))))>. Candidates:
-DPL/ENUM/2564289612
-TOF/DATASIZE/0
-TOF/CALIBDATA/0
-CLP/TOF_LHCphase
-CLW/TOF_LHCphase

i.e. CLW/TOF_LHCphase was not matched to CLW

The test branch with my code + your commit from this PR is https://github.com/shahor02/AliceO2/tree/pr_clb1.
The inputs and outputs are defined here:
https://github.com/shahor02/AliceO2/blob/92147a54c67f5a220c736d58726b12f0c2ba10e6/Detectors/Calibration/workflow/CCDBPopulatorSpec.h#L81
https://github.com/shahor02/AliceO2/blob/92147a54c67f5a220c736d58726b12f0c2ba10e6/Detectors/TOF/calibration/testWorkflow/LHCClockCalibratorSpec.h#L107-L108

For the wildcarded output: how the DataDescriptorQueryBuilder::parse(... can be used for the OutputSpec if it returns InputSpec?

@ktf ktf merged commit 68461c3 into AliceO2Group:dev Feb 25, 2021
@ktf ktf deleted the feat-concrete-data-orgin-wildcard branch February 25, 2021 08:23
ktf added a commit that referenced this pull request Mar 2, 2021
ktf added a commit that referenced this pull request Mar 3, 2021
chiarazampolli added a commit to chiarazampolli/AliceO2 that referenced this pull request Mar 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants