Project

General

Profile

Feature #2352

ProductList to allow same module label, instance name and product type for different branch types.

Added by Christopher Green about 8 years ago. Updated over 4 years ago.

Status:
Closed
Priority:
Low
Assignee:
Category:
Navigation
Target version:
Start date:
01/04/2012
Due date:
09/30/2013
% Done:

100%

Estimated time:
8.00 h
Spent time:
Scope:
Internal
Experiment:
Mu2e
SSI Package:
art
Duration: 636

Description

This is an entirely artificial limitation within ProductList that mu2e has asked us informally to remove.

Associated revisions

Revision 01eb67ec (diff)
Added by Kyle Knoepfel almost 5 years ago

Implement issue #2352

History

#1 Updated by Christopher Green over 6 years ago

  • Due date set to 09/30/2013
  • Target version set to 1.09.00
  • Estimated time set to 8.00 h
  • Scope set to Internal
  • Experiment Mu2e added
  • SSI Package art added

#2 Updated by Christopher Green over 6 years ago

  • Status changed from New to Accepted

#3 Updated by Christopher Green about 6 years ago

  • Target version changed from 1.09.00 to 521

#4 Updated by Kyle Knoepfel about 5 years ago

  • Target version changed from 521 to 1.14.00

#5 Updated by Rob Kutschke almost 5 years ago

Neither Andrei nor I remember this one clearly. I think that the issue was that at one point we had a product in the Run object and realized that it belonged in the SubRun object. For reasons of backwards compatibility we wanted to have it in both places for a while. This was not possible because of the limitation discussed in this issue.

In the end our understanding of our use case evolved and we realized that what we really needed in the SubRun object was a different type - so the problem went away.

The bottom line is that this is not a priority for Mu2e. If the work is nearly done please just finish it - it does seem like "an entirely artificial limitation". If there is a lot of work to go, this can go on the back burner. Your call.

#6 Updated by Kyle Knoepfel almost 5 years ago

  • Status changed from Accepted to Assigned
  • Priority changed from Normal to Low

Thank you for the feedback, Rob. Since this request has been "on the books" for a while, I'd like to keep it targeted for the Canopus release, but with a priority of "low". This feature request will be bumped back to a later release if the May 1st Canopus release deadline is too difficult to meet.

For reasons of documentation, the necessary changes to art to enable this facility are:
  • adding an additional data member to BranchKey that corresponds to the BranchType, and
  • an appropriate I/O rule to enable backwards compatibility.

#7 Updated by Kyle Knoepfel almost 5 years ago

  • Assignee set to Kyle Knoepfel

#8 Updated by Kyle Knoepfel almost 5 years ago

  • Status changed from Assigned to Resolved
  • % Done changed from 0 to 100
The work required for implementing this feature was significantly underestimated. To implement it required various changes:
  • Adding the data member BranchType to the BranchKey
  • Implementing an IO rule that can translate between old versions of BranchKey and new ones
  • Adjusting the MasterProductRegistry to search for groups according to BranchType, a feature not previously required since all products had unique names.

With this commit it is now possible to do the following:

 class ToyProductProducer : public art::EDProducer {
  public:

    explicit ToyProductProducer( fhicl::ParameterSet const& )
    {
      produces<StringProduct,art::InRun   >();
      produces<StringProduct,art::InSubRun>();
      produces<StringProduct>(); // art::InEvent
    }
}

where the instance names can be the same for identical product types.

Implemented with art:commit:526c1e46a09e0dd770027353e7897453efe99f71.

#9 Updated by Christopher Green almost 5 years ago

  • Status changed from Resolved to Assigned
  • Target version changed from 1.14.00 to 765
  • % Done changed from 100 to 80

This was bumped due to a problematic merge with the development branch, which measure was seen to be preferable to delaying the release due to its lower priority.

#10 Updated by Christopher Green almost 5 years ago

  • Target version changed from 765 to 1.14.01

#11 Updated by Kyle Knoepfel almost 5 years ago

  • Target version deleted (1.14.01)

#12 Updated by Kyle Knoepfel almost 5 years ago

  • Status changed from Assigned to Resolved
  • % Done changed from 80 to 100

This feature has now been appropriately merged with the current HEAD of the develop branch.

Implemented with art:01eb67ec.

#13 Updated by Christopher Green almost 5 years ago

  • Target version set to 1.14.02

#14 Updated by Christopher Green almost 5 years ago

  • Target version changed from 1.14.02 to 1.14.03

#15 Updated by Christopher Green over 4 years ago

  • Target version changed from 1.14.03 to 1.18.00

#16 Updated by Kyle Knoepfel over 4 years ago

  • Target version changed from 1.18.00 to 1.16.00

#17 Updated by Christopher Green over 4 years ago

  • Status changed from Resolved to Closed


Also available in: Atom PDF