Project

General

Profile

Bug #24640

art::Selector broken in art v3_06_00

Added by Rob Kutschke 6 months ago. Updated 6 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Navigation
Target version:
Start date:
07/20/2020
Due date:
% Done:

100%

Estimated time:
Occurs In:
Scope:
Internal
Experiment:
Mu2e
SSI Package:
art
Duration:

Description

When we tried building the Mu2e code against art v3_06_00 we found two examples where we use art::Selector that now fail too compile.

Example 1:

art::ProductInstanceNameSelector s1("calorimeter");
art::ModuleLabelSelector s2("g4run");
art::Selector s3( s1 && !s2 );

Without the NOT operator, this example will compile.

Example 2:

art::ProductInstanceNameSelector s1("calorimeter");
art::ModuleLabelSelector s2("g4run");
art::Selector s3{ s1 };
if (some_condition){
s3 = s3 && s2;
}

The example will also fail without the condition test - it is included for context.

Please investigate and advise.

History

#1 Updated by Kyle Knoepfel 6 months ago

  • Assignee set to Kyle Knoepfel
  • Status changed from New to Assigned

#2 Updated by Kyle Knoepfel 6 months ago

  • % Done changed from 0 to 100
  • Status changed from Assigned to Resolved
  • Category set to Navigation
  • Experiment ANNIE added
  • Experiment deleted (-)
  • Occurs In 3.06.00 added

The errors you encountered above are due to different issues:

  • Using 's1 && !s2' to initialize a selector is an allowed construct--an inappropriately defined member function template is the culprit. That has been fixed.
  • The assignment 's3 = s3 && s2;' is not an allowed construct due to how 'Selector' is defined. If it is desired to overwrite the s3 selector object, then the object must be explicitly created:
    - s3 = s3 && s2;
    + s3 = art::Selector{s3 && s2};
    

Fixed with commit art:7c4f095.

#3 Updated by Kyle Knoepfel 6 months ago

  • Target version set to 3.06.01
  • SSI Package art added
  • Experiment Mu2e added
  • Experiment deleted (ANNIE)

We will tag art 3.06.01 and produce a new mu distribution.

#4 Updated by Rob Kutschke 6 months ago

Thanks for the fast turn around. Please let me know when the new mu distribution is ready.

#5 Updated by Lynn Garren 6 months ago

Rob, there are issues with ifdhc stemming from last weeks dcache updates. We are waiting for those to be resolved before we make a new ifdhc_art. We hope for a resolution in the next few days.

#6 Updated by Kyle Knoepfel 6 months ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF