Bug #4603
InputTag string parsing breaks for empty instance name
Description
Hi,
InputTag.h promises to parse strings in the form "label:instance:process".
That indeed works for input strings like "g4run:aaa:MyProcess".
However data products with an empty instance name are not treated properly.
A string "g4run::MyProcess" gives InputTag with instance=MyProcess instead
of the requested emtpy instance name.
Andrei
Associated revisions
History
#1 Updated by Christopher Green over 7 years ago
- Category set to Infrastructure
- Target version set to 401
- Estimated time set to 4.00 h
- Experiment Mu2e added
- Experiment deleted (
-)
Behavior verified and localized to behavior of general utility function cet::split
. Unfortunately, a survey of use of cet::split()
elsewhere indicates that the behavior here found to be undesirable is actually required other places it is used. This means that the undesirable behavior should be addressed in art::InputTag
, probably by using some other method than cet::split()
. Otherwise, one could envisage an overload of cet::split()
taking a dummy extra argument (say, cet::empty_fields
) with the desired behavior.
#2 Updated by Christopher Green over 7 years ago
- Status changed from New to Resolved
- Assignee set to Christopher Green
- % Done changed from 0 to 100
- SSI Package art added
- SSI Package deleted (
)
Call the correct Boost function instead of writing our own. Fix and test with bd636eb.
#3 Updated by Christopher Green over 7 years ago
- Status changed from Resolved to Closed
#4 Updated by Christopher Green about 7 years ago
- Target version changed from 401 to 1.08.09
Test and fix for issue #4603